2016-01-02 2 views

Répondre

0

Il existe une alternative si vous avez vraiment besoin d'utiliser un bundle ou une bibliothèque avec de fortes dépendances sur le pilote php mongo legacy, cela s'appelle "alcaeus: mongo-php-adapter". Il fournit une bibliothèque ext-mongo au-dessus de mongo-php-library (sic).

https://github.com/alcaeus/mongo-php-adapter

Si vous rencontrez un problème avec le compositeur lié à l'absence de pilote hérité (message Famous « L'extension PHP demandé ext-mongo * est manquant »), vous pouvez le corriger en ajoutant que pour composer.json

"fournir": { "ext-mongo": "1.6.12" },

Dans ce cas, peut-être que vous voulez jeter un oeil à ce fil (même situation, mais avec Heroku): https://github.com/alcaeus/mongo-php-adapter/issues/67

0

Non, le pilote hérité ne supporte pas PHP7. Voici the commit et le JIRA Ticket où cela a été officiellement finalisé. Le nouveau pilote PHP MongoDB peut être trouvé in PECL here (ou GitHub).

Pour installer, il suffit:

pecl channel-update pecl.php.net 

pecl install mongodb 

echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"` 

La documentation pour le nouveau pilote peut être trouvé here. Je voudrais inclure une note de la documentation:

En fin de compte, cette extension n'est pas destinée à être utilisée seule. Les utilisateurs doivent envisager d'utiliser ce pilote avec une ou plusieurs bibliothèques PHP d'utilisateur, telles que mongo-php-library.

Le nouveau mongodb pilote/extension PHP est beaucoup plus bas niveau que le pilote héritage mongo, et nous vous encourageons à utiliser une bibliothèque de niveau supérieur au-dessus du conducteur plutôt que d'utiliser directement dans votre code . La Mongo PHP Library (releases) est la bibliothèque officielle de haut niveau pour PHP, et c'est ce qu'il est recommandé d'utiliser dans vos projets. Il est toujours en version bêta, mais cela semble toujours être le chemin le plus sûr et le plus à l'épreuve du futur avec PHP7.

Modifier: Le pilote Mongo Legacy n'est plus actif du tout.

+0

Tout d'abord, merci d'éditer. De la bonne question à la mauvaise. Je connais le dernier commit. Je connais le nouveau pilote. Je trouve le moyen d'utiliser un pilote hérité avec PHP7. C'est ce que je demande à propos de. –

+0

Pas de problème. À droite, le pilote hérité ne fonctionnera tout simplement pas avec PHP7. Vous devrez le modifier manuellement pour être compatible avec la nouvelle API. Je pense que ce serait un bon moment pour passer au nouveau pilote. – Will