Как я могу увидеть сообщения об ошибках, когда сайт, на котором я работаю, получает белый экран?
25
Поместите это внизу 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);
Ресурс «Белый экран смерти» (полностью пустая страница) на drupal.org поможет вам увидеть все сообщения об ошибках, а также распространенные проблемы, которые их вызывают.
источник
Посмотрите на журнал ошибок Apache, в Ubuntu он находится
/var/log/apache2/error.log
так, что вы можете сделать:источник
sudo tail -f /var/log/apache2/error.log
Я нашел простой способ отследить ошибки WSOD, запустив весь сайт
drush
, например:После этого зайдите на сайт по указанному новому адресу (например
127.0.0.1:8080
), затем попытайтесь воспроизвести проблему, и вы увидите все ошибки на экране терминала. Нет необходимости перенастраивать ваш PHP, особенно в тех случаях, когда происходитdisplay_errors
сбой (например, MAMP).Другой хитрый способ, который я нашел, используя отладчики, например:
OS X:
Linux:
Примечание: измените
httpd
на,php
если вы используете,drush rs
как указано выше.Или установить
XDebug
расширение PHP и сгенерировать файл трассировки (xdebug.auto_trace=1
).источник
Если вы используете drush, вы можете увидеть сообщения об ошибках, используя команду drush-ws.
источник
Я просто изменил значение переменной $ update_free_access с FALSE на TRUE и выполнил файл update.php. Это решило мою проблему.
источник
Вы можете изменить index.php и обернуть код с помощью try / catch. Так:
Сообщение об ошибке покажет файл и строку кода, вызвавшего ошибку.
источник