【Laravel】XServerでのCronが動かない問題

こんにちは、フリーランスエンジニアの太田雅昭です。

XServer

XServerでは、CLIのPHPバージョンが古かったり、Composerが古かったりする問題がありました。それに関しては、以下で解説しています。

【Laravel】XServerで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を使用していたのだと思われます。ともあれひとまず安心です。