48

我的 Magento 后端出现错误,导致出现空白屏幕 (WSOD)。我在 admin 中将错误设置为 on,但在 var/logs/ 中没有创建任何内容。(我已经检查了该目录的权限,一切都是正确的)。

我在 index.php 中也有 ini_set('display_errors', 1) 并且 Magento 设置为开发人员模式。我还启用了 apache 和 php 错误日志。

虽然没有记录错误?!

任何人都知道为什么没有显示错误?因为我很困惑!谢谢

4

18 回答 18

70

这就是我纠正它的方式(希望对你们有帮助):

  1. 在 index.php 文件中使用以下代码

    ini_set('error_reporting', E_ERROR);
    register_shutdown_function("fatal_handler");
    function fatal_handler() {
        $error = error_get_last();
        echo("<pre>");
        print_r($error);
    }
    
  2. 就我而言,它告诉我 error/503.php 不可用。

3.问题在于我使用的推荐扩展(http://www.magentocommerce.com/magento-connect/magebuzz-free-testimonial.html

  1. 我删除了 app/etc/modules/testimoanial.xml 中的 testimonial.xml 文件。
  2. 删除“maintenance.flag”文件。
于 2015-02-02T10:49:47.297 回答
19

每当发生这种情况时,我首先检查的是 PHP 内存限制。

Magento 用它自己的覆盖了正常的错误处理程序,但是当错误是“内存不足”时,自定义处理程序无法运行,所以什么也看不到。

于 2011-01-24T17:02:15.280 回答
13

同样的问题,我刚刚清除了缓存

rm -rf var/cache/* 

瞧!我不明白那是什么...

于 2012-12-12T14:42:12.460 回答
6

以下可能是magento中空白页的原因

1) 文件或目录权限问题。如果您要从一台服务器迁移到另一台服务器,请记住为目录和文件授予 755 权限

2) 如果您正在处理一个 xml 文件并且页面突然变为空白。检查您可能没有正确注释代码行。未关闭的注释也会产生问题。

3) 由于内存分配不足,可能会出现问题memory_limit

4) 尝试清除 var/cache 文件夹内容

5) 尝试清除 var/session 文件夹内容

6)如果您的扩展在生产中使用 ioncube loader,那么也在开发服务器上安装 ion cube。(就像扩展件扩展一样)。虽然您可能有 ion cube loader,但请尝试安装最新版本。因为有时您更新依赖于的扩展ion cube 与旧版本不兼容。

7)short_open_tag = On在 php.ini 中设置。有时开发人员会使用<? ?>标签,如果short_open_tag 没有设置,您可能会遇到页面半扭曲等问题。

8) 增加php 的max_input_varspost_max_size值。当您尝试在税收规则中保存大量税率并获得空白页时,它会有所帮助。

于 2014-05-09T10:33:39.483 回答
4

这可能就像模板冲突一样简单。恢复为默认模板System/Configuration/Design/Themes.

于 2012-03-28T02:29:01.427 回答
3

我也有同样的问题,但在禁用编译器并再次重新安装扩展后解决了。可以通过系统->配置->工具->编译来禁用编译器。这里禁用进程...祝你好运

于 2013-08-20T07:27:37.753 回答
1

我有同样的问题,重新安装我的主题后解决了

于 2012-11-27T16:58:35.200 回答
1

我也面临这个错误。该错误已通过更改 app\code\core\Mage\Adminhtml\Block\Widget\Grid.php 中核心函数 getRowUrl 的内容得到修复。核心函数是:

public function getRowUrl($item) 
{ 
$res = parent::getRowUrl($item); 
return ($res ? $res : ‘#’); 
}

替换为:

public function getRowUrl($item) 
{ 
return $this->getUrl(’*/*/edit’, array(’id’ => $item->getId())); 
}

更多详情: http ://bit.ly/iTKcer

享受!!!!!!!!!!!!!

于 2011-06-28T05:13:13.450 回答
1

当您没有加载适当的 php 扩展时,也可能出现这种情况。如果不是内存限制问题,我会仔细检查您的系统上是否加载了所有必需的 php 扩展。

于 2011-01-24T18:04:02.810 回答
0

正如你所说 - 这个问题有一个独立的答案。

更改主题后我遇到了同样的问题。内存之前设置为 1024,所以这不是问题。缓存已清除,错误日志中没有任何用处。

在我的情况下,解决方案是不同的 - 旧主题有自定义主页模板......将其切换到标准模板修复了它。

于 2013-10-06T11:55:11.587 回答
0

在将 magento 项目上传到我的网络服务器时,我也遇到了同样的问题,在我的情况下,zip 文件在上传过程中已损坏,并且我的许多 php 文件也已损坏。我已经通过ftp上传了。我已经找到了解决方案。如果您是从 linux 机器制作 zip 文件,请尝试使用命令行工具(例如:ie;

zip -r my_archive.zip /path/of/files/to/compress/ )

并从 Windows filezilla 客户端上传到您的 Web 服务器。

于 2012-08-12T11:57:01.390 回答
0

刚遇到这个问题,一整天都在解决它。尝试增加memory_limit,这对我有用!

于 2012-06-13T13:52:46.053 回答
0

这也可能是由于在调试页面时使用 xDebug 书签造成的。只需停止调试器(删除 cookie),它就会恢复正常。

于 2013-06-18T23:48:10.133 回答
0

另一个原因

对于没有错误消息的白屏可能是APC 缓存的碎片。

使用phpinfo()查看您的页面是否使用了它(我们遇到了 PHP 5.4 + APC 3.1.13 的问题),如果是,请查看当您使用时会发生什么

  • 通过 .htaccess 禁用它:php_flag apc.cache_by_default off
  • 每次调用页面时清除 apc 缓存:在 index.php 的顶部添加apc_clear_cache();(没有解决方案,但很好看是不是 APC 的问题)

如果您确实有 APC 并且问题所在,那么您可以

  • 玩弄它的设置,这可能很麻烦而且根本不起作用
  • 只需更新到 PHP 5.5 并改用其集成的操作码缓存。
于 2015-11-19T12:40:47.747 回答
0

在我的情况下, index.php 文件的大小为零。我将原始文件复制回来,它工作。

但是,不知道是什么删除了 index.php 的内容。

于 2017-08-03T13:28:13.060 回答
0

有时会发生这种情况,因为模板设置中不允许使用符号链接: Advanced > Developer > Template Settings > Allow Symlinks

于 2017-09-12T07:55:38.727 回答
0

我的解决方案:通过 System -> Config > Advanced > Advanced 激活插件

于 2017-08-24T00:01:28.827 回答
0

我尝试了所有建议的解决方案,但没有运气。

最后我发现我需要使用需要升级到的新 Magento 版本的管理布局和模板和皮肤。例如在我的情况下它是 1.9.2.4

  • 使用 adminhtml 布局和模板使 admin 主题可加载

-- 基本上,获取所有文件(来自新版本的 app/design/adminhtml/default),将它们复制并粘贴到当前站点的文件夹 app/design/adminhtml/default 以替换所有旧文件(如果有)

  • 使用adminhtml皮肤使admin主题可以正确显示

-- 基本上,获取所有文件(从新版本的 skin/adminhtml/default 中),将这些文件复制并粘贴到当前站点的文件夹 skin/adminhtml/default 以替换所有旧文件(如果有)

当然,请记住在执行此操作之前进行备份。

最好的方法是使用版本控制作为 GIT 或 SVN。

于 2016-07-19T10:32:18.253 回答