Magento致命错误lib / Varien / Image / Adapter / Gd2.php

时间:2012-05-02 06:29:13

标签: php magento magento-1.5 out-of-memory

我们在Magento管理员中添加了一些产品并上传了一些产品图片。之后我的产品列表页面是空白的。所以我检查了我的error_log文件,我看到了以下错误。

PHP Fatal error:  Out of memory (allocated 190578688) (tried to allocate 7896 bytes) in /public_html/lib/Varien/Image/Adapter/Gd2.php on line 44

所以我禁用了所有最后添加的产品。清除缓存。重新编制索引,启用缓存。

我的内存限制= 512M

这到底是什么意思。有人有解决方案请发布。

3 个答案:

答案 0 :(得分:4)

190578688字节是181 MB。这意味着

  1. 您的服务器受物理RAM限制。你可以在php.ini中设置你喜欢的任何内容,但是操作系统无法使用RAM

  2. 某些东西(.htaccess,ini_set调用,不同的php.ini)覆盖你设置的512 MB

  3. 您在日志中看到的错误与其他问题有关

  4. 要检查#3,请在index.php中启用开发者模式,并将display_errors ini文件设置为“1”,然后尝试加载产品页面。这应该将您的错误直接输出到浏览器。

答案 1 :(得分:1)

这似乎是常见的事情。我们有一个在弱服务器上运行的商店。每页大约有30个“大”缩略图,大约有60个“小”缩略图和大约90个大图像。添加5-10个产品后,我们得到了同样的错误。

其中一个wodoo-magic将是刷新页面,直到服务器上的用户数量很少,希望PHP有足够的内存来改变图像的大小。哈哈:D

更好的解决方案是将图像源更改为最差质量,因此PHP不会遇到大的JPEG或PNG。或者在上传到所需大小之前调整图像大小。

最好的解决方案可能是编写一些cron-walker,它会检查已调整大小的图像,如果在缓存中没有这样的图像,它就会成功。

答案 2 :(得分:0)

删除目录中大于350Kb的图像。

同样在系统/配置/常规/设计中用于水印的图像并以jpg格式上传优化的图像。这对我有用了!