IntelliJ IDEA13 PHP開発環境設定メモ

先日とうとう、IntelliJ IDEA13 ULTIMATEを購入しました。 これで「えっ。JetBrains勉強会とか開いておきながらCommunity Edition(無償版)なの・・・?」 と言われる日々とはもうおサラバです。

というわけで、早速PHP開発の設定を行ったのでメモ。

環境
Mac OS X 10.8.5
PHP 5.4.22
IntelliJ IDEA 13.0

PHPStorm7もおそらく同じだと思います。 参考になれば幸いです。

IntelliJ IDEA 初期設定

IDEA自体の初期設について。一応さくっと。 Macの方はPreferences -> keymap で KeymapsをMac OS X 10.5+に変更するといい感じです。 Eclipseからの移行の方ならEclipseがいいかも。 (いつの間にかEclipse (Mac OS X)なんてキーマップがある・・・!) 残念ながらVimキーマップはありません。「どうしてもVimっぽく使いたい!」という方はideaVimというプラグインを試してみてください。

あとはとりあえずPreferences -> Editor -> Appearanceの 「Show line number」「Show whitespaces」をONにしておいて、インターフェイスが黒い方がいい方はPreferences -> Appearance -> ThemeをDarculaに設定しておけばOK。

初期設定に関しては以下のクイックスタートが参考になります。 IntelliJ IDEA クイックスタート | サムライズム

(余談ですが13からは「Allow placement of caret after end of line」がデフォルトOFFになったそうですね。よかったよかった。)

PHP設定

ここから、PHP関連のメモです。

ローカルにPHP5.3+Apatcheの環境があるのですが、5.4を使ってみることにしました。 Homebrewでさくっとインストール。php.iniはとりあえずタイムゾーンだけ「Asia/Tokyo」に設定。

次はIntelliJ IDEAのPHP設定です。

Preferences -> PHP を開いて、PHP language levelを設定。 次にInterpreterの右の「…」をクリック。

Preferences

下記の画面が立ち上がるので、左上の「+」を押してInterpretersを追加。 Nameに適当な名前をいれて、PHP homeにPHPへのパスを入力。 使用するPHPバージョンがちゃんと下に表示されればOKです。

Interpreters

次にサーバー設定。 ビルトインサーバーで実行ができるよう設定します。

Run -> Edit Configurations を選択してRun/Debug Configurationsを起動。 左上の「+」をクリックして、Add New ConfigurationからPHP Buit-in Web Serverを選択。 (PHP Buit-in Web Serverが表示されていないようなら、一番下の30 more itemsをクリック。)

addnew1

Nameには適当な名前を入力。 Hostはlocalhost、ポート番号はデフォルトの80は他で使用しているため、8000に変更。 Document rootには動かしたいプロジェクトのドキュメントルートのパスを入力。

Run_Debug2

これでOKボタンを押下するとサーバーが追加され、実行(Run)できるようになります。

run3

ApacheなどのWebサーバーを準備しなくてもPHPの動作確認環境を作ることができました。 便利便利。

Xdebug設定

せっかくIDEを使うのだから、ブレイクポイントで実行を停めたい!ステップ実行したい!! 調べると、どうやらXdebugを使うといいらしい。ということでデバッガの設定もしました。

インストールはこちらもHomebrewでさくっと。

brew install php54-xdebug

/usr/local/etc/php/5.4/conf.d/ext-xdebug.ini

xdebug.remote_enable=1
xdebug.remote_port=9001

を追記。 (デフォルトのポート番号(9000)は何かとよく使うので9001に変更しておきました。)

ここで、

xdebug.remote_autostart=1
xdebug.profiler_enable=1

を設定するかどうかで迷いました。 デバッグとかプロファイラとかって必要な時だけOnにしたい気がするんだけど、どうしたら・・・と思い、とりあえずPHPサーバー起動時のオプション引数にしておいて、デバッグOnのもの、プロファイラもOnのもの・・・と複数サーバーを作成してみたのですが。

なんと、JetBrains公式にデバッガ、プロファイラのOn/Offを切り替えるブックマークレット生成ページがありました。

Zend Debugger & Xdebug bookmarklets generator for PhpStorm 

というわけで、ここで生成したブックマークレットをブックマークに登録しておいて、必要に応じてOnOff切り替えることにしました。めでたしめでたし。

Xdebugのインストールが完了した段階でIDEAのInterpretersを確認すると、Xdebugのバージョンが表示されていました。 自動検出してくれるらしいです。

Interpreters4

次はデバッガの設定。 Preferences -> PHP -> Debug でXdebugのポート番号を設定。 デフォルト値が9000なので、ポート番号を変更していない場合は特に設定の必要無し。

Preferences5

これで完了です。 ポート番号を変えたりしていなければ、特に設定することはないってことですね。 (ここはIDEではなくプロジェクトの設定なので、違うプロジェクトを作る毎に設定する必要があるので注意。)

これでデバッグセッションが開始されている状態でStart Listen for PHP Debug Connectionsボタンを押すと、デバッグ情報を受信するようになって、ブレイクポイントで実行を停めたり変数の中身を見たりできます。

未接続状態 run6

接続状態 run7

 

データベース(MySQL)接続も設定したのでそれも書くつもりだったのですが、長くなってしまったのでとりあえずここまで。

PHPJavaと同じIDEで快適に開発できるというのはやっぱり嬉しい! せっかく買ったのだし、しっかり活用していきたいと思います。

参考にしたサイト