Se connecter depuis PHP au service Public Cloud Databases pour MongoDB
Connectez-vous à votre service Public Cloud Databases pour MongoDB en utilisant le langage de programmation PHP
Objectif
Public Cloud Databases vous permet de vous concentrer sur la création et le déploiement de vos applications cloud, pendant qu'OVHcloud prend en charge l'infrastructure de base de données et son maintien en conditions opérationnelles.
Ce guide explique comment se connecter à une instance de base de données MongoDB avec l'un des langages de programmation les plus utilisés au monde : PHP.
Vous pouvez trouver un exemple sur le dépôt d'exemples GitHub.
Prérequis
- Un projet Public Cloud dans votre compte OVHcloud
- Une base de données MongoDB active sur votre service Public Cloud Databases OVHcloud (vous pouvez utiliser ce guide pour remplir ce prérequis)
- Configurer votre instance MongoDB pour accepter les connexions entrantes
- Un environnement PHP avec une version stable et une connectivité réseau publique (Internet). Ce guide a été réalisé avec PHP 7.4.
Concept
Une instance MongoDB peut être gérée de plusieurs façons. L'une des plus simples, mais aussi des plus puissantes, consiste à utiliser une interface en ligne de commande (CLI), comme le montre notre guide : Se connecter à MongoDB avec la CLI.
Une autre méthode consiste à interagir directement à l'aide de langages de programmation, tels que PHP. PHP est utilisé dans près de 80 % des sites web dans le monde, comme Facebook, Wikipedia ou WordPress. MongoDB fournit des drivers PHP, nous permettant de connecter et de gérer une instance MongoDB depuis le code.
Pour ce faire, nous devrons configurer notre environnement PHP avec les drivers MongoDB, puis configurer nos instances Public Cloud Databases pour MongoDB pour accepter les connexions entrantes, et enfin coder en PHP pour réaliser quelques actions d'exemple.
En pratique
Configurer votre environnement PHP
Pour interagir avec votre instance MongoDB en PHP, votre environnement de développement doit être configuré avec :
- Une version compatible de PHP ;
- L'extension PHP MongoDB ;
- Fortement recommandé : la librairie PHP MongoDB.
Veuillez suivre la documentation officielle MongoDB pour les drivers PHP pour obtenir les informations les plus récentes.
À la fin de la page de documentation, vous trouverez une matrice de compatibilité entre les versions de PHP, les extensions MongoDB et les versions de la librairie. Suivez-la en conséquence.
Si vous pouvez modifier votre environnement PHP vous-même, installez les extensions et librairies comme indiqué dans cette page de documentation citée ci-dessus.
À l'inverse, si vous bénéficiez d'une solution d'hébergement web managée, comme les offres OVHcloud Web Hosting, vous devez activer la bonne version de PHP sur votre offre d'hébergement web. Vous pouvez trouver ici un guide sur la modification de votre version PHP pour OVHcloud Web Hosting.
Dans les deux cas, en exécutant un phpinfo() dans votre environnement PHP, vous devriez voir des informations sur le driver MongoDB comme illustré ci-dessous :
Nous allons maintenant suivre la documentation officielle MongoDB pour effectuer notre première connexion avec PHP.
Se connecter avec PHP
Dans votre environnement PHP, essayons une connexion. Pour être sûrs d'être bien connectés, nous allons afficher toutes les informations de l'instance MongoDB.
Comme montré dans le code, nous utilisons MongoDB\Driver\Manager. Consultez la documentation officielle PHP pour une documentation exhaustive : https://www.php.net/manual/en/set.mongodb.php.
Si vous êtes connecté, le résultat de var_dump($m) devrait ressembler à ceci :
Si var_dump($m) est vide, vous devrez analyser votre environnement PHP et la matrice de compatibilité MongoDB mentionnée précédemment, ainsi que les throwables :
- Connection timeout : généralement dû à une autorisation IP incorrecte.
- Invalid namespace : le Service URI que vous avez saisi contient peut-être une erreur.
Une fois connecté, vous pouvez effectuer plusieurs opérations, par exemple une insertion en masse et un find() dans une collection :
Dans cet exemple, nous insérons 3 objets dans une collection appelée mycol, puis nous effectuons une opération find() dans cette collection, à la recherche de tous les objets contenant "bob".
Voici le résultat pour var_dump($document) :
Ce code a correctement trouvé un objet contenant bob. Cela signifie que nous avons pu nous connecter à l'instance MongoDB, insérer des données et rechercher ces données. Félicitations ! Tout fonctionne correctement.
Frameworks et outils PHP pour MongoDB
Coder en PHP à partir de zéro pour interagir avec une instance MongoDB peut être amusant et très instructif. Si cela vous intéresse, vous pouvez également consulter la liste MongoDB des librairies, frameworks et outils PHP. Ils peuvent vraiment faciliter votre travail avec PHP.
Aller plus loin
Configurer le vRack pour Public Cloud
Visitez notre chaîne Discord dédiée : https://discord.gg/ovhcloud. Posez vos questions, faites-nous part de vos commentaires et interagissez directement avec l’équipe qui développe nos services de bases de données.
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.
Rejoignez notre communauté d'utilisateurs.