如何修复导致wsod的magento中的致命错误?

时间:2012-10-01 22:07:42

标签: magento fatal-error magento-1.7 lightbox2 wsod

我正在使用Magento Community Edition 1.7.0.2。

通过缓存管理清除js / css缓存后,LightBox2停止工作。

我收到以下错误:

PHP Fatal error:  Call to a member function addItem() on a non-object in home/*******/public_html/app/code/community/IG/LightBox2/Block/Catalog/Product/View/Media/Gallery.php on line 163

前端现在只显示WSOD /空白页面。

我试过了:

  • 评论第162行& 163,
  • 清除缓存,
  • 登录/注销,
  • 取消注释index.php中的行以显示错误
  • 禁用模块,
  • 通过magento connect取消/重新安装

有关调试此问题的其他方面的任何建议吗?或者我应该从备份恢复?

1 个答案:

答案 0 :(得分:1)

首先,我建议与那些为您提供支持扩展的人联系。更好的Magento扩展店和独立开发者始终是帮助您解决问题的最佳人选。

至于您的具体问题,您的错误消息所抱怨的代码就在这里

foreach ($this->_jsList as $js)
    $this->getLayout()->getBlock('head')->addItem('skin_js', $js);

这意味着对$this->getLayout()->getBlock('head')的调用返回一个非对象,很可能是布尔“false”。

我想到这件事只有三个原因。

  1. 您在Magento未实例化“头部”对象的网页上使用此功能

  2. 您已安装的某些其他自定义/已安装的模块尝试重写page/html_head块类,但这样做不正确,以至于Magento无法实例化`page / html_head'块< / p>

  3. 您已安装的其他一些自定义/已安装模块删除头部块

  4. 缺乏对具有基本Magento技能的任何人的访问权限,我开始将您的系统和/或主题文件与标准安装区分开来。