【问题标题】:Can't load main website or the Magento /admin page. Just loads as a blank page! Error log provided无法加载主网站或 Magento /admin 页面。只是加载为空白页!提供的错误日志
【发布时间】:2015-06-16 23:14:24
【问题描述】:

自从我尝试备份我们的 Magento 网站后,我们的网站一直处于关闭状态。这是我做的最后一件事可能会触发一些事情。我一整天都进行了其他更改,但只玩了一些扩展,这是在错误发生前几个小时。以下是错误日志的最后一项:

[16-Jun-2015 18:42:56 UTC] PHP 致命错误:调用成员函数 setLayer() 在一个非对象上 **public_html/app/code/core/Mage/Catalog/Block/Layer/View.php 第 134 行

进入了它的调用线路,但不知道如何处理它!甚至不确定这是否是此问题的直接原因。我觉得还是应该加载一些东西。

可能是我缺少的一些简单的东西,比如维护标志?

网站出现这种行为的任何其他原因?非常令人沮丧,我什至无法访问管理页面。我们所有其他子域网站也可以使用。

【问题讨论】:

  • 可能是当您进行备份时,它可能会导致缓存被清除,然后会显示因修改/添加扩展而引入的错误。要尝试的另一件事是手动清除缓存目录(谁知道呢,有时它只是有效!)
  • 首先打开错误报告。通常白屏死机是500错误。我不使用 magento,所以我不知道是否有一种简单的方法可以打开它,但是如果您直接编辑 index.php 文件并将 - ini_set('display_errors', 1); error_reporting(E_ALL); 添加到顶部,它应该会给您一个错误。请让我们知道那是什么。

标签: php magento fatal-error


【解决方案1】:

在我看来,在您对某些扩展进行编码的某个地方,您破坏了某些东西。当您拥有您认为是对象但实际上不是对象并且您在其上调用方法时会发生此错误。

例如,如果您有以下情况

<?php
$obj = function_to_get_object('name');
$obj->getName();

如果 function_to_get_object 不返回对象而是返回 NULL 或 false,则调用方法 getName 将失败,因为该变量不是对象而是 NULL 或 FALSE。

我无法看到 Magento 安装(没有自定义代码)会发生这种情况,除非您删除了文件或其他内容,并且基本安装找不到要包含或实例化对象的文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-03
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多