我正在尝试调试 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(这应该绰绰有余)。然而,我得到的唯一指示是 apache 访问日志中的状态 500 代码和来自 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
这是在具有以下 PHP 模块的 Ubuntu 12.04 x86_64 上:
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 之后更改设置,您可以添加
到 index.php。
Drupal 很复杂。空白的白页在 Drupal 社区中被亲切地称为“死亡白屏”(WSOD)。有关更多故障排除帮助,请参阅http://drupal.org/node/158043。