我们已将nginx用户设置为每隔5分钟运行以下命令。
sh /var/www/magento/cron.sh
这已经相当成功地执行了一段时间。在过去一个月左右的时间里,由于内存限制,每次都开始出错。我增加了内存限制,但这只会导致达到更高的限制。似乎一定存在更大的问题。错误始终如下。
Fatal error: Allowed memory size of 262144 bytes exhausted
(tried to allocate 7680 bytes) in /var/www/magento/app/Mage.php on line 589
以下是magento每隔五分钟开始运行的crons:
job: xmlconnect_notification_send_all
model: xmlconnect/observer::scheduledSend
file: /var/www/magento/app/code/core/Mage/XmlConnect/etc/config.xml
job: newsletter_send_all
model: newsletter/observer::scheduledSend
file: /var/www/magento/app/code/core/Mage/Newsletter/etc/config.xml
job: enterprise_staging_automates
model: enterprise_staging/observer::automates
file: /var/www/magento/app/code/core/Enterprise/Staging/etc/config.xml
答案 0 :(得分:1)
您的错误消息包含所有答案
允许的内存大小为262144字节耗尽
虽然262144字节似乎是一个很大的数字,但只有256KB或.25 MB左右
我相信Magento文档建议内存限制为256MB,512MB是更常见的。您需要确保您的命令PHP版本(或cron.sh
启动的命令行PHP)正确设置了memory_limit ini。这里常见的一个缺陷是省略M
,或使用MB
; Will not do what you want it to
memory_limit=256
memory_limit=256MB
因此请确保您的配置文件设置为此类
memory_limit=256M
答案 1 :(得分:0)
这是服务器设置问题。你的php CLI memory_limit设置得太低了。
将它弹回到256M。
如果您没有运行自己的服务器,则需要联系您的托管服务提供商。