我试图在Drupal应用程序中debugging一个破损的页面,并且很难让PHP吐出任何有用的东西。 我有以下设置:
error_reporting = E_ALL display_errors = On display_startup_errors = On log_errors = On error_log = /var/log/php/php_error.log
我有一个文件显示我phpinfo()确认这些variables设置正确的环境。 我已经增加了memory_limit到256M(这应该是绰绰有余)。 然而,我得到的唯一迹象是apache访问日志中的状态500代码和PHP中的空白白页。
Apache虚拟主机将LogLevel设置为debugging,错误日志仅输出:
[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 。