Keyword: Mac, MacPorts, PHP, PHPUnit, EMOBILE, D21LC
先日テスト駆動開発の勉強会に参加したのですが、環境構築でタイムアウト…というのも EMOBILE の USB モデムが一部の port を遮断してた。ひどい。
うちの D21LC の場合は、EMOBILE の接続ユーティリティから[ユーザ設定]→[接続先プロファイル]で「プロトコル制限あり」以外を選択するようにしたら SSH でもなんでも繋がるようになりましたε-(´∀`*)ホッ
まぁそれはそれで置いといて、今週やっと PHPUnit の導入が終わったので記録しておきます。
インストール
PHPUnit のインストール(PHPUnit Manual)*1を参考に、pear インストーラを使用してインストールします。
$ sudo pear install phpunit/PHPUnit
phpunit/PHPUnit can optionally use PHP extension "curl" phpunit/PHPUnit can optionally use PHP extension "dbus" pear/XML_RPC2 requires PHP extension "curl" phpunit/PHPUnit requires package "pear/XML_RPC2" No valid packages found install failed
お約束どおり失敗しました。(´・ω・`)
エラーログと、こちら↓の記事を参考にしたところ「PHP extention "curl"」が必要なようです。*2
で、これ勘違いして $ port install curl とかやってたんですが、Linux の curl コマンドが必要なわけじゃなくて、PHP の拡張モジュールとしての curl が必要なんですね。エラー見れば判る話なんだけどすっかり思い込んでいた…
というわけで、MacPorts で php5-curl をインストールします。
まずはいつもどおり検索。
$ port search php5-curl
php5-curl @5.3.6 (php, net, www) a PHP interface to the curl library, which lets you download files from servers with a variety of protocols
はい、インストール*3。
$ sudo port install php5-curl
---> Computing dependencies for php5-curl ---> Fetching php5-curl ---> Verifying checksum(s) for php5-curl ---> Extracting php5-curl ---> Configuring php5-curl ---> Building php5-curl ---> Staging php5-curl into destroot ---> Installing php5-curl @5.3.6_0 ---> Activating php5-curl @5.3.6_0 ---> Cleaning php5-curl
php.ini にモジュール(curl.so)を追記する必要はありません*4。
これで準備が整ったので、再度 PHPUnit をインストール。
$ sudo pear install phpunit/PHPUnit
phpunit/PHPUnit can optionally use PHP extension "dbus" downloading PHPUnit-3.5.14.tgz ... Starting to download PHPUnit-3.5.14.tgz (118,697 bytes) ..........................done: 118,697 bytes downloading XML_RPC2-1.0.8.tgz ... Starting to download XML_RPC2-1.0.8.tgz (67,063 bytes) ...done: 67,063 bytes install ok: channel://pear.php.net/XML_RPC2-1.0.8 install ok: channel://pear.phpunit.de/PHPUnit-3.5.14
おなじみのバージョン確認。
$ phpunit --version
PHPUnit 3.5.14 by Sebastian Bergmann.