Frage

Wie kann ich PDO auf meinem Mac zu arbeiten (os x 10.5)? Ich verwende die eingebaute PHP und PHP in Zend / Eclipse-. Kann nicht scheinen, nützlich Treiber für ihn überhaupt zu finden.

War es hilfreich?

Lösung

Ich hatte den pdo_pgsql Fahrer vor kurzem auf Leopard zu installieren, und ich auf eine Vielzahl von Problemen lief. Auf der Suche nach Antworten, stolperte ich über diese Frage. Jetzt habe ich es erfolgreich installiert, und so, auch wenn diese Frage ist ziemlich alt, ich hoffe, dass das, was ich gefunden habe, können andere helfen (wie ich), die zweifellos in ähnliche Probleme stoßen.

Das erste, was Sie tun müssen, werden PEAR installieren wenn Sie dies bereits getan haben, nicht, da es nicht auf Leopard standardmäßig installiert kommt.

Wenn Sie das tun, verwenden Sie die PECL-Installer die pdo_pgsql Paket zum Download:

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

. (Anmerkung: Sie können pecl als Superuser laufen haben, das heißt sudo pecl)

Danach, da das PECL Installationsprogramm die Erweiterung direkt nicht installieren kann, werden Sie es selbst müssen 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 alles gut geht, sollten Sie eine Datei „pdo_pgsql.so“ sitzen in einem Verzeichnis mit dem Namen haben, die so etwas wie „/usr/lib/php/extensions/no-debug-non-zts-20060613/“ aussehen sollte (die PECL-Installation das Verzeichnis es die Erweiterung installiert haben, sollten ausgegeben).

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, dies unter der Annahme, das erste Mal ist, dass Sie PHP-Erweiterungen installiert haben, gibt es zwei zusätzliche Schritte, die Sie ergreifen müssen, um diese Funktion zu erhalten. Zuerst in php.ini, die extension_dir Richtlinie finden (unter „Pfaden und Verzeichnissen“), und es in das Verzeichnis, in der pdo_pgsql.so Datei Zum Beispiel installiert wurde ändern, meine extension_dir Richtlinie wie folgt aussieht:.

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

Der zweite Schritt, wenn Sie auf einem 64-Bit-Intel-Mac sind, beinhaltet Apache in 32-Bit-Modus laufen zu machen. (Wenn es eine bessere Strategie, würde ich gerne wissen, aber jetzt, das ist das Beste, was ich finden konnte.) Um dies zu tun, bearbeiten Sie die Eigenschaftslistendatei auf /System/Library/LaunchDaemons/org.apache.httpd.plist befindet. 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, gerade Apache neu starten und pdo_pgsql wird in Betrieb genommen werden.

Andere Tipps

Werfen Sie einen Blick auf diese PECL-Paket: pdo_pgsql

Ich habe es selbst nicht ausprobiert, aber ich habe als Alternative zu MySQL in dem Spiel mit Postgres interessiert. Wenn ich eine Chance haben, es bald zu versuchen, werde ich meine Ergebnisse werfen hier im Falle hilft es.

Ich bin mir nicht sicher, dass dies speziell mit den PDO Treiber helfen, aber Sie könnten Blick in BitNami des MAPPStack .

Ich hatte eine Tonne Probleme mit Postgres, PHP und Apache auf meinem Mac, einige davon mit mit 64- vs 32-Bit-Versionen von einigen oder allen von ihnen zu tun. Bisher installieren die BitNami MAPPStack ist schön in der Regel arbeiten. Vielleicht wird es auch mit Ihren PDO Problemen helfen.

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

Das ist was für mich gearbeitet

brew install php55-pdo-pgsql

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

brew uninstall postgres

Sie müssen dann aktualisieren /etc/apache2/httpd.conf auf 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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top