Question

Comment puis-je faire fonctionner PDO sur mon Mac (OS X 10.5)? J'utilise les php intégrés et php dans Zend / Eclipse. Je n'arrive pas du tout à trouver de pilotes utiles.

Était-ce utile?

La solution

J'ai dû installer le pilote PDO_PGSQL récemment sur Leopard et j'ai rencontré une multitude de problèmes. En cherchant des réponses, je suis tombé sur cette question. Maintenant que je l’ai installée 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 vont sans aucun doute se heurter à des problèmes similaires.

La première chose à faire est de installer PEAR . , si vous ne l’avez pas déjà fait, car il n’est pas installé par défaut sur Leopard.

Ensuite, 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 en tant que superutilisateur, c.-à-d. sudo pecl .)

Ensuite, étant donné que le programme d'installation de PECL ne peut pas installer l'extension directement, vous devez le construire et l'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 tout se passe 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 doit avoir sorti le répertoire dans lequel elle a installé l’extension).

Pour finaliser l'installation, vous devez éditer votre fichier php.ini . Recherchez la section intitulée "Extensions dynamiques" et, sous la liste des extensions (probablement commentées), ajoutez cette ligne:

extension=pdo_pgsql.so

Maintenant, en supposant que ce soit la première fois que vous installiez des extensions PHP, vous devez suivre deux étapes supplémentaires pour que cela fonctionne. Tout d’abord, dans php.ini , recherchez la directive rép_extension (sous "Chemins et répertoires"), puis remplacez-la par le répertoire pdo_pgsql.so <. Le fichier / code> a été installé dans. Par exemple, ma directive rép_extension ressemble à:

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

La deuxième étape, si vous utilisez un Mac Intel 64 bits, consiste à faire fonctionner Apache en mode 32 bits. (Si la stratégie est meilleure, j'aimerais savoir, mais pour l'instant, c'est la meilleure solution que j'ai trouvée.) Pour ce faire, modifiez le fichier de liste de propriétés situé à / Système / Bibliothèque / LaunchDaemons /. org.apache.httpd.plist . Trouvez ces deux lignes:

<key>ProgramArguments</key>
<array>

Sous eux, ajoutez ces trois lignes:

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

Maintenant, redémarrez Apache et PDO_PGSQL sera opérationnel.

Autres conseils

Jetez un coup d'œil à ce package PECL: PDO_PGSQL

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

Je ne suis pas sûr que cela aidera les pilotes PDO en particulier, mais vous pouvez vous renseigner sur MAPPStack de BitNami .

J'ai eu énormément de problèmes avec Postgres, PHP et Apache sur mon Mac, certains d'entre eux étant liés aux versions 64 ou 32 bits de certains d'entre eux. Jusqu'ici, l'installation de BitNami MAPPStack fonctionne bien en général. Cela vous aidera peut-être également à résoudre vos problèmes de PDO.

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

C'est ce qui a fonctionné pour moi

brew install php55-pdo-pgsql

Ceci installe PHP 5.5.32 et PostgreSQL 9.5. J'avais déjà installé PostgreSQL 9.4, j'ai donc désinstallé la version homebrew avec:

brew uninstall postgres

Vous devez ensuite mettre à jour /etc/apache2/httpd.conf pour qu'il pointe vers la bonne version de PHP et redémarrer Apache:

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

Ma version OSX est Yosemite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top