CronからLaravel 5.5のArtisanコマンド実行でsyntax errorだと!?
またまた舞台は当サイトで利用している エックスサーバー 。 前回自作した Laravel 5.5 の Artisan コマンド を エックスサーバー の Cron 機能で実行したところ、以下のような エラー が表示されました。 Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in \path\to\artisan on line 33 エラーの原因と対策 原因 おかしい…原因がわからない。 上記のエラーメッセージで検索してみら、海外のサイトで気になる箇所を発見! どうやら、 PHP の バージョン が違うそうな。 Laravel 5.5 は PHP7 以降が必須であることは分かっている。 実際に、 PHP7.1 に切り替えて動いているし、昔 SSH の PHP の バージョン も変えた記憶はあるのでもう一度振り返ってみる。 Laravelを開発する上で、ComposerやArtisanなどのコマンドによる操作がどうしても必要になりますが、世の中のほとんどのレンタルサーバーではSSHを利用することができません。しかし、当サイトでも利用していて以前から紹介しているXSERVER(エックスサーバー)では... XSERVER(エックスサーバー)のSSHでPHPのバージョンを7に変更する方法 - Minory おっ!!確かに、この記事と全く同じ エラー の内容だ! とにかく、 Cron で PHP の バージョン を確認してみると…。 何!? ちゃんと PHP7 になってるじゃねーか! 対策 そうか、 共用サーバー だから cron が実行する バージョン とまた違うのだろうな。 勝手に納得して、 PHP の バージョン を指定する方法を エックスサーバー の公式サイトで調べました。 すると、ちゃんと方法があるではありませんか! レンタルサーバー「エックスサーバー」のご利用マニュアル|あらかじめ指定した時間に指定コマンド(プログラム)を自動的に実行...