Comment puis-je voir les messages d'erreur lorsque le site sur lequel je travaille reçoit un écran blanc?
25
Mettez cela au bas de settings.php:
error_reporting(-1); // Have PHP complain about absolutely everything
$conf['error_level'] = 2; // Show all messages on your screen, 2 = ERROR_REPORTING_DISPLAY_ALL.
ini_set('display_errors', TRUE); // These lines just give you content on WSOD pages.
ini_set('display_startup_errors', TRUE);
La ressource Écran blanc de la mort (page complètement vierge) sur drupal.org vous guidera à travers les étapes pour voir le message d'erreur ainsi que les problèmes courants qui les provoquent.
la source
Jetez un œil au journal des erreurs Apache, dans Ubuntu, il se trouve
/var/log/apache2/error.log
afin que vous puissiez faire:la source
sudo tail -f /var/log/apache2/error.log
J'ai trouvé un moyen facile de localiser les erreurs WSOD en exécutant l'ensemble du site via
drush
, par exemple:Après cela, accédez au site à la nouvelle adresse indiquée (par exemple
127.0.0.1:8080
), puis essayez de reproduire le problème, et vous verrez toutes les erreurs sur l'écran du terminal. Pas besoin de reconfigurer votre PHP, surtout en cas d'display_errors
échec (par exemple MAMP).Je l'ai trouvé autrement en utilisant des débogueurs, par exemple:
OS X:
Linux:
Remarque: changez
httpd
enphp
si vous utilisezdrush rs
comme ci-dessus.Ou installez l'
XDebug
extension PHP et générez un fichier de trace (xdebug.auto_trace=1
).la source
Si vous utilisez drush, vous pouvez voir des messages d'erreur à l'aide de la commande drush-ws.
la source
Je viens de changer la valeur variable $ update_free_access de FALSE en TRUE et d'exécuter le fichier update.php. Cela a résolu mon problème.
la source
Vous pouvez modifier index.php et terminer le code avec un try / catch. Comme ça:
Le message d'erreur affichera le fichier et la ligne de code qui ont provoqué l'erreur.
la source