shell_exec не будет работать из crontab

0

Я просмотрел другие ответы, которые они не подходят для этого случая. Я использую полный путь к файлу. Скопированный мной код упрощен.

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 - это то место, где возникает проблема

  • 2
    так почему вы называете http // в cron?
  • 1
    @cpburnz не правильно
Показать ещё 5 комментариев
Теги:
cron
shell-exec
crontab

1 ответ

0

Является /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"
  • 0
    su -u httpd -c "/ usr / bin / wget -O / dev / null sync.bitpine.com/run.php " возвращает параметры и документацию для команды su. Не работает
  • 0
    Извините, я только что обновил синтаксис команды.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню