PHP Cronjob不执行
我正在运行Ubunutu Linux服务器、PHP5、Apache2,并且在通过crontab运行任何类型的cronjob时遇到了麻烦 我使用 crontab-e 我保存要运行的文件: */5****php/home/user/public_html/crx/cronx.php 这样可以省很多钱。我可以从控制台运行该文件,并且运行良好。我甚至找不到该文件的任何现有日志。我检查了cron是否正在运行,停止并启动。。。没有变化 当前的php文件只是一个简单的测试脚本,它在数据库中插入一行代码 我检查了该文件的权限,并已读写。我完全被难住了。我似乎无法通过cron得到任何东西。我可以运行一些东西来测试权限吗 编辑 我还尝试了以下命令PHP Cronjob不执行,php,linux,cron,Php,Linux,Cron,我正在运行Ubunutu Linux服务器、PHP5、Apache2,并且在通过crontab运行任何类型的cronjob时遇到了麻烦 我使用 crontab-e 我保存要运行的文件: */5****php/home/user/public_html/crx/cronx.php 这样可以省很多钱。我可以从控制台运行该文件,并且运行良好。我甚至找不到该文件的任何现有日志。我检查了cron是否正在运行,停止并启动。。。没有变化 当前的php文件只是一个简单的测试脚本,它在数据库中插入一行代码 我检查
- /usr/bin/php/home/user/public_html/crx/cronx.php
我使用where is php和where php来定位并确认它都在正确的区域运行您的时间有太多的
*
值
此外,cron可能没有正确设置路径来使用PHP
相反,请尝试:
*/5 * * * * /usr/bin/php /home/user/public_html/crx/cronx.php
其中/usr/bin/php
是php的实际路径。在控制台中,您可以运行哪个php
,查看应该使用的php二进制文件的路径
编辑:为了排除故障,这里还有两件事需要尝试:
# see if cron is running just by having it create a file
*/5 * * * * touch /tmp/crontab-$(date +%s)
另一种选择:
将PHP脚本的权限设置为755
,并将开头更改为:
#!/usr/bin/php -q
<?php
// rest of script
我仍然不确定cron是问题还是PHP脚本的运行 我使用PHP的完整路径查看了所有选项,发现它位于/usr/bin/PHP中,但仍然不起作用。我注意到有太多的星星,但在我的帖子中突出了,我检查了cron,它得到了正确的数量。有没有办法让我看到错误日志?或者发生了什么?如果还没有,让脚本通过echo输出一些内容。然后在crontab文件中添加MAILTO=username
或MAILTO=you@youremail.com
,它应该发送一封包含作业输出的电子邮件。您还可以尝试在脚本中创建一个文件,如touch('/tmp/cron-'.time())
以确认其正在运行。hmmm。添加邮件到=my@email.com到cron-tab文件,但什么都没有通过。我想我已经解决了。我在控制台用户下编辑crontab,当我使用sudo crontab-e时,它给了我一个不同的crontab文件。不。。。仍然没有给我任何邮件,没有任何迹象表明任何东西正在运行。
*/5 * * * * /home/user/public_html/crx/cronx.php