2008-09-15 9 views

Répondre

31

J'ai dû installer le pilote PDO_PGSQL récemment sur Leopard, et j'ai rencontré une multitude de problèmes. Dans ma recherche de réponses, j'ai trébuché sur cette question. Maintenant que je l'ai installé avec succès, et même si cette question est assez ancienne, j'espère que ce que j'ai trouvé pourra aider d'autres (comme moi) qui rencontreront sans aucun doute des problèmes similaires.

La première chose à faire est install PEAR, si ce n'est pas déjà fait, car il n'est pas installé sur Leopard par défaut.

Une fois que vous faites cela, utilisez le programme d'installation de PECL pour télécharger le package PDO_PGSQL:

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

(. Remarque: vous devrez peut-être exécuter pecl comme super-utilisateur, à savoir sudo pecl)

Après cela, car le programme d'installation de PECL ne peut pas installer l'extension directement, vous devrez construire et installer vous-même:

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

Si tous aller Eh bien, vous devriez avoir un fichier appelé "pdo_pgsql.so" assis dans un répertoire qui devrait ressembler à "/usr/lib/php/extensions/no-debug-non-zts-20060613/" (l'installation de PECL aurait dû afficher le répertoire dans lequel l'extension a été installée).

Pour finaliser l'installation, vous devez éditer votre fichier php.ini. Trouvez la section intitulée « Extensions dynamiques », et au-dessous la liste des (probablement commentée) extensions, ajoutez cette ligne:

extension=pdo_pgsql.so 

Maintenant, en supposant que cela est la première fois que vous avez installé des extensions PHP, il y a deux étapes supplémentaires que vous devez prendre pour que cela fonctionne. Tout d'abord, dans php.ini, trouver la directive extension_dir (sous la rubrique « Chemins et répertoires »), et le modifier dans le répertoire que le fichier pdo_pgsql.so a été installé dans Par exemple, ma directive extension_dir ressemble à:.

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

La deuxième étape, si vous êtes sur un Mac Intel 64 bits, implique de faire fonctionner Apache en mode 32 bits. (S'il y a une meilleure stratégie, j'aimerais savoir, mais pour l'instant, c'est le meilleur que j'ai pu trouver.) Pour ce faire, éditez le fichier de la liste des propriétés situé au /System/Library/LaunchDaemons/org.apache.httpd.plist.Retrouvez ces deux lignes:

<key>ProgramArguments</key> 
<array> 

Sous eux, ajouter ces trois lignes:

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

Maintenant, juste redémarrer Apache et PDO_PGSQL sera opérationnel.

1

Je ne suis pas sûr que cela aidera avec les pilotes PDO spécifiquement, mais vous pouvez regarder dans BitNami's MAPPStack.

J'ai eu beaucoup de problèmes avec Postgres, PHP et Apache sur mon Mac, certains ayant trait à des versions 64 ou 32 bits de certains ou de tous. Jusqu'à présent, l'installation de BitNami MAPPStack fonctionne bien en général. Peut-être que cela aidera aussi vos problèmes de PDO.

2

Jetez un oeil à ce package PECL: PDO_PGSQL

Je ne l'ai pas essayé moi-même, mais je me suis intéressé à jouer avec Postgres comme alternative à MySQL. Si j'ai une chance de l'essayer bientôt, je jetterai mes résultats ici au cas où cela aiderait.

0

C'est ce qui a fonctionné pour moi

brew install php55-pdo-pgsql 

Cela installe PHP 5.5.32 et PostgreSQL 9.5. Je l'ai déjà eu PostgreSQL 9.4 installé, donc je désinstaller la version homebrew avec:

brew uninstall postgres 

Vous devez alors mettre à jour /etc/apache2/httpd.conf pour pointer vers la version PHP correcte et redémarrez Apache:

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

Ma version OSX est Yosemite.

1

Installez la nouvelle version php via le serveur de brassage et de redémarrage, et php -v, tous les problèmes sont supprimés.

Questions connexes