Я новичок в laravel и crontab. У меня есть проект laravel 8, и я хочу использовать cron для запуска запланированной задачи. Но я продолжаю получать ошибку. Задача, которую я поставил на вкладке cron, выглядит так:
* * * * * /usr/local/bin/php /home/mydirectory/path/to/project/artisan schedule:run >> /tmp/laravel.log
Но при его выполнении журнал выдает следующую ошибку.
Could not open input file: /home/mydirectory/path/to/project/artisan
Я попытался запустить задачу в терминале/командной строке, и она выполняется просто отлично. Странно то, что я смог запустить задание cron для моего предыдущего проекта laravel (хотя задание задания cron было удалено), но не для этого проекта. Я также использую chmod 755.
Я действительно запутался, что с этим не так:( Кстати, я использую macos и laravel 8.83. Спасибо за вашу помощь!
Решение проблемы
Основываясь на документации Laravel, вам нужно сначала изменить текущий каталог на корень проекта, а затем использовать команду, которую вы хотите запустить с помощью artisan.
https://laravel.com/docs/9.x/scheduling#running-the-scheduler
* * * * * cd /home/mydirectory/path/to/project && php artisan schedule:run >> /dev/null 2>&1
Комментариев нет:
Отправить комментарий