Mac 10.8 Mountain Lionで作るPHPの開発環境1
ようやくMacで開発環境が作れるようになった北村聡士 @satooshi_jpです。
PHPも5.4がリリースされてずいぶん経ちますが、未だに5.3しか使えないレンタルサーバーやら、クラウド環境があったりするので、両方インストールできるようにして、さらに簡単に切り替えられるようにします。
パッケージ管理にはHomebrewを
昔(大昔?)はMacのパッケージ管理といえばfinkだったんですが、最近はMacPortsとかHomebrewを使うのが流行らしいですね。どちらも似たようなことが出来るみたいですが、僕はHomebrewを選択しました。
phpenvでPHPのバージョン切り替えが簡単に!
今まではWindowsでApacheのconfファイルを手で書き直して5.4 <-> 5.3の切り替えをしたりしてましたが、phpenvというツールがあるようなので、これを使います。元々はRuby用のrbenvというツールがあって、それをPHP用に変えたものらしいです。内部的には、rbenvを使っているそうで、ヘルプを表示させるとrbenv 0.3.0と表示されたりします。php-versionというツールもHomebrewにありましたが、phpenvの方がインストールも使い方も簡単でした。
php-buildで最新版PHPを楽々インストール
PHPのインストールにはphp-buildというツールを使います。これを使うとAPCやxdebugも一緒にビルドしてくれる優れもの!xhprofにも対応してるらしいですね(APCとxhprofはmaster版で対応。現時点での最新版0.8.0は未対応)。ありがたや。WindowsだとAPCのコンパイルが面倒くさくて、どっかから拾ってきたモジュールを使ってましたが、php-buildのおかげで簡単に導入できるようになります。ちなみにapache用モジュールは別のシェルスクリプトで切り替えるようにします。
Jenkinsで継続的インテグレーション
CIサーバーはJenkinsを使います。ソースコード管理にはbitbucketを使っているので、travis-ciは非対応でした。なのでJenkinsをインストールしてCIします。ジョブはphp-templateをほぼ流用します。
Composer? pyrus? PEAR?
PHPプロジェクトをビルドするのに必要なライブラリやらツールのインストール・管理方法はいくつかあります。標準はPEARですが、現在新しくpyrusが登場してます。まだアルファ版のためか、PHPエラーが頻発したり、pyrusに非対応のツール(phpmd)があったため、今回は見送りました。またComposerも試してみましたが、設定が多く、PEARパッケージの管理がうまくできなかった(試すのも面倒くさくなった汗)ため、こちらも見送りました。おとなしくPEARを使います。
まとめ
開発に必要なもの
- PHP 5.4/5.3 + PEAR <- php-build HEAD
- Apache 2.2.x <- Homebrew 2.2.22
- MySQL 5.5.x <- native package mysql-5.5.28-osx10.6-x86_64.dmg
- Jenkins <- native package 1.491
管理・ビルドツール
- Homebrew
- php-build
- phpenv
- Apache Ant - Jenkins用
CI用ツール
- phpunit
- phpcpd
- phploc
- phpmd
- phpcb
- phpdox
- pdepend
- phpcs
実は必要なかったもの
- Composer - composer未対応なものが多かったため、結局pyrus or PEARが必要
- pyrus - pyrus 2.0に対応していないパッケージがあった(phpmd)ため、PEARにした
次回以降、インストール方法の詳細について書いていきます。