PHP 4.4.1にPostgreSQL extensionをインストールする方法

PHP Evo

PostgreSQL extensionのインストール

ProEvo / PHP Evo / PostgreSQL extensionのインストール

PostgreSQL extensionをApache 2.0.55+PHP 4.4.1環境に組み込む方法


1. extensionとはなにか

1.1 extensionについて

PHPでは各種の機能(FTP接続機能や各種DB接続機能など)が使用できます。しかも、はじめにインストールしたPHPに入っていなかった機能をあとから組み込むことができます。
このあとから組み込む機能をextensionといいます。

1.2 extensionを組み込む

extensionは以下のようにして組み込見ます。

  1. extensionをダウンロードする、あるいはソースファイルから作成する
  2. extensionをPHPのextension配置用ディレクトリにコピーする
  3. 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を作成します。

  1. extensionディレクトリに移動します。
    [atsushifx@agartha atsushifx]$ cd /usr/local/src/php-4.4.1/ext/pgsql/
  2. phpizeを実行し、configureファイルを作成します。
    
    [atsushifx@agartha pgsql]$ phpize
    Configuring for:
    PHP Api Version:         20020918
    Zend Module Api No:      20020429
    Zend Extension Api No:   20050606
    
  3. configureを実行します。
    [atsushifx@agartha pgsql]$ ./configure --with-pgsql
  4. コンパイルを実行します。
    [atsushifx@agartha pgsql]$ make

modules/以下にpgsql.so,pgsql.laができていれば作成は成功です。

2.3 PostgreSQL extensionを組み込む

作成したextensionをPHPに組み込みます。 以下の手順で、PHPに組み込みます。

  1. 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/
    
  2. php.iniを書き換えます。
    /usr/local/lib/php.ini
    564: extension=pgsql.so
  3. httpdを再起動します。
    [root@agartha lib]# /etc/init.d/httpd restart

以上で、PostgreSQL extensionの組み込みは終了です。
以下のようにphpinfoでpgsqlの項目があれば、正常に組み込まれています。 [phpinfo]



$Revision: 2 $
$Date: 2007-02-28 23:35:40 +0900 (豌エ, 28 2譛 2007) $