Назад | Перейти на главную страницу

PHP отображает пустую белую страницу даже при включенных отчетах об ошибках

Я пытаюсь отладить сломанную страницу в приложении Drupal, и мне трудно заставить PHP выплюнуть что-нибудь полезное. У меня такой набор:

error_reporting = E_ALL
display_errors = On
display_startup_errors = On
log_errors = On
error_log = /var/log/php/php_error.log

У меня есть файл, показывающий мне phpinfo (), который подтверждает, что эти переменные установлены правильно для среды. Я увеличил memory_limit до 256M (этого должно быть более чем достаточно). Тем не менее, единственное указание, которое я получаю, - это код статуса 500 в журнале доступа apache и пустая белая страница из PHP.

У виртуального хоста Apache LogLevel установлен для отладки, а журнал ошибок выводит только:

[Sat Jun 16 20:03:03 2012] [debug] mod_deflate.c(615): [client 173.8.175.217] Zlib: Compressed 0 to 2 : URL /index.php, referer: http://ec2-174-129-192-237.compute-1.amazonaws.com/admin/reports/updates
[Sat Jun 16 20:03:03 2012] [error] [client 173.8.175.217] File does not exist: /var/www/favicon.ico
[Sat Jun 16 20:03:03 2012] [debug] mod_deflate.c(615): [client 173.8.175.217] Zlib: Compressed 42 to 44 : URL /favicon.ico

Журнал ошибок PHP вообще ничего не выводит. Ядро и системный журнал не показывают ничего, связанного с Apache или PHP. Я также попытался установить suphp, и проверка его журнала просто подтверждает, что пользователь работает правильно:

[Sat Jun 16 20:02:59 2012] [info] Executing "/var/www/index.php" as UID 1000, GID 1000
[Sat Jun 16 20:05:03 2012] [info] Executing "/var/www/index.php" as UID 1000, GID 1000

Это на Ubuntu 12.04 x86_64 со следующими модулями PHP:

ii  php5                             5.3.10-1ubuntu3.1          server-side, HTML-embedded scripting language (metapackage)
ii  php5-cgi                         5.3.10-1ubuntu3.1          server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                         5.3.10-1ubuntu3.1          command-line interpreter for the php5 scripting language
ii  php5-common                      5.3.10-1ubuntu3.1          Common files for packages built from the php5 source
ii  php5-curl                        5.3.10-1ubuntu3.1          CURL module for php5
ii  php5-gd                          5.3.10-1ubuntu3.1          GD module for php5
ii  php5-mysql                       5.3.10-1ubuntu3.1          MySQL module for php5

Итак, что мне здесь не хватает? Почему нет отчетов об ошибках?

Сам Drupal изменяет настройки отчетов об ошибках и отображения, что происходит после обработки ini-файла (в котором находятся ваши настройки). Чтобы изменить настройки после того, как drupal сделает, вы можете добавить

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

в index.php.

Drupal сложен. Пустая белая страница в сообществе Drupal ласково известна как «белый экран смерти» (WSOD). Видеть http://drupal.org/node/158043 для получения дополнительной помощи по устранению неполадок.