今どきPEARって…という感じですが、HTTP_Request2とか意外と使い慣れてるので便利なんですよ。いい加減ComposerでGuzzle使ってくれって話なのですが、ことによってはHTTP_Requestの方がちょろっとPHPのCLIでスクリプト書く分には楽ですよね。と。
インストールは今どきは、go-pear.phpじゃない
インストールはgo-pearを取るんだったなと思いおもむろに
$ wget http://pear.php.net/go-pear $ php go-pear
と打ち込んだところ
Sorry! Your PHP version is too new (7.0.19-1) for this go-pear. Instead use http://pear.php.net/go-pear.phar for a more stable and current version of go-pear, more suited to your PHP version. Thank you for your coopertion and sorry for the inconvenience!
ありゃりゃ。ということで、
$ wget http://pear.php.net/go-pear.phar $ php go-pear.phar
としてインストール開始。
インストール場所の設定
どこにインストールするかを聞かれる。
ひっそりとこっそりとどこぞやの作業量ディレクトリに入れたいので
Below is a suggested file layout for your new PEAR installation. To change individual locations, type the number in front of the directory. Type 'all' to change all of them or simply press Enter to accept these locations. 1. Installation base ($prefix) : /home/tohokuaiki/pear 2. Temporary directory for processing : /tmp/pear/install 3. Temporary directory for downloads : /tmp/pear/install 4. Binaries directory : /home/tohokuaiki/pear/bin 5. PHP code directory ($php_dir) : /home/tohokuaiki/pear/share/pear 6. Documentation directory : /home/tohokuaiki/pear/docs 7. Data directory : /home/tohokuaiki/pear/data 8. User-modifiable configuration files directory : /home/tohokuaiki/pear/cfg 9. Public Web Files directory : /home/tohokuaiki/pear/www 10. System manual pages directory : /home/tohokuaiki/pear/man 11. Tests directory : /home/tohokuaiki/pear/tests 12. Name of configuration file : /home/tohokuaiki/.pearrc
と聞かれるけれども、「1」を選択してインストール先を変更
Installation base ($prefix) [/home/tohokuaiki/pear] : /home/tohokuaiki/test/hoge/lib/pear
で、4~11が変更される。ここで12の.pearrcも変更しておこう。
さて、おもむろにリターンを押下してインストール開始!!・・・と思いきや
1-12, 'all' or Enter to continue: Beginning install... XML Extension not found
あれれ?
$ php -m|grep xml libxml
libxmlではダメなんだ。debianなので
$ sudo apt-get install -y php7.0-xml
でインストール後、再度go-pear.pharを実行する。今度は問題なく進行。途中で
Would you like to alter php.ini </etc/php/7.0/cli/php.ini>? [Y/n] : n
と聞かれるが、ひっそりとPEARを入れているのでそんなだいそれたことはするはずもなく、男は黙って「n」を押下。
すると、
I will add a workaround for this in the 'pear' command to make sure the installer works, but please look over your php.ini or Apache configuration to make sure /home/tohokuaiki/test/hoge/lib/pear/share/pear is in your include_path.
と「このディレクトリをinclude_pathにいれるんやで」と注意してくれた。
うーむ、/home/tohokuaiki/test/hoge/lib/pear/share/pear とpearが被ってしまったな。
PEARパッケージのインストール
/home/tohokuaiki/test/hoge/lib/pear/share/pear/bin/pear がPEARコマンドである。
HTTP_Request2を入れたいので
$ /home/tohokuaiki/test/hoge/lib/pear/bin/pear install HTTP_Request2
とすると、
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
と出る。んー、php_dirが書き込みできない…ということで、そういえば、さっきのPEAR環境設定ファイル.pearrcを指定してコマンドを打ち直す。
こんな感じ。このコマンドの長さがひっそり感を醸し出していて非常に素晴らしい。
念のためchannel-updateをした後で
$ /home/tohokuaiki/test/hoge/lib/pear/bin/pear -c /home/tohokuaiki/test/hoge/lib/pear/.pearrc channel-update pear.php.net
パッケージのインストール
$ /home/tohokuaiki/test/hoge/lib/pear/bin/pear -c /home/tohokuaiki/test/hoge/lib/pear/.pearrc install HTTP_Request2
これで無事完了。