gpt4 book ai didi

php - Drupal 白屏死机 - 没有错误,错误已打开

转载 作者:可可西里 更新时间:2023-11-01 00:07:05 25 4
gpt4 key购买 nike

我在 Drupal 中打开了所有错误 (error_reporting(-1)),但由于某些原因,大多数错误不会出现在日志或屏幕上。我可以通过简单地将函数名称更改为其他名称来复制问题,并且我希望看到函数不存在错误,但我只是得到一个白屏。我曾尝试在 Drupal 框架之外复制它,但我做不到 - 所以它让我相信这不是我的 PHP 设置(Zend Server/Apache2/PHP/Windows),而是在 Drupal 的某个地方......

有什么想法吗?

最佳答案

我知道这可能会迟到,但它对我有帮助。大多数情况下,一个模块会导致 WSOD,我不能只禁用模块来测试它是哪个模块,因为我可能在此过程中丢失了数据。我所做的是在 module.inc 中编辑这个函数

function module_invoke_all($hook) {
$args = func_get_args();
// Remove $hook from the arguments.
unset($args[0]);
$return = array();
foreach (module_implements($hook) as $module) {

print "Starting loading $module <br />";

$function = $module . '_' . $hook;
if (function_exists($function)) {
$result = call_user_func_array($function, $args);
if (isset($result) && is_array($result)) {
$return = array_merge_recursive($return, $result);
}
elseif (isset($result)) {
$return[] = $result;
}
}

print "Finished loading $module <br />";

}

return $return;
}

然后我在上面的代码中添加了那 2 条打印语句,然后刷新页面,没有到达“完成加载 $module”语句的模块就是有问题的模块......在我的例子中是 devel .

找到模块后,您可以进入系统表并查找该模块,设置它的 status = 0 和 bootstrap = 0 或运行查询:

UPDATE system SET status = 0, bootstrap = 0 WHERE name = 'module_name' LIMIT 1

引用:Debugging Drupal White Screen of Death (WSOD)

关于php - Drupal 白屏死机 - 没有错误,错误已打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5276010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com