这让我有点疯狂,而且我已经经历了各种各样的事情而没有触及解决方案;所以我可能错过了迄今为止我所做的一些细节。
我正在尝试在我的linux服务器上运行一个Cron作业我已经在数据中心运行了。所有我想要运行的是一个简单的PHP脚本,格式为:
* * * * * php -q /path/to/script/file.php
如果我手动输入php部分运行正常,但是当cron运行时没有任何反应;它似乎也在日志中运行得很好,没有错误。
如果我返回并使用crontab -e进行编辑,并将其放入
行* * * * * echo "test" > /tmp/test.txt
这似乎工作正常,它会创建文本文件。
有没有人以这种格式运行php脚本有任何问题?
(顺便说一句,我只是每分钟测试一次,它在任何时候都不起作用。)
感谢任何帮助。
答案 0 :(得分:2)
尝试用它的完整路径调用php,例如/ usr / bin / php
cron与用户配置文件不具有相同的环境变量,因此可能找不到可执行文件。
答案 1 :(得分:1)
尝试将完整路径放到php二进制文件(/ usr / bin / php或类似文件)
我的发行版中也没有'-q'标志。检查一下。
答案 2 :(得分:1)
也许你的PHP二进制文件不在你的PATH中。尝试使用完整路径:
* * * * * /path/to/php -q /path/to/script/file.php
答案 3 :(得分:1)
可能只是一些路径疯狂:我运行which php
然后将完整路径复制到cron。在我的一个方框上,它是/usr/bin/php
,所以你有:
* * * * * /usr/bin/php -q /path/to/script/file.php
尝试一下,看看它是否有帮助。
答案 4 :(得分:0)
您可能需要提供php二进制文件的完整路径
* * * * * /usr/bin/php -q /path/to/script/file.php