【问题标题】:Magento white screen of deathMagento白屏死机
【发布时间】:2013-03-06 06:59:49
【问题描述】:

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

但是在编译之后,我的站点的前端显示死机白屏,并且 apache 错误日志中没有生成任何错误。奇怪的是后端工作得非常好。

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

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

【问题讨论】:

    标签: php apache magento


    【解决方案1】:

    从这里重新发布我的答案。希望对你有帮助

    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到底发生了什么。

    【讨论】:

    • 这个技巧对我有用。我知道这不是内存错误,我也知道我没有编译我的代码。很好的提示。
    • 您会在哪里看到这些报告?在 exception.log 文件中看不到任何内容。谢谢:)
    【解决方案2】:

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

    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”文件。

    【讨论】:

      【解决方案3】:

      我从我的 var->cache 目录中删除了所有文件夹,前端开始工作。

      【讨论】:

        【解决方案4】:

        read,是你的Persistent Shopping Cart启用时造成的。

        System &gt; Configuration &gt; Persistent Shopping Cart &gt; General Options &gt; Enable Persistence 设置为禁用,然后重试。

        你可以看看here

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

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

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

            【讨论】:

              【解决方案7】:

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

              你可以

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

              【讨论】:

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