У меня есть скрипт PHP, который я пытаюсь запустить через cron. В cron у меня есть
php /home/dir/dir/foo.php
Когда команда запускается, журнал cron говорит:
Статус: 500 Внутренняя ошибка сервера
X-Powered-By: PHP / 7.1.16
Content-type: text / html; charset = UTF-8
Однако, если я просто запустил php /home/dir/dir/foo.php из командной строки, он будет работать нормально, без ошибок.
В том же каталоге есть еще один PHP-скрипт, который корректно работает через cron.
Дополнительная информация: скрипт, который не работает, находится вне корня документа, создает соединение с базой данных и подключается к API.
У меня нет большого опыта работы с cron, поэтому я, вероятно, настроил что-то не так, но меня озадачивает, почему эта же команда будет работать через CLI, а не через cron.
Я только что понял ответ. Я изменил "php" в записи crontab, чтобы он указывал на путь PHP 7.1, и теперь он работает.
0,15,30,45 * * * * / opt / alt / php71 / usr / bin / php /home/dir/dir/get_emails.php> / dev / null 2> & 1
Я бы получил думал, что php в CLI будет той же версией, что и php в cron, но, видимо, нет.