MAMP環境構築メモ

諸事情にて急遽PHPでとあるウェブサービスを開発しないといけなくなったので、環境構築メモ。
あ、ちなみに私の環境はMac OSX 10.7.2です。

今回のトピックは以下の5つ。
その他、Pivotal TrackerやTravis CIや色々あるんだけど、それらは後日。

  1. MAMPでAppache、MySQLPHPの導入 (当然必須)
  2. NetBeans (Eclipseは重いので敬遠)
  3. CakePHPの導入 (ほぼスクラッチ開発なので、フレームワーク使います)
  4. PHPUnitの導入 (ユニットテストツール TDDで行きます)
  5. Xdebugの導入 (テストケースのカバレッジ測定ツール)

ただ、なんか色々ごちゃごちゃやってて記憶が怪しいので、情報間違ってるかも。
VMでテストMAC環境あると、こういう時便利じゃないですかね?
再度導入手順確認して、最後にドキュメントにまとめられるので。
これもそうなんですが、チーム開発する時なんかに特に便利じゃないかと。

余談はいいとして、早速本題。


1. MAMPでAppache、MySQLPHPの導入

これは書く必要もないですね。

MAMP: Mac, Apache, MySQL, PHP
http://www.mamp.info/en/index.html

上記リンク先よりMAMPインストーラーをDLして後は適当にクリックするだけ。
Macって最初からAppacheやPHPが入ってるんで、競合関係とかどうなるんですかね?
気持ち悪いんで最初使いたくなかったんですが、結局これ使うのが楽でした。


2. NetBeans

これも特に苦労した記憶無いので、インストーラーをDLして導入するだけだったかな。

NetBeans 日本語サイト
http://ja.netbeans.org/

でも見た目がしょぼすぎるんで、とりあえずフォントだけは変えました。

Mac OS X Lion環境NetBeans IDEにプログラミング用フォントRicty導入
http://show-web.jp/2012/01/31/mac-os-x-lion%E7%92%B0%E5%A2%83netbeans-ide%E3%81%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E7%94%A8%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88ricty%E5%B0%8E%E5%85%A5/

あとでこれらもやりたいんだけど、とりあえず後回し。

NetBeans + CakePHP Code Completion (コード補完)
http://junichi11.com/?p=1150

NetBeans6.9.1にZenCodingを簡単に導入する
http://studiokdf.com/blog/2011/01/349.html


3. CakePHPの導入

Appacheまわりがよくわからないんで記憶が曖昧なんだけど、たしかこんな感じ。

CakePHP 2.0開発の準備をしよう!
http://libro.tuyano.com/index3?id=730002


4. PHPUnitの導入

たしか参考にしたのは、ここら辺。

CakePHP2.0 + PHPUnit on NetBeans
http://php-tips.com/php/2012/01/cakephp2-0-phpunit-on-netbeans

第3章 PHPUnit のインストール
http://www.phpunit.de/manual/3.6/ja/installation.html

PHPUnitをXAMPPにインストール
http://lazesoftware.com/blog/11/0213/

あ、そうそう。
PHPUnitを入れるためにpearっていうパッケージ管理ツールを使うんですが、
OSX Lionだとpearが古いだのなんだの怒られるかもです。怒られました。

なんかよく分かりませんが、以下のQに対するAの通りにやったらうまくいきました。

PHPUnit: Warning: require(PHPUnit/Autoload.php): failed to open stream: No such file or directory in /usr/local/bin/phpunit on line 42
http://stackoverflow.com/questions/8333279/phpunit-warning-requirephpunit-autoload-php-failed-to-open-stream-no-such


5. Xdebugの導入

ここら辺参考に。

第4回 PHPUnitによるテスト:応用編
http://thinkit.co.jp/article/1202/1?page=0,1

CakePHP
http://www.ryuzee.com/contents/blog/3522

NetBeans、いろいろ侮ってたり誤解してたりしてた
http://d.hatena.ne.jp/masanobuimai/20120106

これも最初引っかかったんですが、以下で紹介されてるコマンドで現象理解。

takuto-2:MAMP takuto_1981$ php -i | grep -i "xdebug support"
PHP: syntax error, unexpected $end, expecting TC_DOLLAR_CURLY or TC_QUOTED_STRING or '"' in /private/etc/php.ini on line 1914

この箇所、たしかコメントアウトを削除しただけなので、元々間違えてたような。。。
あと、そもそもphp.iniって/etc/php.iniだと思っていたのだけど、
どうやらMAMPで導入した場合は/private/etc/php.iniらしい。
Appacheとか、その辺全然触ったことないので、やはり最初はつまづきますな。


こんな感じになります。

以上。