環境
Ubuntu 16.04.5 LTS (Xenial Xerus)
Laravel Framework 5.6.26
状況
普通にコントローラーを作っていて、エディタ上ではエラーがないのでサーバーを立ち上げてみると、
「Namespace declaration statement has to be the very first statement or after any declare call in the script」
とエラーが出ました。
ググったら、
・namespaceの上に何も書くな
・<?php の上に何も書くな
みたいなことが書いてあったのですが、自分のコードを見た感じ問題なさそうだったが、、、
僕の解決策
<?php
の上に文字はないが、改行されていた。
まず、IPを確認
//ここは何もなく改行されていた。
<?php
//Bladeのテンプレートを使ってみるコントローラ
namespace App\Http\Controllers;
上記の何もない行をつめた。
<?php
//Bladeのテンプレートを使ってみるコントローラ
namespace App\Http\Controllers;
これでうまくいった。
感想
フレームワークとかではなくPHP単体で使っていた時は、
そんなことでエラーがでた記憶はないのだが、、、