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/valkey-connect-php.md.

Se connecter avec PHP au service Public Cloud Databases pour Valkey

Voir en Markdown

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

Prérequis

  • Disposer d'un projet Public Cloud dans votre compte OVHcloud
  • Disposer d'un service Valkey fonctionnant sur votre Public Cloud Databases OVHcloud (ce guide peut vous aider à répondre à ce prérequis)
  • Configurer votre service Valkey pour qu'il accepte les connexions entrantes
  • Disposer d'un environnement PHP dans une version stable, avec une connectivité au réseau public (Internet). Ce guide a été réalisé en PHP 8.4.

Concept

Un service Valkey peut être géré de plusieurs façons. L'une des plus simples, tout en restant puissante, consiste à utiliser une interface en ligne de commande (CLI), comme le montre notre guide : Se connecter avec la CLI.

Une autre méthode consiste à interagir directement à l'aide de langages de programmation, tels que PHP. Valkey dispose de plusieurs clients PHP, permettant de se connecter à une instance et de la gérer depuis le code. Veuillez consulter la liste officielle des clients Valkey pour obtenir les informations les plus récentes sur les clients.

Nous allons devoir configurer notre environnement PHP avec le client phpredis, puis configurer notre service Public Cloud Databases pour Valkey afin qu'il accepte les connexions entrantes, et enfin coder en PHP pour effectuer quelques actions d'exemple.

En pratique

Configurer votre environnement PHP

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

  • Une version compatible de PHP ;
  • Un client PHP prenant en charge Valkey et TLS, par exemple :
    • l'extension phpredis (version 6.3.0 au moment de la rédaction), qui prend en charge Valkey, installée avec pecl install redis ;
    • la bibliothèque Predis (version 3.6.1 au moment de la rédaction), un client Redis/Valkey écrit en PHP, installée avec composer require predis/predis.

Pour phpredis comme pour Predis, il est recommandé de consulter leurs sites respectifs pour connaître la procédure d'installation :

Nous sommes maintenant prêts à apprendre comment nous connecter à notre instance. Nous utiliserons phpredis comme client PHP.

Se connecter avec PHP

Récupérez l'hôte et le port de votre service dans l'onglet Dashboard, section Informations de connection, comme expliqué dans le guide Configurer les connexions entrantes.

TLS est obligatoire : les connexions sans TLS sont refusées. Avec phpredis, le préfixe tls:// devant l'hôte active TLS. Le certificat du serveur est signé par une autorité de certification publique : PHP le vérifie par défaut (options de contexte SSL verify_peer et verify_peer_name) avec les certificats CA de votre système, vous n'avez donc besoin d'aucun fichier CA. Ne désactivez pas cette vérification.

Dans votre environnement PHP, essayons une connexion. Pour être sûr d'être bien connecté, définissez une paire de données puis vérifiez que vous pouvez en récupérer la valeur. Remplacez <username>, <password>, <host> et <port> par vos propres valeurs :

<?php
    // PHP version 8.4 used here
    echo "\nConnection to server ongoing...";
    $valkey = new Redis(); // phpredis class, compatible with Valkey

    // TLS connection to the Valkey service, with certificate verification
    $valkey->connect('tls://<host>', <port>, 2.5, '', 0, 0, [
        'stream' => ['verify_peer' => true, 'verify_peer_name' => true],
    ]);

    // Authenticate with your user
    $valkey->auth(['<username>', '<password>']);

    // Ping the instance
    echo "\nServer is running: " . var_export($valkey->ping(), true);

    // Set the key pair
    echo "\nSet key pair (cache:foo,cowabunga).";
    $valkey->set('cache:foo', 'cowabunga');

    // Get the value of the key cache:foo
    $response = $valkey->get('cache:foo');
    echo "\nGet the value for key cache:foo: ";
    echo $response;

    if ($response == "cowabunga") {
        echo "\nPHP test with Valkey OK.\n";
    } else {
        echo "\nPHP Test FAILED\n";
    }
?>

Félicitations ! Tout fonctionne correctement.

Tip

Évitez d'écrire votre mot de passe dans votre code source : lisez-le depuis une variable d'environnement (par exemple getenv('VALKEY_PASSWORD')) ou depuis un gestionnaire de secrets.

Si vous obtenez une erreur NOPERM, les permissions de votre utilisateur n'autorisent pas la clé ou la commande utilisée. Dans notre exemple, l'utilisateur doit pouvoir lire et écrire les clés correspondant à cache:*. Vérifiez ses clés, catégories et commandes dans l'onglet Utilisateurs, comme expliqué dans le guide Configurer les connexions entrantes.

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.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Rejoignez notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?