tumblr

tumblr(タンブラー)は、メディアミックスブログサービス。ブログとミニブログ、そしてソーシャルブックマークを統合したマイクロブログサービスである。アメリカのDavidville.inc(現: Tumblr, Inc.)により2007年3月1日にサービスが開始された。

phpUnitとxdebugのインストール

したので覚書
環境は以下

$ cat /etc/redhat-release
CentOS Linux release 6.0 (Final)

$ rpm -qa | grep php
php-mysql-5.3.10-2.el6.remi.x86_64
php-pear-1.9.4-3.el6.remi.noarch
php-common-5.3.10-2.el6.remi.x86_64
php-cli-5.3.10-2.el6.remi.x86_64
php-pdo-5.3.10-2.el6.remi.x86_64
php-devel-5.3.10-2.el6.remi.x86_64
php-mbstring-5.3.10-2.el6.remi.x86_64
php-5.3.10-2.el6.remi.x86_64
php-xml-5.3.10-2.el6.remi.x86_64

pearの使い方

phpUnitpearからインストールするのだけど、まずはpearってなにものなのか、その使い方から。

pearとは

PEAR(PHP Extension and Application Repository)はPHPで利用する事ができるライブラリ(パッケージ)を提供しているサービス。 PEARPHPで書かれたライブラリを提供しているが、C言語で書かれた拡張ライブラリ(extension)を提供するPECLというサービスも存在する。

[http://ja.wikipedia.org/wiki/PEAR:title=http://ja.wikipedia.org/wiki/PEAR]

rubyでいうgems的な、perlでいうcpan的な存在。pearpeclの違いがよく分からなかったけど、その違いも上のように書いてあります。

pearのインストール

普通はphpと一緒にインストールされてるようです。ソースインストールの場合に ./configure に --without-pear とか指定してなければ。
windows?知るか。死ね。go-pear.batとかいうバッチファイル叩いたらいいらしいけど、よく知らないし思い出したくもないです。死ね。
http://www.phpbook.jp/pear/install/index1.html

pearのコマンド基本

$ pear install [options] [channel/] ...

パッケージをインストールします。channelについては後述。
パッケージによっては、フジの昼ドラもドン引きなくらいドロッドロの依存関係があるので、その依存関係を解決して全部ひっくるめてインストールする場合は -a オプションを付けます。
オプションでパッケージの保存場所を指定したりとかも可能。

$ pear uninstall [options] [channel/] ...

パッケージをアンインストールします。
これも例によって依存関係でアンインストールできたりできなかったりすることがあるようなので、オプションで解決したりしなかったり。

$ pear list

今インストールされているパッケージの一覧を表示します。

channelとは?

チャネルとは、パッケージの取得元のことです。 詳細な情報は、マニュアルの チャネルに関するセクション 参照ください。

とりあえずは「チャネルっていうものを使えば、 PEAR 以外のところにあるパッケージもインストールできるらしい」 ということを知っておけばよいでしょう。かの有名な Horde や PHPUnit といったプロジェクトも、PEAR 互換のチャネルでソフトウェアを配布しています。
http://pear.php.net/manual/ja/guide.users.commandline.channels.php

channelとはリポジトリ的なやつです。デフォルトは pear.php.net となっていると思います。 pear install hoge などとした場合は、hogeというパッケージをデフォルトのチャネルから探してインストールしようとするわけです。
パッケージによっては、というかこれからインストールしようとしているPHPUnitはデフォルトのチャネルにはないので、新たにチャネルを追加してからパッケージをインストールする必要があります。

channel系のコマンド

$ pear list-channels

登録されているチャネルの一覧を表示します。

$ pear channel-discover

チャネルを登録します。

$ pear list -a

  • aオプションがない場合は、デフォルトのチャネルのうちインストールされているパッケージを表示しますが、このオプションを就けた場合は登録されているチャネルごとにインストールされているパッケージを表示します。

PHPUnitのインストール

というわけでpearについては多少分かったので、早速pearPHPUnitをインストールします。

$ pear channel-discover pear.phpunit.de
$ pear channel-discover components.ez.no
$ pear channel-discover pear.symfony-project.com

まずは必要なチャネルを全部登録。

$ sudo pear install -a phpunit/PHPUnit

これでインストールが出来てるはず。channelがpear.phpunit.deではなくてphpunitだけで済んでるのはchannelのaliasが登録してあるから。
ちゃんと入ってるか確かめてみます。

$ pear list -a

(略)
INSTALLED PACKAGES, CHANNEL PEAR.PHPUNIT.DE:
============================================
PACKAGE VERSION STATE
File_Iterator 1.3.1 stable
PHPUnit 3.6.10 stable
PHPUnit_MockObject 1.1.1 stable
PHPUnit_SkeletonGenerator 1.0.0 stable
PHP_CodeCoverage 1.1.1 stable
PHP_Invoker 1.1.0 stable
PHP_Timer 1.0.2 stable
PHP_TokenStream 1.1.2 stable
Text_Template 1.1.1 stable

問題なさそう。
あとgithubからもphpunitは入れられるみたいです。
https://github.com/sebastianbergmann/phpunit

参考:
http://havelog.ayumusato.com/develop/php/e241-pear_install_phpunit.html


xdebugのインストール

xdebugは前述のpeclでインストールします。

$ pecl install xdebug

これだけ。ダウンロードが終わるとビルドが始まるのでしばし待ちます。
ビルドが終わったらxdebugの拡張モジュールを読み込むようにphp.iniに次の1行を追記します。

zend_extension="/usr/lib/php/xdebug.so"

xdebug.soのバスは適当に読み替えてください。
相対パスではなく絶対パスで入れてください。
http://www.xdebug.org/docs/install

あとはapacheなどの実行環境を再起動すれば完了。
ちゃんと入っているか確かめてみます。

$ php -i | grep xdebug

(略)
xdebug support => enabled
(略)

大丈夫そうですね。


あ?windowsはどうすんのかって?死ね。心臓止まれ。
大体なんだよ、「windows」で「php」って組み合わせは。なんだその「NGL」と「キメラアント」みたいな、「北朝鮮」と「核製造施設」みたいな、「逆転裁判」「実写化」みたいな考えうる限りの最悪の組み合わせは。完全に地雷剥き出しじゃないか。キムタクのヤマトの大爆死から何も学ばなかったのか。本当に誰が得するんだよ。あんな恥ずかしい髪型までしちゃって。


一応書いとくと、http://www.xdebug.org/find-binary.phpphp.iniを貼りつけると、どのバイナリをインストールすればいいのか詳しく教えてくれるので、それに従うといいらしいです。もう本当に勘弁してください。