PHPの移設にあたって注意すべきことは、インストールオプション
などもそうですが、忘れがちなのがPEARモジュールのインストール
です。
PHPの代表的なライブラリであるPEARのインストール方法について説明したいと思います。
■PEAR
http://pear.php.net/
"PEAR"とは「洋梨」のことで、上記サイトを見ても梨のロゴが飾られていますが、
PHP Extension and Application Repository
の頭文字を取っただけのようです。「PHPの拡張モジュール」ということのようです。
さてインストールについてですが、PHPをインストールした際にデフォルトでPEARはインストールされています。
pearコマンドは通常
/usr/local/bin/pear
にインストールされます。
存在しない場合は、PHPをインストールする際にコマンド用オプション
--enable-cli
を付けてconfigしてみてください。
pearコマンドがインストールされたら、現在インストールされているpearライブラリの一覧を表示してみます。
% pear list
Installed packages:
===================
Package Version State
Archive_Tar 1.1 stable
Console_Getopt 1.2 stable
DB 1.6.2 stable
HTTP 1.2.2 stable
Mail 1.1.3 stable
Net_SMTP 1.2.6 stable
Net_Socket 1.0.1 stable
PEAR 1.3.2 stable
XML_Parser 1.0.1 stable
XML_RPC 1.1.0 stable
% pear -h
で使い方が分かります。
例として、HTTP_Requestライブラリをインストールしてみます。このクラスライブラリは、HTTP/HTTPS経由でのデータ取得に大変有効です。また別の機会に説明したいと思いますが、インストール方法は以下のようになります。
(インストールはroot権限で実行します)
# pear install HTTP_Request
downloading HTTP_Request-1.3.0.tgz ...
Starting to download HTTP_Request-1.3.0.tgz (13,808 bytes)
.....done: 13,808 bytes
requires package `Net_URL' >= 1.0.12
requires package `Net_Socket' >= 1.0.2
HTTP_Request: Dependencies failed
ここで、「Net_URLモジュールとNet_Socketモジュールが古い」と怒られているので、それぞれインストールします。
# pear install Net_URL
downloading Net_URL-1.0.14.tgz ...
Starting to download Net_URL-1.0.14.tgz (5,173 bytes)
.....done: 5,173 bytes
install ok: Net_URL 1.0.14
成功しました。
# pear install Net_Socket
Package 'Net_Socket' already installed, skipping
「既にインストールされている」と言われていますが、古いのでアップデートします。
# pear upgrade Net_Socket
downloading Net_Socket-1.0.6.tgz ...
Starting to download Net_Socket-1.0.6.tgz (4,623 bytes)
.....done: 4,623 bytes
upgrade ok: Net_Socket 1.0.6
成功しました。必要な部品がそろったので、再度HTTP_Requestをインストールします。
# pear install HTTP_Request
downloading HTTP_Request-1.3.0.tgz ...
Starting to download HTTP_Request-1.3.0.tgz (13,808 bytes)
.....done: 13,808 bytes
install ok: HTTP_Request 1.3.0
これで完了です。ライブラリは通常
/usr/local/lib/php/
以下にインストールされます。
ライブラリの機能、モジュール名などは下記URLを参照してください。
■PEARマニュアル
http://pear.php.net/manual/ja/index.php
PEARライブラリ自体はクラスライブラリなので、クラスライブラリの使い方を覚えておいて下さい。