For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/databases/mysql-connect-php.md.

Se connecter depuis PHP au service Public Cloud Databases pour MySQL

Voir en Markdown

Connectez-vous à votre service Public Cloud Databases pour MySQL 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 MySQL avec l'un des langages de programmation les plus célèbres au monde : PHP.

Vous trouverez 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 MySQL exécutée sur votre OVHcloud Public Cloud Databases (ce guide peut vous aider à répondre à ce prérequis)
  • Configurer votre instance MySQL 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é en PHP 8.0.8.

Accès à l'espace client OVHcloud

  • Lien direct :
  • Chemin de navigation : Public Cloud > Sélectionnez votre projet

Concept

Une instance MySQL peut être gérée de plusieurs façons. L'une des plus simples, mais aussi des plus puissantes, consiste à utiliser une Command Line Interface (CLI), comme le montre notre guide : Se connecter à MySQL avec la CLI.

Une autre méthode consiste à interagir directement à l'aide de langages de programmation, comme PHP. PHP est utilisé sur près de 80 % des sites web dans le monde, tels que Facebook, Wikipedia ou WordPress. MySQL fournit des drivers PHP, qui permettent de se connecter et de gérer une instance MySQL depuis le code.

Pour ce faire, nous devrons configurer notre environnement PHP avec les drivers MySQL, puis coder en PHP pour réaliser quelques exemples d'actions.

En pratique

Configurer votre environnement PHP

Pour interagir avec votre instance MySQL en PHP, votre environnement de développement doit être configuré avec :

  • Une version compatible de PHP ;
  • Les extensions PHP MySQLi, PDO et OpenSSL installées et activées dans php.ini ;

Veuillez consulter la documentation officielle MySQL Drivers and Plugin pour obtenir les dernières informations.

Si vous pouvez modifier vous-même votre environnement PHP, installez les extensions et bibliothèques comme détaillé dans la page de documentation lié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 plan d'hébergement web. Vous trouverez ici un guide sur la modification de votre version de PHP pour OVHcloud Web Hosting.

Nous sommes maintenant prêts à découvrir comment nous connecter à notre instance MySQL.

Se connecter avec PHP

Utiliser mysqli

<?php
$host = "mysql-11xxxx20-o2xxxx53.database.cloud.ovh.net";
$user = "avnadmin";
$password = "K93xxxxxxxxxxxxxaBp";
$dbname = "defaultdb";
$port = "20184";

try {
  $db = mysqli_init();
  $link = mysqli_real_connect($db, $host, $user, $password, $dbname, $port, NULL, MYSQLI_CLIENT_SSL);
  $res = $db->query("SHOW GLOBAL STATUS LIKE 'Ssl_cipher';");
  $rows = $res->fetch_all();
  var_dump($rows[0]);
  $db->close();
}
catch (Throwable $e) {
  echo "Captured Throwable for connection : " . $e->getMessage() . PHP_EOL;
}
?>

Si vous êtes connecté, le résultat devrait ressembler à ceci :

array(2) {
  [0]=>
  string(10) "Ssl_cipher"
  [1]=>
  string(22) "TLS_AES_256_GCM_SHA384"
}

Utiliser PDO

Cliquez sur Databases dans le menu de navigation de gauche, puis sélectionnez votre instance MySQL.
Sélectionnez l'onglet Informations générales. Dans la section Login Informations, téléchargez le certificat CA.

<?php
$host = "mysql-11xxxx20-o2xxxx53.database.cloud.ovh.net";
$user = "avnadmin";
$password = "K93xxxxxxxxxxxxxaBp";
$dbname = "defaultdb";
$port = "20184";
$options = array(
  PDO::MYSQL_ATTR_SSL_CA => '/<path to>/ca.pem',
  PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false
);

try {
  $conn = new PDO("mysql:host=$host; port=$port; dbname=$dbname", $user, $password, $options);
  var_dump($conn->query("SHOW STATUS LIKE 'Ssl_cipher';")->fetchAll());
  $conn = null;
}
catch (Throwable $e) {
  echo "Captured Throwable for connection : " . $e->getMessage() . PHP_EOL;
}
?>

Si vous êtes connecté, le résultat devrait ressembler à ceci :

array(1) {
  [0]=>
  array(4) {
    ["Variable_name"]=>
    string(10) "Ssl_cipher"
    [0]=>
    string(10) "Ssl_cipher"
    ["Value"]=>
    string(22) "TLS_AES_256_GCM_SHA384"
    [1]=>
    string(22) "TLS_AES_256_GCM_SHA384"
  }
}

Aller plus loin

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.

Cette page vous a-t-elle aidé ?