これは遅いかもしれませんが、助けてくれました。ほとんどの場合、モジュールが原因で 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つの印刷ステートメントを追加してから、ページを更新しました.「Finish loading $module」ステートメントに到達しなかったモジュールが問題のあるモジュールです...私の場合はdevelでした.
モジュールを見つけたら、システム テーブルに移動してそのモジュールを探し、ステータス = 0 およびブートストラップ = 0 に設定するか、クエリを実行します。
UPDATE system SET status = 0, bootstrap = 0 WHERE name = 'module_name' LIMIT 1
参考:Drupal White Screen of Death (WSOD) のデバッグ