2008-09-15 15 views

Antwort

31

Ich musste den PDO_PGSQL Treiber vor kurzem auf Leopard installieren, und ich lief über eine Vielzahl von Problemen. Bei meiner Suche nach Antworten bin ich auf diese Frage gestoßen. Jetzt habe ich es erfolgreich installiert, und obwohl diese Frage ziemlich alt ist, hoffe ich, dass das, was ich gefunden habe, anderen (wie mir) helfen kann, die zweifellos ähnliche Probleme haben werden.

Das erste, was Sie tun müssen, ist install PEAR, wenn Sie dies noch nicht getan haben, da es standardmäßig nicht auf Leopard installiert ist.

Sobald Sie das tun, verwenden Sie die PECL Installer das pdo_pgsql Paket herunterladen:

$ pecl download pdo_pgsql 
$ tar xzf PDO_PGSQL-1.0.2.tgz 

(. Hinweis: Sie können pecl als Superuser laufen, dh sudo pecl)

Danach, da der PECL-Installer direkt die Erweiterung nicht installieren können, müssen Sie es selbst bauen und zu installieren:

$ cd PDO_PGSQL-1.0.2 
$ phpize 
$ ./configure --with-pdo-pgsql=/path/to/your/PostgreSQL/installation 
$ make && sudo make install 

Wenn alle gehen Nun gut, Sie sollten eine Datei namens "pdo_pgsql.so" in einem Verzeichnis haben, das ungefähr wie "/usr/lib/php/extensions/no-debug-non-zts-20060613/" aussehen sollte (die PECL-Installation sollte das Verzeichnis ausgeben, in dem die Erweiterung installiert war). Um die Installation abzuschließen, müssen Sie Ihre php.ini Datei bearbeiten. Finden Sie den Abschnitt mit der Bezeichnung „Dynamic Extensions“, und unterhalb der Liste der (wahrscheinlich auf Kommentar) Erweiterungen, fügen Sie diese Zeile:

extension=pdo_pgsql.so 

nun angenommen wird dies das erste Mal ist, dass Sie PHP-Erweiterungen installiert haben, gibt es zwei zusätzliche Schritte, die Sie ergreifen müssen, um dies zum Laufen zu bringen. Zuerst in php.ini, findet die extension_dir Richtlinie (unter „Pfaden und Verzeichnissen“), und es in das Verzeichnis ändern, die die pdo_pgsql.so Datei in installiert wurde, zum Beispiel meiner extension_dir Direktive wie folgt aussehen:.

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613" 

Die zweite Wenn Sie auf einem 64-Bit-Intel-Mac arbeiten, müssen Sie dafür sorgen, dass Apache im 32-Bit-Modus ausgeführt wird. (Wenn es eine bessere Strategie gibt, würde ich gerne wissen, aber im Moment ist dies das Beste, was ich finden konnte.) Bearbeiten Sie dazu die Eigenschaftslistendatei unter /System/Library/LaunchDaemons/org.apache.httpd.plist.Finden Sie diese beiden Zeilen:

<key>ProgramArguments</key> 
<array> 

Unter ihnen, fügen Sie diese drei Zeilen:

<string>arch</string> 
<string>-arch</string> 
<string>i386</string> 

nun nur neu starten, Apache und pdo_pgsql wird in Betrieb genommen werden.

1

Ich bin mir nicht sicher, dass dies mit den PDO-Treibern speziell helfen wird, aber Sie könnten in BitNami's MAPPStack suchen.

Ich hatte eine Menge Probleme mit Postgres, PHP und Apache auf meinem Mac, einige davon mit 64- vs 32-Bit-Versionen von einigen oder allen von ihnen zu tun. Bis jetzt funktioniert die BitNami MAPPStack-Installation im Allgemeinen gut. Vielleicht hilft es auch bei Ihren PDO-Problemen.

2

Werfen Sie einen Blick auf dieses Paket PECL: PDO_PGSQL

Ich habe es selbst nicht ausprobiert, aber ich habe als Alternative zu MySQL in das Spiel mit Postgres interessiert. Wenn ich die Chance habe, es bald zu versuchen, werde ich meine Ergebnisse hierhin werfen, falls es hilft.

0

Dies ist, was für mich gearbeitet

brew install php55-pdo-pgsql 

Das installiert PHP 5.5.32 und PostgreSQL 9.5. Ich hatte bereits PostgreSQL 9.4 installiert, so deinstalliert ich die Homebrew-Version mit:

brew uninstall postgres 

Sie müssen dann /etc/apache2/httpd.conf aktualisieren, um die richtige PHP-Version zu zeigen, und starten Sie Apache:

LoadModule php5_module /usr/local/Cellar/php55/5.5.32/libexec/apache2/libphp5.so 

Meine OSX-Version ist Yosemite.

1

Installieren Sie neue PHP-Version über brauen und Server neu starten, und php -v, alle Probleme werden entfernt.