Drupal Domain Access模块​​设置选项卡White Screen of Death WSOD

时间:2014-05-07 10:02:52

标签: drupal-7 wsod drupal-domain-access

在我正在开发的Drupal 7.x项目中,我正在使用Domain Access模块​​。 不知何故,当我尝试访问“设置”选项卡(admin / structure / domain / settings)时,我得到了一个WSOD。

错误日志:

[Wed May 07 11:20:08 2014] [error] [client 127.0.0.1] PHP致命错误:在/ var / www / MYDRUPALPROJECT / sites / all / modules / custom /中调用未定义的函数object_log()第55行的domain_bonus / domain_bonus_login_restrict / domain_bonus_login_restrict.module,referer:http:// MYDRUPALPROJECT / en / admin / structure / domain

相关文件中的内容:

...

/ **

*实现hook_form_alter()。

* /

function 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模块的副本,只有一些简单的修改,不涉及相关的行。

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

谢谢!

1 个答案:

答案 0 :(得分: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);

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

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

由于在模块.info文件中没有定义Domain Bonus:Login Restrict模块依赖于Object Log模块,因此对象日志模块甚至没有安装在我们的项目中......读取该行时的条件,Drupal崩溃。

因此,要使此功能工作,需要安装对象日志模块,此模块需要Devel模块才能工作。或者只是评论或删除这些行。

干杯。