2007年11月8日木曜日

CentOS 5でつくるPHP開発サーバ.Zend Core編#5

林檎生活100: CentOS 5でつくるPHP開発サーバ.Zend Core編#4の続き.今回は,Zend CoreへのPEARPECLのインストール方法をやってこう.

PHPのわかりづらいところのひとつが,PEARとPECLだと思うのは僕だけかな.PHPで書かれたライブラリを提供しているサービスがPEARで,Cで書かれたライブラリを提供しているサービスがPECL.とくに,PECLは拡張モジュールという位置づけだね.そして,それらをインストールするコマンドがpearとpeclなわけだ.手動で配置してもインストールはできるけど,コマンドを使ったほうが便利♪依存関係とか解決してくれるしね♪

ちなみに,PHPマニュアルでは,PECLのライブラリをインストールすることで使えるようになる関数も説明してたりするから,その量が膨大になってる.インストールする方法によって,PHPに最初からインストールされているライブラリが異なるのも,PHPならではかなw

さて,実際にやってみよう.今回は,PEARのHTML_QuickFormとPECLのpecl_httpをインストールしてみる.その手順は次のとおり.

1.PEARのアップデートを実行する.これで,peclコマンドのインストールも行われる.
# /usr/local/Zend/Core/bin/pear upgrade-all


2.PEARのHTML_QuickFormをインストールする.
# /usr/local/Zend/Core/bin/pear install HTML_QuickForm


3.PECLのpecl_httpをインストールする.
3-1.必要なツールやライブラリをインストールする.そうしないと,pecl_httpのインストール時にエラーが出る.
# yum -y install autoconf
# yum -y install gcc
# yum -y install zlib-devel
# yum -y install curl-devel


3-2.
# /usr/local/Zend/Core/bin/pecl install pecl_http
.
.
.
1. whether to enable cURL HTTP requests; specify libcurl directory : yes

1-1, 'all', 'abort', or Enter to continue: [Enter]
1. whether to enable support for gzencoded/deflated message bodies; specify zlib directory : yes

1-1, 'all', 'abort', or Enter to continue: [Enter]
1. whether to enable response content type guessing; specify libmagic directory : no

1-1, 'all', 'abort', or Enter to continue: [Enter]
1. whether to depend on extensions which have been built shared : yes

1-1, 'all', 'abort', or Enter to continue: [Enter]
.
.
.
You should add "extension=http.so" to php.ini
(php.iniにextension=http.soを追加してね.)
#


3-3.php.iniの末尾にextension=http.soを追加する.
# nano /usr/local/Zend/Core/etc/php.ini
.
.
.
;extension=xsl.so
;extension=zip.so
extension=http.so(この行を追加する.)
#


3-4.Zend Core管理画面からApacheを再起動する.

3-5.Zend Core管理画面>Configuration>Extensions>External Extensionsに追加されていることを確認する.そこで設定ができるのが便利♪

こんなとこだね.PEARのインストールは簡単なんだけど,PECLはコンパイルやphp.iniへの記述が含まれるのでちょっと面倒だね.次回は,MySQLをやりますか〜.

2 件のコメント:

匿名 さんのコメント...

大変助かりました。ありがとうございました。peclのコマンドはZendに含まれていたんですね、気づきませんでした。

Takuya Tsuchida さんのコメント...

かゆいとこに手が届くツールは,きちんと準備されてるんですけど,いかんせんマニュアルにも説明がないんですよね.説明しているサイトも少ないし.お役に立ててよかったです♪