世の中 PHPStormで溢れてますけどね。
Netbeans 使い慣れてるからね、CakePHP も含めて。
Vagrant もね。Windows内で 仮想サーバーつくってたりするとね。
Windows 環境で、それ構築してるとまたいろいろネットの記事通りにいろいろやってハマるんですよ。
まあ、そんなこんなで、上記について、とりあえずはメモ。
前提
Windows7
NetBeans8.2
(プラグインとかよほどの事情がなければ8.2にすべき)
Vagrant 環境でフォルダ同期している
Vagrant内のサーバーは Apache2.2(または2.4)
上記の、xdebug 設定は 過去にやってある。
Laravel インストール
Vagrant内で、Laravel をインストール。これもかなりハマりポイントあるけど。
Laravel5.4で、 npm run dev が通るところまではやっといたほうが幸せ。
もちろん、開発環境前提なので、Vagrantで、windowsとフォルダ同期すること。
http://192.168.33.10/
とかで、Laravel画面が表示される状況にしましょう。
※ここまでたどり着かないとNetbeans云々の話ではない。
Netbeans のプロジェクト設定
(1)メニューで新規プロジェクトを追加
既存のソースを使用するアプリケーションを選択して、Vagrantと同期したフォルダを指定→ プロジェクト名とかは勝手に入る。
(2)実行方法 ローカルWEBサイトを選択
プロジェクトURLは、サーバー設定に依存するけど、hosts設定してるなら、そのホスト名(例1)で、そうでないなら、直接アドレスで(例2)。
例1 http://www.yourhost.local/
例2 http://192.168.33.10/
サブディレクトリ運用してるなら、後ろにプロジェクト名つける形
(3)開始ファイル を public/index.php にする
これ、ステップ実行のデバッグでプログラムの開始場所を知らせるのに必要っぽい。
で、このままNetbeansでデバッグ実行すると、たぶん
NotFoundHttpException
で死にます。
パスをみるとわかるんだけど、
http://(ドメイン)/public/index.php?XDEBUG_SESSION_START=netbeans-xdebug
の形になってる。
これ、public/index.phpを開始ファイルに指定するとこのような形になってしまうようなんです。
あまり美しくないけど、大きな害もないので、routerで、ルートにリダイレクトさせて回避する。
以下を先頭に追加
Route::get('/public/index.php', function () {
return redirect('/');
});
あとは、public/index.php のどこかでブレークポイント張って、確認すればOK。