2 votes

Pilote Mongo PHP 1.2.10 avec MAMP

J'essaie de faire fonctionner le dernier pilote Mongo avec MAMP 1.9.6 sur OS X 10.5.8.

Je l'ai construit avec succès à partir des sources puisqu'il semble qu'il n'y ait pas de versions pré-compilées, je l'ai inclus dans le bon répertoire et j'ai redémarré Apache.

Mais PHP ne reconnaît pas l'extension. J'utilisais précédemment le pilote 1.0.11 qui fonctionnait bien, mais j'ai besoin de la nouvelle version, car Doctrines ODM la requiert.

Lorsque je remplace la version 1.2.10 de mongo.so par la version 1.0.11 et que je redémarre apache, mongo est disponible. Je ne comprends pas ce qui pourrait ne pas fonctionner.

Quelqu'un a t-il eu ce comportement ou a t-il une idée pour que cela fonctionne ?

Update : Le journal des erreurs de PHP indique ce qui suit :

[01-Jun-2012 22:02:37] PHP Warning:  PHP Startup: mongo: Unable to initialize module
Module compiled with module API=20060613
PHP    compiled with module API=20090626
These options need to match
 in Unknown on line 0

Je ne suis pas tout à fait sûr de ce que cela signifie ?

2. Mise à jour de : J'ai finalement pu synchroniser la version API de phpize .

Mais maintenant je ne suis plus capable de construire le pilote.

Je fais ce qui suit :

phpize
./configure
make
sudo make install

Mais au make commande, j'obtiens des tonnes d'erreurs de syntaxe. Il semble qu'il ne puisse pas trouver plusieurs fichiers d'en-tête.

Le tout premier est le zend_config.h et je n'ai vraiment que ces deux autres fichiers :

zend_config.nw.h
zend_config.w32.h

J'ai téléchargé les composants MAMP pour obtenir ces fichiers. Pourquoi est-ce que je manque celui-ci ? Et il y en a beaucoup d'autres.

J'utilise PHP 5.3.5. Y a-t-il un moyen d'obtenir ces fichiers d'en-tête à partir d'une source différente ?

3voto

Stennie Points 19196

J'ai suivi les instructions à Développer des applications web MongoDB avec MAMP sous Mac OS X pour construire avec succès mongo.so pour MAMP avec php 5.3 sur OS X 10.7.3.

2voto

Kristian Points 7423

J'ajoute ceci à des fins historiques - je vous garantis que si vous rencontrez les mêmes problèmes, vous voudrez faire ceci.

Personnellement, j'ai eu beaucoup de mal à faire en sorte que la version php de MAMP soit compatible avec les extensions que j'essayais de créer.

J'ai découvert que le problème était que MAMP n'avait pas vraiment été configuré pour ajouter des extensions en général, et pendant la compilation des pilotes mongo php, il ne les installait pas au bon endroit -- j'ai donc suivi le tutoriel suivant sur préparation de MAMP pour des extensions supplémentaires de pecl et pear .

Après avoir suivi ces étapes pour préparer MAMP à l'ajout d'extensions, vous pouvez facilement installer n'importe quelle extension.

Au moment où il est question d'ajouter une extension, utilisez sudo pecl install mongo et redémarrez apache depuis votre interface MAMP.

0voto

Kerkness Points 145

J'ai rencontré le même problème lors de la mise à jour de PHP 5.3 vers 5.4 et j'ai pu le résoudre en suivant ces étapes :

  1. Assurez-vous de mettre à jour php5-cli ainsi que php5 et php5-common.

  2. Désinstaller le lecteur Mongo

    sudo pecl uninstall mongo
  3. Réinstaller le pilote Mongo

    sudo pecl install mongo

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X