apacheとphpはMacに標準で用意されているものを使い、postgresはHomebrewでインストールした。
Homebrewでpostgresqlのインストール
$ brew install postgresql
pgsqlの拡張機能を追加
標準で用意されているphpには,pgsqlの拡張機能が入ってない.
ソースコードをダウンロードして,インストールした.
標準で入っているphpと同じバージョンのものをダウンロードし,適当な場所に解凍し,
$ ./configure
をする.問題なければ,拡張機能のディレクトリに移動し,phpize
を実行する.
$ cd ext/pgsql
$ phpize
autoconfがないとエラーがでた.
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
Homebrewでautoconfをインストールし,再度phpize
を実行すると,configureが作成されたので,pgsqlをコンパイルし,インストールした.
$ brew install autoconf
$ phpize
$ ./configure
$ make
$ cp modules/pgsql.so /path/to/php_extension_dir
php.iniの編集
phpの設定ファイルphp.iniにpgsqlの行を追記.
extension=pgsql.so
設定ファイルに書かれている行のコメントを外せばいいのかと思いきや,
;extension=php_pgsql.dll
これはwindows用のdllファイル.紛らわしかった.
apacheを再起動して,phpinfo()
で,pgsqlが読み込まれていることを確認できた.