基本的にウェブの開発環境は仮想環境で実行しているんだけどPhpStormで開発しているときはホストOSに実行環境があると便利なのでhomebrewで環境構築してみたメモ。
環境
- Mac OS X 10.8.2
- Homebrew + phpjosegonzalez/homebrew-php
- PhpStorm 5.0.4
PHPのバージョンを細かく管理するならphpbrewだが、ただPhpStormから使いたかっただけなのでjosegonzalezさんのFomuraで手っ取り早く構築する。
PHP 5.4のインストール
PHP5.4でビルトインのウェブサーバが追加されてちょっとした確認のときに便利なのでPHP5.4を使う。
OSXに入っているものは使う思想のHomebrewではPHPの最新バージョンは入っていないのでphpjosegonzalez/homebrew-phpを使う。
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54 --with-mysql --with-fpm
brew install php54-intl
オプションはbrew options php54
で見れるので必要なものを入れるといい、デフォルトでpearオプションは付いている。なぜか--with-intlが壊れてるなど警告がでたのでphp54-intl
を別途追加。
php --iniで /usr/local/etc/php/5.4/php.ini
あたりが設定ファイルのパスとして出力される。
PhpStormではOSXでデフォルトでインストールされているPHP(/usr/bin/php)が認識されていたりするので
Project Settings > PHP > Interpreter の … で Interpreters ウインドウを開いて + で
項目 | 値 |
---|---|
Name | homebrew/php |
PHP Home | /usr/local/bin |
を追加して Interpreter で homebrew/php を選ぶ。更に include pathに /userr/local/Cellar/php54/5.4.x/lib/php を追加しておく。
Composer
ComposerもあったのでHomebrewからインストール。
brew install composer
PhpStormのProject Settings > PHP > ComposerのPath to composer.pharに/usr/local/bin/composer
を設定する。
/usr/local/bin/composer
PHP Code Sniffer
コードスタイルの検証ツールであるPHP Code Snifferは
brew install php-code-sniffer
でインストールできる。
PhpStormからは Project Settings > PHP > Code Sniffer から path に /usr/local/bin/phpcs を設定。
Project Settings > Inspections > PHP > PHP Code Sniffer validation にチェックを入れておくと、ファイルやディレクトリを右クリック > Inspect Code… からも利用できる。
PHPUnit
PEARを使う
Fomuraには見当たらないのでPEARで入れてしまう。ただ下記作業はPHPのバージョンが変わるごとに同期する必要あるのであまり良いやり方には思えない。
sudo pear config-set auto_discover 1
sudo pear install pear.phpunit.de/PHPUnit
成功すれば/usr/local/Cellar/php54/5.4.x/lib/php/PHPUnit/に入る。
プロジェクトにphpunit.xmlを作っておき右クリック > Run … で実行できる。
ターミナルから使いたい場合はパスを通しておく。
cd /usr/local/bin
ln -s ../Cellar/php54/5.4.11/bin/phpunit phpunit
Composerを使う
プロジェクト毎にPHPUnitをcomposerでインストールする場合は PHP > PHPUnit の設定で Use Custom Loader を選択し vendor/autoload.php を Path to script から選択すればいい。
(絶対パスを設定しても設定ファイルには$PROJECT_DIR$/vendor/autoload.phpになっている)
Xdebug
brew install php54-xdebug
でインストール。
xdebug.remote_enable=1
xdebug.remote_autostart=1
を設定するか、あるいはサーバ実行時に指定。
php -S localhost:8080 -t /path/to/document-root -d xdebug.remote_enable=1 -d xdebug.remote_autostart=1
ちなみにPhpStormではRun > Edit Configration… から + でPHP Built-in Web Serverを追加すると、PhpStromから実行、停止ができるようになる。
あとは Run > Start Listen PHP Debug Connectionsを実行する。ツールバーの電話の受話器みたいなアイコンからもOn/Offできる。
リスニングを開始するとxdebug.remote_autostartを有効にしているのでブラウザでページにアクセスするとPhpStormとお話が始まり、最初のアクセスでは実行しているファイルのパスを聞かれるのでそれを合わせるとソースコード上でブレークできる。
stubs
拡張ライブラリの補完のため