「エックスサーバーでphp artisan migrateコマンドなどを実行するとPHP Parse errorエラーになる。」
「サーバーパネルでPHPのバージョンを変えても解決しない! 」
という場合にエラー対策に役立つ方法を紹介します。
【エラーメッセージ】
PHP Parse error: syntax error, unexpected ‘class’ (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or ‘{‘ or ‘$’ in ***** on line 33
このエラーは、コマンド上で使用されたphpのバージョンが古すぎるために起こった可能性があります。
まずは、コマンド上で php -v を実行してバージョンを確認してみてください。
Laravel8では7.3以上が必要になります。それより低いバージョンが使われている場合には、次のようにphpのバージョンを指定して実行してみてください。
■php7.4を指定して php artisan migrateを実行する場合
1 |
php7.4 artisan migrate |
なおcomposer installを実行する場合も、phpのバージョンが古すぎるとエラーになります。
composerコマンドの場合は、実行ファイルの場所も指定する必要があります。
コマンド上で which composer を入力して、composerの実行ファイルの場所を確認してください。たとえば、次のように表示されたとします。
この場合は、次のようにphpのバージョンと実行ファイルの場所を指定しつつ、composer install コマンドを実行します。
■php7.4を指定して composer install を実行する場合
1 |
php7.4 /usr/bin/composer install |
★エックスサーバーへのデプロイについては、他の記事でも解説してます。