1. extensionとはなにか
1.1 extensionについて
PHPでは各種の機能(FTP接続機能や各種DB接続機能など)が使用できます。しかも、はじめにインストールしたPHPに入っていなかった機能をあとから組み込むことができます。
このあとから組み込む機能をextensionといいます。
1.2 extensionを組み込む
extensionは以下のようにして組み込見ます。
- extensionをダウンロードする、あるいはソースファイルから作成する
- extensionをPHPのextension配置用ディレクトリにコピーする
- php.iniを書き換え、指定したextensionを組み込む
このようにすると、組み込んだextensionをPHPで使えるようになります。
2. PostgreSQL extensionを組み込む
2.1 PostgreSQL extensionとはなにか?
PHPにはPostgreSQLデータベースに接続する機能があります。ただし、コンパイル時に指定しないとこの機能は使えません。
PostgreSQL extnsionは、この機能をあとで組み込めるようにPHPのtarballから作成するextensionです。
2.2 PostgreSQL extensionを作成する
PostgreSQL extensionは、PHPアーカイブファイルから作成します。
次の手順で、PostgreSQL extensionを作成します。
- extensionディレクトリに移動します。
[atsushifx@agartha atsushifx]$ cd /usr/local/src/php-4.4.1/ext/pgsql/ - phpizeを実行し、configureファイルを作成します。
[atsushifx@agartha pgsql]$ phpize Configuring for: PHP Api Version: 20020918 Zend Module Api No: 20020429 Zend Extension Api No: 20050606
- configureを実行します。
[atsushifx@agartha pgsql]$ ./configure --with-pgsql - コンパイルを実行します。
[atsushifx@agartha pgsql]$ make
modules/以下にpgsql.so,pgsql.laができていれば作成は成功です。
2.3 PostgreSQL extensionを組み込む
作成したextensionをPHPに組み込みます。 以下の手順で、PHPに組み込みます。
- rootになり、extensionをインストールします。
[atsushifx@agartha pgsql]$ su Password: **** [root@agartha pgsql]# make install Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20020429/
- php.iniを書き換えます。
- /usr/local/lib/php.ini
564: extension=pgsql.so
- httpdを再起動します。
[root@agartha lib]# /etc/init.d/httpd restart
以上で、PostgreSQL extensionの組み込みは終了です。
以下のようにphpinfoでpgsqlの項目があれば、正常に組み込まれています。