题
我对WSOD有很多麻烦,并且环顾了很多帖子;像 带Devel模块的WSOD 和 如何看到错误消息,当我得到死亡的白屏? 以及 https://www.drupal.org/node/1692262
读完这些帖子后,最好的办法是卸载devel模块,一旦我这样做了WSOD就消失了,但是如果你需要devel模块怎么办?
我正在努力解决错误,并找出我出错的地方。Krumo不需要devel吗?
解决方案
这不是一个完整的解决方案,但可以提供帮助。
如果你想看一些东西,但不想花时间调查你的网站对devel模块的厌恶,那么drupal核心的 看门狗 打电话会有帮助的。此外,我假设您启用了dblog或weblog模块来捕获错误消息。为了使其更具可读性,就像krumo输出一样,我经常添加我的 解释一下 函数到某个地方的自定义模块。然后在我会用的地方 krumo($target);
我用 watchdog('bug_hunt', explain($target, 5, 'target') );
并转到/admin/reports/dblog并过滤bug_hunt。在这种情况下,5是任意的;4个步骤的东西可以让你 target->field_one[und][0][value] = Content
.由于我有这个函数用html换行符终止递归,所以它在日志页面中读得很好。
当我试图阐述没有krumo注入页面的流程(maestro模块工作流等)时,我开始这样做。从那时起,它一直是我可靠的回退方法。
更好的解决方案是花时间找到devel崩溃您的网站的原因,因为它可能是一个稍后会再次出现的问题。
不隶属于 drupal.stackexchange