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に含まれていたんですね、気づきませんでした。
かゆいとこに手が届くツールは,きちんと準備されてるんですけど,いかんせんマニュアルにも説明がないんですよね.説明しているサイトも少ないし.お役に立ててよかったです♪
コメントを投稿