PHP に拡張機能をインストールするにはどうすればよいでしょうか。多くの人は Pecl を使うと答えるでしょう。確かに Pecl は拡張機能を簡単にインストールできる、とても便利な方法です。しかし、サーバーに Pecl がない場合はどうすればよいでしょうか。また、何らかの理由で Pecl をインストールできない場合はどうでしょう。そのときは、手動でコンパイルしてインストールするしかありません~ この記事では、Linux で PHP 拡張機能を手動でコンパイルする方法を紹介します。
上で触れた「Pecl をインストールできない」状況は、本当に起こるのでしょうか。私の場合は、パッケージ型の環境でサイトを運用しているため、この問題に遭遇しました。少し前、MongoDB の PHP ドライバーをインストールする必要がありました。しかし、サーバーには LNMP のお手軽パッケージが入っていて、Pecl は含まれていませんでした。手動で Pecl をインストールすると、もともと LNMP に入っていたプログラムの一部が上書きされてしまいます。そこで、拡張機能を手動でコンパイルすることにしたのです~~
PHP 拡張機能を手動でコンパイルする手順
1.PHP 拡張機能を自分でコンパイルするには、まず当然ながらソースコードを取得する必要があります~個人的には、Pecl の公式サイト(http://pecl.php.net)から PHP 拡張機能のソースコードをダウンロードすることをおすすめします。ここでは MongoDB ドライバーを例に説明します
wget -c http://pecl.php.net/get/mongo-1.2.7.tgztar -zxf mongo-1.2.7.tgz
cd mongo-1.2.7

2.phpize を実行して初期化します
phpize

3.configure の設定を行います。$PATH は php-config の場所です。デフォルトでは、PHP のルートディレクトリにある bin フォルダの中にあります
./configure --with-php-config=$PATH

4.いよいよコンパイルです~ コマンド:
make && make install

5.コンパイルが完了すると、mongo.so ファイルは自動的に PHP の拡張機能のフォルダに保存されます
6.php.ini を編集し、次の一行を追加します:
vi php.inimongo.so の部分は、インストールした拡張機能の .so ファイル名に置き換えてください。extension=“mongo.so”
7.最後に apache を再起動し、phpinfo() のファイルを確認すると、インストールが成功したかどうかがわかります~
参考記事:http://mattiasgeniar.be/2008/09/14/how-to-compile-and-install-php-extensions-from-source/


