我看过他们不适合这种情况的其他答案。 我正在使用文件的完整路径。我复制的代码是简化的。
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是问题发生的地方
答案 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"