Я просмотрел другие ответы, которые они не подходят для этого случая. Я использую полный путь к файлу. Скопированный мной код упрощен.
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 - это то место, где возникает проблема
Является /var/www/html/sync/chourly.php, используя $SERVER['DOCUMENT_ROOT']
? Поскольку вы явно вызываете PHP-интерпретатор (а не mod_php), вызов $ SERVER ['DOCUMENT_ROOT'] не будет работать так, как вы ожидаете.
Попробуйте вручную запустить cron из оболочки, чтобы увидеть, где он не работает.
cd /
su - your_httpd_usersame -c "/usr/bin/wget -O /dev/null http://sync.bitpine.com/run.php"