5

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

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

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

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

4

7 回答 7

16

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

管理员登录页面上的Magento白屏?

我遇到了同样的问题。实际上它更糟糕,因为它是一个商业产品,对我来说是一个新的主机,服务器配置非常奇怪。所以我不能让错误出现在任何日志文件中。

我发现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真正发生了什么。

于 2014-01-26T09:11:12.633 回答
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. 就我而言,它告诉我 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:39:59.240 回答
1

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

于 2016-05-01T06:28:26.000 回答
0

正如我所读到的,这是由您Persistent Shopping Cart启用时引起的。

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

你可以看看这里

于 2013-03-06T07:10:41.927 回答
0

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

define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat'); 
于 2013-03-06T13:38:57.753 回答
0

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

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

于 2013-03-07T07:46:19.800 回答
0

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

你可以

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