Cron作业PHP脚本不会运行
问题描述:
感谢您阅读本文。 我的问题是我不能让cron运行php脚本。 我不想要这份工作看起来像Cron作业PHP脚本不会运行
* * * * * lynx -dump http://www.somedomain.com/cron.php
or * * * * * wget http://www.somedomain.com/cron.php,
因为这样一来,按照我的理解将运行的Apache用户。 相反,我希望此文件具有750(外部不可见)权限,并让它以用户user_name的身份运行。 所以,我试图把设置在/ etc/crontab中:
*/1 * * * * php /var/www/site1/json_renew.php >/dev/null
or */1 * * * * /usr/bin/php /var/www/site1/json_renew.php
or */1 * * * * user_name php /var/www/site1/json_renew.php
or same from $crontab -e.
但剧本是不会运行,虽然它运行完美, 从命令行运行时:
$ php /var/www/site1/json_renew.php
谢谢!
答
我有类似的问题,直接访问网址时脚本运行良好,并且有时会运行,看似随机。原来这是主机服务器资源问题。当我通过2台计算机上的Putty通过SSH进行连接时,Hostgator不会运行cron作业。
在他们的帮助页面中,“SSH访问限于共享和经销商计划中的两个同时连接注意:配置的任何cron作业都需要这些会话中的一个才能运行,因为cron作业在同一个作业下运行shell作为SSH。“
当我关闭SSH连接时,cron作业立即运行。
也许你的房主有类似的规则?
如果您想以特定用户身份运行cron作业,请将其安装在该用户的crontab中。您可以登录到该用户并运行'crontab -e'。另外,您应该使用PHP的完整路径,如上面的第二个示例中所示。 –
@迈克尔Mior:感谢您的建议,但不会运行... –
我会作为根测试,也拿出输出的夹持和添加一个mailto,看看会发送什么(如果有的话) – 2011-09-18 23:52:54