Mac (os x 10.5) で PDO を動作させるにはどうすればよいですか? Zend/Eclipse で組み込みの php と php を使用しています。便利なドライバーがまったく見つからないようです。
5 に答える
最近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が稼働します。
この PECL パッケージを見てみましょう: PDO_PGSQL
私自身は試したことはありませんが、MySQL の代わりとして Postgres を試してみることに興味がありました。すぐに試す機会があれば、役立つ場合に備えて結果をここに投げます.
これが特に PDO ドライバーに役立つかどうかはわかりませんが、BitNami の MAPPStackを調べることができます。
Mac で Postgres、PHP、および Apache を使用すると、多くの問題が発生しました。そのうちのいくつかは、それらの一部またはすべての 64 ビット バージョンと 32 ビット バージョンに関係していました。これまでのところ、BitNami MAPPStack のインストールは全体的にうまく機能しています。PDOの問題にも役立つかもしれません。
これは私のために働いたものです
brew install php55-pdo-pgsql
これにより、PHP 5.5.32 と PostgreSQL 9.5 がインストールされます。私はすでにPostgreSQL 9.4をインストールしていたので、自作バージョンを次のようにアンインストールしました:
brew uninstall postgres
次に、正しい PHP バージョンを指すように /etc/apache2/httpd.conf を更新し、Apache を再起動する必要があります。
LoadModule php5_module /usr/local/Cellar/php55/5.5.32/libexec/apache2/libphp5.so
私のOSXバージョンはヨセミテです。