Je suis nouveau sur drupal et je suis confronté à un problème alors que tout thème que j'essaie d'installer échouera avec le message suivant:
Installing light_skeleton
An error has occurred.
Please continue to the error page
An AJAX HTTP error occurred.
HTTP Result Code: 403
Debugging information follows.
Path: /core/authorize.php/core/authorize.php?batch=1&id=4&op=do_nojs&op=do
StatusText: Forbidden
ResponseText:
403 Forbidden
403 Forbidden
nginx/1.9.10
Le dossier racine appartient à www-data:www-data
et j'ai accordé 775 autorisations. J'ai également essayé de lui donner un accès complet au 777 mais sans succès. J'ai vérifié les journaux de nginx et de php mais aucune erreur ne s'affiche. Le site lui-même avec le thème standard fonctionne sans aucun problème.
Après avoir obtenu l'erreur, j'obtiens:
Notice: Undefined index: log in update_authorize_install_batch_finished() (line 291 of core/modules/update/update.authorize.inc).
Warning: Invalid argument supplied for foreach() in update_authorize_install_batch_finished() (line 291 of core/modules/update/update.authorize.inc).
Notice: Undefined index: log in update_authorize_install_batch_finished() (line 332 of core/modules/update/update.authorize.inc).
Notice: Undefined index: tasks in update_authorize_install_batch_finished() (line 333 of core/modules/update/update.authorize.inc).
Installation failed! See the log below for more information.
Il s'agit d'un problème de configuration de nginx et discuté en profondeur sur cette page Pourtant, curieusement, aucune solution solide n'a pu être proposée. Un gars sur une autre page a proposé une solution . J'ai appliqué cette solution proposée et je peux le confirmer dans les travaux!
Pour appliquer la solution proposée, allez dans votre fichier nginx configuration sous
/etc/nginx/sites-available/ sous Ubuntu et ajoutez
rewrite ^/core/authorize.php/core/authorize.php(.*)$ /core/authorize.php$1;
juste au-dessus de
location ~ \..*/.*\.php$ {
return 403;
}
bloquer. L'emplacement importe! .. Redémarrez votre serveur:
Redémarrage du service Sudo Nginx
et c'est tout. Le problème résolu!
Puisque vous obtenez un 403, il semble que Drupal ne vous donne pas accès pour une raison quelconque. Je n'ai aucune expérience pratique avec cela, mais en regardant dans le autorize.php
fichier j'ai trouvé ceci:
function authorize_access_allowed(Request $request) {
$account = \Drupal::service('authentication')->authenticate($request);
if ($account) {
\Drupal::currentUser()->setAccount($account);
}
return Settings::get('allow_authorize_operations', TRUE) && \Drupal::currentUser()->hasPermission('administer software updates');
}
Il semble que vous pourriez vous voir refuser l'accès si:
administer software updates
autorisationallow_authorize_operations
est défini sur false. Cela existerait dans votre settings.php
fichier AS $settings['allow_authorize_operations'] = FALSE;
La meilleure supposition est que c'est ce dernier qui pourrait être votre problème.