Не работает Cron, в Laravel 5.4 + Docker

372
06 марта 2017, 13:06

Обновили Laravel 5.3 до Laravel 5.4 используя этот контейнер https://github.com/shin1x1/docker-laravel-on-php7-apache

PHP изменилось с 5.X до 7. В кроне стояла такая задача

* * * * * php /var/www/laravel/artisan schedule:run >>/dev/null 2>&1

На предыдущем билде все работало нормально, а теперь перестало

Сама команда, если запустить ее из SSH

php /var/www/laravel/artisan schedule:run >>/dev/null 2>&1

работает нормально.

Если перенаправить вывод ошибок из крона в файл, например

  * * * * * php /var/www/laravel/artisan schedule:run > /etc/log/faillog 

То в файле получаем такое

/bin/sh: 1: php: not found

Вопрос - почему крон не видит PHP и куда копать?

Answer 1

/bin/sh: 1: php: not found

очевидно, что надо либо указать полный путь к программе php, узнать который можно, например, такой командой:

$ which php

либо добавить в начало файла с cron-заданием переопределение значения переменной окружения PATH:

PATH=значение

нужное значение можно узнать, например, такой командой:

$ echo $PATH

p.s. приведённые команды, естественно, надо выполнять внутри контейнера.

READ ALSO
unicode to decimal in php

unicode to decimal in php

Ребята, подскажите как конвертировать unicode в decimal?

264
Как вывести имена из базы MySQL?

Как вывести имена из базы MySQL?

Как вывести из базы в колонке xfields только слово после |label| не во всех ячейках они присутствуют

256
Возможно ли обновлять скрипт помимо AJAX?

Возможно ли обновлять скрипт помимо AJAX?

Я создаю Telegram бота, и вот для теста я хочу, чтобы он отвечал на сообщения в зависимости от контекстаНо вот в чем дело, сообщение от бота не отправится...

232
Как получить видео пользователей?

Как получить видео пользователей?

Как я понимаю, есть 2 типа каналов:

327