Magento如何调试空白的白色屏幕

时间:2011-01-24 16:04:04

标签: magento screen wsod

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

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

虽然没有记录错误?!

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

18 个答案:

答案 0 :(得分:56)

这就是我纠正的方式(希望能帮到你们):

  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. 在我的情况下,它告诉我错误/ 503.php不可用。

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

    1. 我删除了app / etc / modules / testimoanial.xml中的testimonial.xml文件。
    2. 删除“maintenance.flag”文件。

答案 1 :(得分:18)

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

Magento用自己的错误处理程序覆盖正常的错误处理程序,但是当错误是“内存不足”时,自定义处理程序无法运行,因此看不到任何内容。

答案 2 :(得分:12)

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

rm -rf var/cache/* 

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

答案 3 :(得分:6)

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

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

2)如果您正在处理xml文件,那么页面突然变为空白。检查您是否可能没有正确评论代码行。未公开的注释也会产生问题。

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

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

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

6)如果你的扩展在生产中使用ioncube loader,那么也在开发服务器上安装ion cube。(比如对于扩展软件扩展)。虽然你可能有离子立方体加载器尝试安装最新版本。因为有些时候你更新扩展这取决于离子立方体,与旧版本不兼容。

7)在php.ini中设置short_open_tag = On。有时开发人员使用<? ?>标签,如果short_open_tag未设置为开启,则可能会遇到半失真页面等问题。< / p>

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

答案 4 :(得分:4)

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

中的默认模板

答案 5 :(得分:3)

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

答案 6 :(得分:1)

当你没有加载正确的php扩展时也可能。如果不是内存限制问题,我会仔细检查你的系统上是否已经加载了所有必需的php扩展。

答案 7 :(得分:1)

我有同样的问题,重新安装我的主题

后解决了

答案 8 :(得分: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

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

答案 9 :(得分:0)

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

答案 10 :(得分:0)

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

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

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

答案 11 :(得分:0)

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

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

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

答案 12 :(得分:0)

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

答案 13 :(得分:0)

另一个原因

对于没有错误消息的白色屏幕可能是APC cache的碎片。

使用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并使用其集成的操作码缓存。

答案 14 :(得分:0)

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

最后我发现我需要使用admin layout&amp;模板&amp;你需要升级到新的Magento版本的皮肤。例如,在我的情况下,它是1.9.2.4

  • 使用adminhtml布局&amp;模板,使管理主题可以加载

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

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

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

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

最好是将版本控制用作GIT或SVN。

答案 15 :(得分:0)

在我的情况下,index.php文件的大小为零。我将原始文件复制回来并且有效。

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

答案 16 :(得分:0)

我的解决方案:通过系统激活插件 - &gt;配置&gt;高级&gt;先进

答案 17 :(得分:0)

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