Cron忽略了PHP命令

时间:2015-11-25 15:49:42

标签: php cron debian

我有一个看起来像这样的crontab(可以是任何顺序 - 脚本可以是任何东西):

*/30 * * * * python /full/path/script.py > /full/path/log.log 2>&1
* * * * * /usr/bin/php -f /full/path/script.php > /full/path/log.log 2>&

Python命令可以正常工作,但PHP不会。

我做了什么:

  • 我在cron命令
  • 中使用二进制文件的完整路径
  • 我在PHP脚本的标题中添加了二进制文件的完整路径:

    #!/usr/bin/php
    <?php
    
  • 我已经仔细检查了所有路径(二进制,脚本)

  • 我已经仔细检查了PHP cli版本
  • 我已经仔细检查过PHP cli是否正常工作(我可以从shell运行脚本)
  • 我已启用PHP cli .ini文件中所有PHP错误的记录和显示
  • 我已检查过脚本的权限
  • 我已将脚本设为可执行文件
  • 我尝试过运行虚拟脚本(只是回显一些东西,或写一个文件)
  • 我重新启动了cron
  • 我已经仔细检查了日志文件(使用Python命令,而不是使用PHP命令)

发生了什么:

绝对没有!无论我在该文件中使用什么PHP命令,都没有任何反应。日志一直空着,什么都没有运行。

我在发布此内容之前已经搜索了很长时间,其他人也有类似的问题,但大部分时间它只是路径和/或权限问题。我认为这不是这种情况。

事实上一切都没有发生,这让我发疯。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这只是一个语法错误,正如评论中的mrun所指出的那样:

2>& instead of 2>&1

真的很愚蠢,但已经解决了!