Magento死亡的白色屏幕

时间:2013-03-06 06:59:49

标签: php apache magento

我正在尝试编译我的magento商店的代码。最初编译产生了一个错误,我追溯到Fooman Speedster高级模块。我完全从我的商店代码中删除了该模块,然后再次重新编译。这次编译成功完成,所有类(大约7500)都可以在/ includes / src /文件夹中看到。

然而,在编译之后,我的网站的前端显示死亡的白屏,并且在apache错误日志中没有生成错误。奇怪的是,后端工作得很好。

我还将php脚本的memeory限制增加到1024M,这样php的内存耗尽就不是问题了。

关于可能是什么问题或如何跟踪问题/错误的任何建议。

7 个答案:

答案 0 :(得分:15)

从这里重新发表我的回答。希望它会有所帮助

Magento white screen on Admin log in page?

我遇到了同样的问题。实际上它更糟糕,因为它是一个商业产品和一个新托管我真的奇怪的服务器配置。所以我无法在任何日志文件中出现错误。

正如我发现magento白色屏幕意味着发生了一些PHP致命错误。所以有一种适当的方式来展示它们。只需在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);
}

你会看到你的magento真正发生的事情。

答案 1 :(得分:5)

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

  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&#34;文件。

答案 2 :(得分:1)

我删除了var-&gt;缓存目录中的所有文件夹,并且前端开始工作。

答案 3 :(得分:0)

在我read时,它是由您的Persistent Shopping Cart启用时启用的。

System > Configuration > Persistent Shopping Cart > General Options > Enable Persistence设置为已停用,然后重试。

您可以查看here

答案 4 :(得分:0)

这是编译的常见问题,您可以通过编辑/includes/config.php暂时禁用编译并注释掉这些行:

define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat'); 

答案 5 :(得分:0)

经过大量的研究和测试,我得出的结论是,在编译时可能会有几个错误导致白屏死机。由于某种原因,这些不可见,让您不知道问题出在哪里。 在大多数情况下 - 自定义模块或已安装的模块是罪魁祸首。调试magento编译的唯一可靠方法是在xdebug配置中使用xdebug.scream = 1。这将尖叫出错误文件/原因然后可以处理。

可以在这里找到更好的解释: http://www.brimllc.com/2012/03/magento-fun-with-debugging-the-magento-compiler/

答案 6 :(得分:0)

在任何日志中都没有看到任何错误的另一个原因可能是APC缓存。 有关详细信息,请参阅我的Stackoverflow答案here

你可以

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