Lumenで、「Parse error: syntax error, unexpected ‘?’, expecting variable (T_VARIABLE) 」と出た時の対処方法

Lumenで、ローカル環境で問題なかったのに本番アップしたら「syntax error,」と出たので対処方法をメモします。

エラー内容

下記のようなエラーが出ました。

利用しているのは、Lumenの5.6です。

Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) 

エラー画面としては、Lumenのエラー表示ではなくPHP標準のエラーなので、Lumenを実行する前の段階でエラーになっているようでした。

対策

ネットで解決方法を探していると、PHPのバージョンが7.0じゃないかというスレッドを見つけて、PHPのバージョンを7.1.4にあげたところ、無事解決しました。

よくよくドキュメントを見ると、Homesteadを使っている場合は、Lumen 5.6の場合はPHPが7.1.3以上じゃないとダメとありました。

However, if you are not using Homestead, you will need to make sure your server meets the following requirements:

PHP >= 7.1.3
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Installation | Lumen

公開したサーバーはレンタルサーバーなのでHomesteadは使っていないはずなんですが、サーバー側の仮想環境の影響でしょうか。


わかってしまえば単純なところなんですが、同じような状況になった時の備忘録として。