【Laravel】XServerでのCronが動かない問題
こんにちは、フリーランスエンジニアの太田雅昭です。
XServer
XServerでは、CLIのPHPバージョンが古かったり、Composerが古かったりする問題がありました。それに関しては、以下で解説しています。
Cron動かない問題
サーバーパネルからGUIで以下のように設定しました。
cd /home/xxx/yyy/public_html && php artisan schedule:run >> /dev/null 2>&1
確認します。
ps aux | grep artisan
動いてません。一体どうしてなのか。色々調べてもわからなかったのですが、ふと思いつきました。
あれ、PHPのバージョンどうなってるんやろう。
以下のように、PHPのパスを指定してみました。
cd /home/xxx/yyy/public_html && /usr/bin/php8.3 artisan schedule:run >> /dev/null 2>&1
動きました。
原因
今回、phpのバージョン上げにはシンボリックリンクを~/bin/phpに指定するという方法をとっていました。しかしcronからの実行は、ユーザー関係ないのでしょうか。そのままデフォルトのphpを使用していたのだと思われます。ともあれひとまず安心です。