LaravelのタイムスケジュールをXサーバで利用する際、多少苦戦したので、備忘録として投稿します。
【試した環境】
Xサーバ:プランX10
Laravel:ver7
PHP:ver7.4
【本文】
https://readouble.com/laravel/7.x/ja/scheduling.html
こちらでは、crontabに
「* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1」
と登録するように記載されているが、Xサーバは共有サーバであるため、crontabに登録する際、phpの場所とバージョンを指定してあげる必要がある。
調べてみると、「***** /path/php7.4 ~」のように先頭でphpを指定するとよいとあったが、エラーが発生。試行錯誤した結果、単純に「* * * * * cd /path-to-your-project && /path/php7.4 artisan schedule:run >> /dev/null 2>&1」とすると無事解決した。
【余談1】
https://www.xserver.ne.jp/manual/man_program_soft.php
こちらで、Xサーバのphpパスを確認できます。
【余談2】
「/dev/null」を変更すると、ログが取れるので原則設定しておいた方がいいと思います。