运行Magento';s cron.sh

运行Magento';s cron.sh,magento,cron,Magento,Cron,我们已将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

我们已将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设置为每五分钟运行一次的cron:

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

这是一个服务器安装问题。您的php CLI内存限制设置得太低

反弹到256米


如果您没有运行自己的服务器,则需要与主机提供商联系。

您的错误消息包含所有答案

已耗尽262144字节的允许内存大小

虽然262144字节看起来是个大数字,但它只是,或者大约是

我相信Magento文档建议内存限制为256MB,而512MB在野外更为常见。您需要确保您的命令PHP版本(或由
cron.sh
启动的命令行PHP)设置正确。这里一个常见的陷阱是省略
M
,或者使用
MB

; Will not do what you want it to
memory_limit=256
memory_limit=256MB
因此,请确保您的配置文件设置如下

memory_limit=256M

还请注意,在运行Magento时涉及到几个不同的php处理器。目前,在几个Linux发行版上,您可能对命令行(cli)、CGI(fastCGI)和Apache DSO模块php解释器有单独的配置。大多数人运行ApacheDSO和cli。网站前端和后端使用DSO设置,脚本(如shell/*、cron.php)从cli运行。您会发现在.htaccess中设置内存限制不会影响cli php解释器。使用每个解释器调用的phpinfo()将有助于解决内存限制故障。在本例中,nginx nix DSO“我增加了内存限制,但这只会导致达到更高的限制。”如果您的错误始终是“允许内存大小为262144”,则您没有增加内存限制。