最近LeopardにPDO_PGSQLドライバーをインストールする必要があり、多くの問題に遭遇しました。答えを探しているときに、この質問に出くわしました。これで正常にインストールされたので、この質問はかなり古いものですが、私が見つけたものが、間違いなく同様の問題に遭遇する他の人(私のような)に役立つことを願っています。
PEARはデフォルトではLeopardにインストールされていないため、まだインストールしていない場合は、最初にインストールする必要があります。
これを行ったら、PECLインストーラーを使用してPDO_PGSQLパッケージをダウンロードします。
$ pecl download pdo_pgsql
$ tar xzf PDO_PGSQL-1.0.2.tgz
(注:pecl
を実行する必要がある場合があります スーパーユーザーとして、つまりsudo pecl
。)
その後、PECLインストーラーは拡張機能を直接インストールできないため、自分でビルドしてインストールする必要があります:
$ cd PDO_PGSQL-1.0.2
$ phpize
$ ./configure --with-pdo-pgsql=/path/to/your/PostgreSQL/installation
$ make && sudo make install
すべてがうまくいけば、「pdo_pgsql.so
」というファイルができているはずです。 "/usr/lib/php/extensions/no-debug-non-zts-20060613/
のようなディレクトリに座っています "(PECLインストールでは、拡張機能をインストールしたディレクトリが出力されているはずです。)
インストールを完了するには、php.ini
を編集する必要があります ファイル。 「動的拡張機能」というラベルの付いたセクションを見つけ、(おそらくコメントアウトされた)拡張機能のリストの下に次の行を追加します:
extension=pdo_pgsql.so
ここで、PHP拡張機能を初めてインストールする場合、これを機能させるために必要な追加の手順が2つあります。まず、php.ini
で 、extension_dir
を見つけます ディレクティブ(「パスとディレクトリ」の下)を作成し、pdo_pgsql.so
のディレクトリに変更します。 ファイルがインストールされました。たとえば、私のextension_dir
ディレクティブは次のようになります:
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"
2番目のステップは64ビットのIntelMacを使用している場合、Apacheを32ビットモードで実行することです。 (より良い戦略がある場合は知りたいのですが、今のところ、これが私が見つけることができる最善の方法です。)これを行うには、/System/Library/LaunchDaemons/org.apache.httpd.plist
。次の2行を見つけます:
<key>ProgramArguments</key>
<array>
それらの下に、次の3行を追加します。
<string>arch</string>
<string>-arch</string>
<string>i386</string>
ここで、Apacheを再起動するだけで、PDO_PGSQLが起動して実行されます。