0

在我正在开发的 Drupal 7.x 项目中,我使用的是域访问模块。不知何故,当我尝试访问“设置”选项卡(管理员/结构/域/设置)时,我得到了一个 WSOD。

错误日志:

[2014 年 5 月 7 日星期三 11:20:08] [错误] [客户端 127.0.0.1] PHP 致命错误:调用 /var/www/MYDRUPALPROJECT/sites/all/modules/custom/domain_bonus/domain_bonus_login_restrict 中的未定义函数 object_log() /domain_bonus_login_restrict.module 在第 55 行,引用者:http://MYDRUPALPROJECT/en/admin/structure/domain

相关文件中的内容:

……

/**

*实现 hook_form_alter()。

*/

功能 domain_bonus_login_restrict_form_alter(&$form, &$form_state, $form_id) {

switch ($form_id) {

 .....

 // Provide option to enable / disable restriction on domain settings form.

 case 'domain_configure_form':

    (LINE 55:)      object_log('form_id ' . time(), $form_id);

 .....

此自定义模块是 contrib 模块的副本,仅进行了一些不涉及相关行的简单修改。

任何人都知道这可能是什么原因?我是否应该分享任何其他相关信息以帮助您理解这一点?

谢谢!

4

1 回答 1

0

解决了!

问题是 contrib 模块 Domain Bonus: Login Restrict 带有以下代码行:

object_log('form_id' .time(), $form_id);

object_log('form_state' .time(), $form_state);

object_log('form' .time(), $form);

这些行用于调试,可能在模块开发期间。

object_log() 函数是来自对象日志模块的函数,可用于调试,更具体地说,用于检查代码特定部分中的变量值。

因为在模块 .info 文件中没有定义 Domain Bonus: Login Restrict 模块依赖于 Object Log 模块,所以 Object Log 模块甚至没有安装在我们的项目中......在那种情况下,当读取该行时,Drupal崩溃。

所以,这个功能需要安装Object Log模块,这个模块需要Devel模块才能工作。或者只是评论或删除这些行。

干杯。

于 2014-05-08T08:37:17.630 回答