サーバー設定が元に戻る問題
OS標準搭載のApacheやPHPの設定を使っている場合、Mavericksにアップデートした際に
サーバー設定のすべてがインストールし直されます。
その際、どういう訳かMavericks内のPHPからpgsqlとPDO::pgsqlが削除されていました。
その復元時にはまったところをメモ程度に残しておきます。
前提条件
- Mavericksに前OSからアップデートした。
- Xcodeのインストールが終わっている。
- homebrew等を使ってPostgreSQLをインストールしてある。
- PHPは標準搭載の物を使っている。
httpd.confの設定
前バージョンのOSの設定が/etc/apache2/httpd.conf~previousという名前で保存されているので、
新しい物を設定しなおすか、前述のファイルとdiffを取って復元するか好きな方で
pgsqlとPDO::pgsqlの設定
こちらのサイトを参考にしながら復元しました。
http://blog.rupey.org/post/63221360055/adding-postgres-support-to-php-on-os-x-mavericks
PHPのダウンロード
標準搭載のphpにはpgsqlもPDO::pgsqlも入ってないので、phpのソースファイルをダウンロードします。
PHPを解答・所定の場所へ移動
PHPソースファイルの解答
% cd ~/Download/
% tar -jxvf php-5.4.20.tar.bz2
PHPのソースファイルを所定の場所に移動
% sudo mkdir -p /usr/include/
% sudo mv php-5.4.20 /usr/include/php
PDO::pgsql、pgsqlのエクスモジュールを作成
PHP configureを使ってビルドする前にモジュールの確認
% cd /usr/include/php
% ./configure --without-iconv
php.iniが無い場合はコピーしておく
% sudo cp /etc/php.ini.default /etc/php.ini
pgsqlのモジュールをビルド
% cd ext/pgsql
% phpize
% ./configure
% make
% sudo make install
続いてPDO::pgsqlのモジュールをビルド
% cd ../../ext/pdo_pgsql
% phpize
% ./configure
% make
% sudo make install
これで、pgsqlとPDO::pgsqlのモジュールファイルが
/usr/lib/php/extensions/no-debug-non-zts-20100525
に作成されています。
あとはphp.iniにて
extension=pgsql.so
extension=pdo_pgsql.so
上記を追加し、Apatchを再起動してphpinfo()を確認してください。