【问题标题】:Magento frontend not rendered until the endMagento 前端直到最后才渲染
【发布时间】:2013-02-21 08:08:24
【问题描述】:

我有一个非常有趣的问题,让我发疯。 :)

我在 CentOS 6.3 系统上设置 Magento 1.5。 Magento 后端正在工作,我有产品、用户,一切都设置好了。 当我打开我的前端时,它似乎坏了。应用了 CSS,第一部分(标题、菜单、搜索栏)被正确渲染,但在那之后,什么都没有……我首先以为我在索引或缓存,所以我重新索引了所有内容,我也清除了缓存。它没有帮助,所以我继续调查。

Firebug 告诉我页面失败并显示 500(内部服务错误) - 奇怪的是 Magento 没有告诉我这个,前端 HTML 文件看起来还不错,更糟糕的是,Apache 和 Magento 都没有日志显示什么!!! 我也用firebug发现服务器返回的html响应不完整,到这里就结束了:

<div class="category-products">


                        <ul class="products-grid">
                <li class="item first"><a href="http://...:8383/wobMagento/featured-products/item.html?___SID=U" title="Smoking" class="product-image"><img src="

就是这样,在 img src=" 部分之后,HTML 就完成了。似乎 Magento 正在抛出异常。

我认为这段代码是导致问题的原因:

   <li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
            <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(135); ?>" width="135" height="135" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /></a>

我不知道该怎么做,我会列出我做了什么:

  • 我清除了缓存
  • 我已重新索引所有内容
  • 我已为我的整个 magento 目录添加了 777 个权限
  • 我确定 apache 是我整个 magento 目录的所有者
  • 我调整了 ${magento}/media 的 .htaccess 文件,尝试使用默认值,添加了一些选项,删除了一些选项,甚至删除了它,这些操作都没有做出任何改变(或者,我能做到的最好是完全屏蔽所有图像)

我可以确认,在后端产品可用并且可以看到,并且不会发生 500 错误。我发现这个确切的产品失败了,我可以编辑它的标签,并且产品的图像显示在后端。

【问题讨论】:

  • 如果 /var/log 下的 error.log 和 system.log 为空,请尝试检查 apache 错误日志
  • Apache 日志中也没有任何有用的信息。
  • 在我的共享主机 cPanel -> PHP 选择器中,勾选了 GD。我仍然必须在 php.ini 文件中添加 'extension=php_gd2.dll' 才能使其工作。托管服务提供商也禁用了 phpinfo()。

标签: php apache magento magento-1.5


【解决方案1】:

检查您的服务器错误日志,它们可能包含与您的问题相关的有价值信息。

由于所有分解的行输出产品图像,这些图像使用 GD 库调整大小,我假设没有安装 GD 库。

确保您安装的 GD 库可运行。

【讨论】:

  • 我在看到您的回复之前就发现了这一点,但是是的,这就是答案。 yum install gd gd-devel php-gd 注意:正如我提到的,日志没有包含任何正确的信息。
  • 刚刚在现有站点迁移到的 CentOS 服务器上也遇到了这个问题。没有显示任何关于未安装 GD 的错误。我猜这是因为它在返回图像的上下文中抛出错误,所以它只显示一个空图像,但因为这是一个致命错误,所以页面的其余部分永远不会发送到输出。
【解决方案2】:

您是否为 magento 启用了开发人员模式以获取所有错误? http://www.blog.magepsycho.com/configuring-magento-for-development-debug-mode/

【讨论】:

    猜你喜欢
    • 2020-05-01
    • 2023-02-03
    • 2015-05-07
    • 2023-03-12
    • 2018-05-13
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多