L'installation de PHP 7 MongoDB Client/Pilote?
Je suis très impatient de commencer à travailler avec PHP 7 mais la question la plus importante est de prendre le chemin... j'ai d'abord utiliser MongoDB pour la base de données, et le problème est que je ne sais pas comment installer MongoDB pilote/client pour PHP 7.
Mon installation actuelle est PHP 5.6 et sur mon Mac et brew install php56-mongo
fait le tour.
Peut-on recommander comment je peux le faire fonctionner sur mon Mac ou un Ubuntu installer?
Merci d'avance et très apprécié!
Vous devez vous connecter pour publier un commentaire.
Les Mongo extension pour PHP Version 5.99.99 ou plus a été remplacé:
https://pecl.php.net/package/mongo
Utiliser la plus récente de la Version de PHP 7.99.99 ou plus à la place:
https://pecl.php.net/package/mongodb
Vous pouvez installer un PECL/POIRE extension automatiquement:
ou manuellement.
La classes ont été modifiées:
voir http://php.net/manual/en/book.mongo.php
voir http://php.net/manual/en/set.mongodb.php
Des informations supplémentaires concernant la compatibilité peut être trouvé ici:
https://docs.mongodb.org/ecosystem/drivers/php/#compatibility
MongoDB pilote qui prend en charge le PHP 7 était seulement publié le 22 décembre - probablement en aval des référentiels comme brew n'ai pas mis à jour.
Mise à jour a confirmé il n'y a actuellement aucune
php70-mongo
brew script, si il y a un actif pull request pour en ajouter une.Vous pouvez être en mesure de l'installer manuellement via pecl dans l'intervalle:
Comment connecter php 7.0 avec MongoDB dans ubuntu 16.04 lts?
1)Installer la LAMPE en utilisant le lien suivant. Il permet d'installer Apache2, mysql et php 7.0.
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
2)Installer MongoDB community Edition sur Ubuntu en utilisant les étapes décrites dans le lien suivant.
http://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
3)Tapez la commande suivante pour obtenir la mongoDB extension pecl
4)Ajouter les éléments suivants à l'aide de php.fichier ini à
/etc/php/apache2/7.0
Important - Les classes ont été modifiées:
Consultez - http://php.net/manual/en/set.mongodb.php
Vous pouvez essayer d'installer mongodb pilote avec:
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/
MongoDB pilote pour la Version de PHP 5.99.99 ou plus était:
https://pecl.php.net/package/mongo
pour installer ce que nous devons utiliser:
sudo apt-get install php-pear php5-dev
sudo pecl install mongo
À partir de PHP 7 à partir, c'est le nouveau pilote
https://pecl.php.net/package/mongodb À installer que l'utilisation:
sudo pecl install mongodb
Si vous utilisez le framework Laravel ou des projets avec le compositeur, alors cette bibliothèque est la plus appropriée:
https://github.com/jenssegers/Laravel-MongoDB
Utiliser la version 3.0.0 pour obtenir PHP 7 & Laravel 5 soutien et utiliser l'ancienne version 2.2.2
Compositeur commande:
compositeur besoin jenssegers/mongodb
Si vous utilisez d'autres frameworks PHP sans compositeur, l'utilisation de cette bibliothèque: https://github.com/mongodb/mongo-php-library qui est également utilisé dans la bibliothèque
Non, le pilote ne prend pas en charge PHP7, malheureusement. Voici la validation et la JIRA Billet où cela a été officiellement finalisée.
La nouvelle version de PHP MongoDB pilote peut être trouvé dans PECL ici (ou GitHub).
À installer, il suffit de:
La documentation pour le nouveau pilote peut être trouvé ici. J'aimerais inclure une note à partir de la documentation:
La nouvelle
mongodb
pilote /extension PHP est beaucoup plus faible au niveau de l'héritagemongo
pilote, et vous êtes encouragés à utiliser un niveau plus élevé de la bibliothèque sur le dessus du conducteur plutôt que de l'utiliser directement dans votre code.La Mongo Bibliothèque PHP (les communiqués de) est la bibliothèque de haut niveau pour PHP, et c'est ce qui est recommandé pour une utilisation dans vos projets. Il est encore en version Bêta, mais cela semble toujours être le plus sûr et le plus-l'avenir du chemin de l'avant avec PHP7.
Il pourrait être possible pour quelqu'un port de l'héritage de pilote pour PHP7, mais il n'y a probablement pas beaucoup d'un besoin, il y a beaucoup d'autres problèmes avec le pilote.
Vieille question, mais de nouveaux excellente solution. Utilisez simplement Mongostead7 script automatisé pour l'installation de tous les matériaux nécessaires. Travaillé pour moi très bien. Aucun travail supplémentaire n'est nécessaire.
Utiliser comme suit:
En complément des réponses et de la publication de ce qui a fonctionné pour moi:
1 suivi ce guide pour installer la lampe https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04 (La troisième étape est nécessaire uniquement pour l'installation de la mongo client)
2
$ sudo apt-get install php7.0-dev
3
$ sudo pecl install mongodb
4
$ sudo nano /etc/php/7.0/apache2/php.ini
Et c'est tout pour l'installation il suffit de la mongo client pour php 7.0
Je suis en complétant le Pransh Tiwari réponse
J'ai presque renoncé, trop. Pour La MongoDB pilote pour PHP 7x, Ubuntu 18.04 Pecl ne fonctionnera pas. Au lieu de cela, essayez:
Puis dans la base du dossier de votre projet installer mongodb bibliothèque https://docs.mongodb.com/php-library/current/tutorial/install-php-library/
Qui accède à la baisse de niveau des fonctions fournies par le pilote.
Enfin, allez à la php.ini et ajouter
et redémarrer apache
Pour tester, essayez d'ajouter ce point à un fichier php:
Cela a fonctionné pour moi sur Ubuntu pour PHP7:
sudo apt-get install php7.0-mongodb
Unable to locate package php7.0-mongodb
UBUNTU 16.0.4 (07.12.2016)
installer PHP-MONGODB pilotes :
Commandes :
- sudo pecl installer mongodb
-> résultat :
Processus de construction est terminée avec succès
L'installation de '/usr/lib/php/20151012/mongodb.si"
install ok: channel://pecl.php.net/mongodb-1.2.0
l'option de configuration "php_ini" n'est pas défini pour php.ini emplacement
Vous devez ajouter "extension=mongodb.ainsi" à php.ini
installer DoctrineMongoDBBundle :
http://symfony.com/doc/current/bundles/DoctrineMongoDBBundle/index.html,
http://www.doctrine-project.org/2016/06/09/odm-1-1-0-and-1-0-6.html,
De donner la solution que j'ai besoin d'au moins 10 réputation de poster...
Je suis à l'aide de php version 7.0 sur ubuntu 16.04. Je donne une info détaillée pour l'installation de la mongo pilote/client.
J'ai d'abord installé manuellement mongodb et puis la mongodb-php pilote pour elle.
1) l'Installation de mongo db. Entrez les commandes suivantes:
Afin de bien lancer Mongdb comme un service, c'est à dire automatiquement à partir Mongodb lorsque le système démarre, suivez les étapes suivantes:
De créer le fichier de mongodb.service dans /etc/systemd/system/en entrant la commande:
Collez le contenu suivant:
Puis entrez les commandes suivantes:
2) Installation de l'mongo-driver php:
Aussi, vous pouvez recevoir l'erreur: la commande phpize pas trouvé. La commande phpize est une commande qui est utilisé pour créer un environnement de construction. Cette erreur peut apparaître au moment de l'installation de toute extension pecl. Pour résoudre ce problème de la commande phpize de commande n'est pas trouvé, l'utilisateur doit installer php5-dev paquet.
Pour l'installer, entrez la commande:
Puis dans le php.fichier ini qui est dans /etc/php/7.0/apache2 répertoire, ajoutez les mongo db extension:
Ajouter la ligne suivante dans le fichier:
extension = mongo.de la sorte;
(Vous devrez peut-être spécifier l'emplacement exact du fichier. Dans mon cas, le fichier est dans /usr/lib/php/20151012/mongodb.donc.)
De sorte que le mongo db est installé avec son pilote.
3) Maintenant, gardez à l'esprit que les mongo-php classes ont été modifiées. La plupart des ressources disponibles sur le net donnent des solutions à l'aide de vieux classes qui est remplacée. Ci-dessous les liens qui vous pouvez vous référer à:
http://php.net/manual/en/set.mongodb.php
http://zetcode.com/db/mongodbphp/
Voici quelques commandes de base opérations de base de données:
Pour insérer des données dans la base de données:
Pour l'extraction de données:
Si vous avez du mal à avoir votre ancien PHP5 code de travail avec PHP7, une solution que vous pourriez vouloir regarder dans est https://github.com/alcaeus/mongo-php-adapter
J'ai remarqué que dans la plupart des cas, y compris la carte de la bibliothèque est tout ce que vous devez faire pour obtenir votre ancien PHP5 code fonctionne correctement sous PHP7 avec le nouveau pilote /bibliothèque approche.
Ensuite, je vous suggère fortement de migrer votre code à la nouvelle MongoDB PHP Library (https://github.com/mongodb/mongo-php-library) ou que vous utilisez le pilote natif pour bénéficier des gains de vitesse.