Edited at

HomebrewでPhpStorm向けのPHP環境を構築する

More than 5 years have passed since last update.

基本的にウェブの開発環境は仮想環境で実行しているんだけど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

でインストール。


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

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

拡張ライブラリの補完のため