2012-10-01 32 views
0

我已经为Magento设置了每两小时运行的cronjob,这是我的主机可以设置的最快速度。然而,通讯不会被发送,直到我真的进入我的主机的控制面板,并点击特定cronjob的'运行'按钮。Magento cron作业只在明确运行时发送通讯

我做错了什么?我的cron路径设置为:/bin/sh /usr/www/users/FTP_USER/cron.sh

+0

这个问题为您的托管服务提供商 – Serjio

+0

难道你不觉得我已经问过他们吗?他们告诉我的是,cron被执行了,并且它在Magento的一边没有执行任何东西。 –

回答

0

我想这很可能是一种形式或其他形式的权限/ PATH问题。当您通过点击控制面板中的某些内容来手动触发事件时,它可能会以Apache用户身份运行(www-data或同等版本,具体取决于平台)。 cron很可能会以不同的用户身份运行。

假设您指的是核心新版本cron Mage_Newsletter_Model_Observer::scheduledSend,那么cwd对于相对包含路径是不正确的。这使得最可能的罪魁祸首成为a)。cron用户没有cron.sh的执行权限,b。)cron用户无权访问服务器上的邮件应用程序,因为它不包含在用户PATH。

0

以我的经验cron.sh脚本还没有达到它。因此我只运行cron.php。这需要php cli正确安装足够的RAM和明智的超时。

在crontab尝试:

* * * * * /usr/bin/php /home/USER/public_html/cron.php >> /home/USER/public_html/var/log/cron.log 2>&1 

我还留着一个日志文件中无功/日志/ cron.php,这样我可以看到一个cron作业中的错误。