shell_exec不能从crontab工作

时间:2015-01-06 20:15:17

标签: php cron crontab shell-exec

我看过他们不适合这种情况的其他答案。 我正在使用文件的完整路径。我复制的代码是简化的。

run.php包含:

shell_exec("php /var/www/html/sync/chourly.php $position $quotientx > /dev/null 2>/dev/null &");

如果我手动使用php run.php - 效果很好。 这是crontab -e上的一行:

05 * * * *  /usr/bin/wget -O /dev/null http://sync.eeeww.com/run.php

再次运行run.php文件但是chourly.php没有启动。我正在使用centOS 6 有什么建议吗? 另外:我检查了我使用ec2-user运行php run.php的权限,而crontab使用了相同的权限。它能够运行该文件,但shell_exec是问题发生的地方

1 个答案:

答案 0 :(得分:0)

/var/www/html/sync/chourly.php是否使用$SERVER['DOCUMENT_ROOT']?由于你明确地调用了php解释器(而不是mod_php),`$ SERVER [' DOCUMENT_ROOT']调用将无法正常工作。

尝试从shell手动运行cron以查看它失败的位置。

cd /
su - your_httpd_usersame -c "/usr/bin/wget -O /dev/null http://sync.bitpine.com/run.php"