LaravelのプロジェクトをapacheのWEBサーバを使ってブラウザで表示しようとすると、意図したとおりに表示されませんでした。apacheのログを見ると次のようなエラーが。
[Mon Mar 30 19:11:27.093989 2020] [:error] [pid 618] [client 192.168.100.12:61636] PHP Parse error: syntax error, unexpected '=' in /path/to/project/vendor/laravel/framework/src/Illuminate/Support/Arr.php on line 384
Laravelのバージョンは5.8.36です。
$php artisan --version
Laravel Framework 5.8.36
原因
apacheが使用するPHPのバージョンがLaravel 5.8の
動作条件(PHP >= 7.1.3)を満たしていませんでした。
|
phpinfo() |
apacheが使用するPHPのバージョンを7.0から7.2に変更します。
$sudo a2dismod php7.0
Module php7.0 disabled.
To activate the new configuration, you need to run:
systemctl restart apache2
$sudo a2enmod php7.2
Considering dependency mpm_prefork for php7.2:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering conflict php5 for php7.2:
Enabling module php7.2.
To activate the new configuration, you need to run:
systemctl restart apache2
$sudo service apache2 restart
設定変更後、phpinfo()で状態を確認します。
|
phpinfo() |
この修正で、Laravelのプロジェクトが問題なく表示されるようになりました。