MacのWeb共有のサイトからPHPとPostgreSQLが使えるようにする(1)
動作環境、前提条件
- Mac OS X 10.6.8
- PostgreSQL 8.4.10
- Macに元々入っているWeb共有(apache)とPHPから、下記の方法でエクステンションだけビルドしてPostgreSQLを呼び出せるようにしようとしたが、できなかった。
ソース入手、展開
自分の環境では、現時点でPHP 5.3.15が(Appleから更新されて)入っているので、このバージョンを使用する。
※ ここからダウンロードする。
$ which php /usr/bin/php $ php -v PHP 5.3.15 (cli) (built: Jul 31 2012 18:42:11) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
ダウンロードしたソースを/usr/localに移動・コピーした後、下記のように展開する。
$ pwd /usr/local $ ls php-5.3.15.tar.gz php-5.3.15.tar.gz $ tar xvf php-5.3.15.tar.gz : : x php-5.3.15/LICENSE x php-5.3.15/README.input_filter $
ビルド
$ cd php-5.3.15/ext/pgsql/ $ phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 $ ./configure --with-pgsql : : configure: creating ./config.status config.status: creating config.h $ make /usr/local/php-5.3.15/ext/pgsql/pgsql.c:6241: warning: passing argument 3 of ‘php_addslashes’ from incompatible pointer type make: *** [pgsql.lo] Error 1 $
ビルド失敗。
いろいろ試したが、どうしてもできなかった。
makefileを見てみると、なんかmakefile内の設定が、もともと/usrに入っているphpのものと、/usr/localのものと、ごっちゃになってる。
: : prefix = /usr phplibdir = /usr/local/php-5.3.15/ext/pgsql/modules phpincludedir = /usr/include/php : :
どうやら、もともと入っているPHPを使うのはあきらめて、PHP全体をソースから作り直したほうがよさそうだ。
次回へ続く。