php - 调试 Drupal 的白屏死机?

标签 php apache debugging drupal-6 wsod

我有一个 Drupal 安装,以前在我的本地主机上运行得很好。但是,现在,格式化我的计算机后,它只显示空白屏幕(完全白色)。

所以我的问题是,如果我什至无法登录服务器,我如何才能看到哪里出了问题?

我能找到的唯一错误是(取自 Apache 错误日志):

[Tue May 17 05:05:04 2011] [notice] Parent: child process exited with status 255 -- Restarting.
[Tue May 17 05:05:04 2011] [notice] Digest: generating secret for digest authentication ...
[Tue May 17 05:05:04 2011] [notice] Digest: done
[Tue May 17 05:05:07 2011] [notice] Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 configured -- resuming normal operations
[Tue May 17 05:05:07 2011] [notice] Server built: Dec 10 2008 00:10:06
[Tue May 17 05:05:07 2011] [notice] Parent: Created child process 6992

看门狗中没有错误...

我正在使用 Xamp 1.7.1 (PHP 5.2) 和 Drupal 6。

我还需要提一下,一旦我尝试在本地计算机上加载该网站,apache 也会崩溃!我添加了这个:

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

而且仍然只是显示死亡屏幕?我在哪里可以实际看到错误?

我还在 apache access.log 中发现了这一点:

127.0.0.1 - - [17/May/2011:05:22:14 +0200] "GET /greekmerchant/src/ HTTP/1.1" 200 3
127.0.0.1 - - [17/May/2011:05:25:45 +0200] "GET /greekmerchant/src/update.php HTTP/1.1" 302 -
127.0.0.1 - - [17/May/2011:05:25:46 +0200] "GET /greekmerchant/src/update.php?op=info HTTP/1.1" 200 -

...尝试访问 update.php 后。它也只是进入白屏。

我的 sql 配置文件中有这个:

[mysqld]
port= 3306
socket= "C:/xampp/mysql/mysql.sock"
basedir="C:/xampp/mysql" 
tmpdir="C:/xampp/tmp" 
datadir="C:/xampp/mysql/data"
skip-locking
key_buffer = 16M
max_allowed_packet = 128M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log_error="mysql_error.log"

还有...

[mysqldump]
quick
max_allowed_packet = 128M

此外,我的 PHP 内存设置为 1024MB。

有人知道为什么这会死吗?真的是内存问题吗?我还能做什么才能显示错误?即使启用错误日志记录后我仍然看不到任何内容。

更新:

如果我删除文件夹,该网站将在我的本地计算机上运行。因此,由于某种原因,当它必须访问文件夹中的文件时,它会耗尽内存。为什么?或者更好的是,什么可能导致内存的过度使用?

最佳答案

Drupal 手册中有整整一页专门用于调试“White Screen of Death”。简而言之,通过在 index.php 文件顶部添加以下内容来启用错误报告:

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

...并检查日志,您已经开始这样做了。大多数时候,这两个步骤往往可以查明问题。如果这没有给您带来解决方案,请继续阅读手册页面,获取更多提示。

如果我不得不大胆猜测,我会说你的情况可能是内存不足错误。

关于php - 调试 Drupal 的白屏死机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6025828/

相关文章:

java - IntelliJ "Debug info unavailable"- 如何修复?

php - 尝试让 Javascript 从多个选择框中选择每个子项

php - 在 codeigniter 中,我如何使用 where 子句进行连接

javascript - Node.js 服务器从 localhost 更改为 apache

apache - Windows 10 上的 MAMP - Apache Server 启动然后停止

debugging - GDB 在调试和程序输入之间切换

PHP DOM 解析器移动关闭 Div 标记

php - MySQL、UTF-8 和 Emoji 字符

java - 关闭 HttpClient 版本 4.0.3

javascript - Node JS - C++ 插件的测试策略