Environnement d'exécution PHP

Votre fonction Cloud Run s'exécute dans un environnement composé d'une version de système d'exploitation avec des packages complémentaires, d'une compatibilité avec les langages et de la bibliothèque du framework des fonctions PHP compatible avec votre fonction et qui l'appelle. Cet environnement est identifié par la version de langage et est appelé ID d'exécution.

Préparation de la fonction

Vous pouvez préparer une fonction directement depuis la console Google Cloud, ou l'écrire sur votre ordinateur local et l'importer. Pour préparer votre ordinateur local pour le développement PHP, consultez Utiliser PHP sur Google Cloud.

Environnements d'exécution et images de base PHP compatibles

Environnement d'exécution ID d'exécution Piles Image de base de l'environnement d'exécution
PHP 8.3 php83
  • google-22 (par défaut)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (par défaut)
  • google-22-full
  • google-22/php82
  • google-22-full/php82
  • PHP 8.1 php81 google-18-full google-18-full/php81
    PHP 7.4 php74 google-18-full google-18-full/php74

    Sélectionner votre environnement d'exécution

    Vous pouvez sélectionner l'un des environnements d'exécution PHP compatibles pour votre fonction lors du déploiement.

    Vous pouvez sélectionner une version d'exécution à l'aide de la console Google Cloud ou de la gcloud CLI. Cliquez sur l'onglet pour obtenir des instructions concernant l'utilisation de l'outil de votre choix:

    gcloud

    Spécifiez l'image de base PHP pour votre fonction à l'aide de l'option --base-image lorsque vous déployez votre fonction. Exemple :

    gcloud beta run deploy FUNCTION \
        --source . \
        --function FUNCTION_ENTRYPOINT \
        --base-image php83
    

    Remplacez :

    • FUNCTION par le nom de la fonction que vous déployez. Vous pouvez omettre ce paramètre, mais dans ce cas le nom vous sera demandé.

    • FUNCTION_ENTRYPOINT par le point d'entrée de votre fonction dans votre code source. Il s'agit du code exécuté par Cloud Run lors de l'exécution de votre fonction. La valeur de cette option doit être un nom de fonction ou un nom de classe complet qui existe dans votre code source.

    Pour obtenir des instructions détaillées sur le déploiement d'une fonction à l'aide de la CLI gcloud, consultez Déployer des fonctions dans Cloud Run.

    Console

    Vous pouvez sélectionner une version d'environnement d'exécution lorsque vous créez ou mettez à jour une fonction Cloud Run dans la console Google Cloud. Pour obtenir des instructions détaillées sur le déploiement d'une fonction, consultez Déployer des fonctions dans Cloud Run.

    Pour sélectionner un environnement d'exécution dans la console Google Cloud lorsque vous créez une fonction, procédez comme suit:

    1. Dans la console Google Cloud, accédez à la page Cloud Run :

      Accédez à Cloud Run

    2. Cliquez sur Écrire une fonction.

    3. Dans la liste Environnement d'exécution, sélectionnez une version d'environnement d'exécution PHP.

    4. Cliquez sur Créer, puis attendez que Cloud Run crée le service à l'aide d'une révision d'espace réservé.

    5. La console vous redirigera vers l'onglet Source, où vous pourrez voir le code source de votre fonction. Cliquez sur Enregistrer et redéployer.

    Pour obtenir des instructions détaillées sur la mise à jour de la version d'exécution après le déploiement de votre fonction, consultez la section Redéployer le nouveau code source.

    Structure du code source

    Pour que Cloud Run Functions trouve la définition de votre fonction, votre code source doit respecter une structure spécifique. Pour en savoir plus, consultez la page Écrire des fonctions Cloud Run.

    Configuration PHP

    Vous configurez votre fonction PHP avec un fichier php.ini dans le répertoire racine de votre fonction. Vous pouvez afficher les paramètres de configuration PHP existants avec la fonction phpinfo(), comme indiqué dans l'exemple de code suivant :

    
    use Psr\Http\Message\ServerRequestInterface;
    
    function phpInfoDemo(ServerRequestInterface $request): string
    {
        // phpinfo() displays its output directly in the function's
        // HTTP response, so we don't need to explicitly return it
        //
        // Note: we recommend deleting the deployed Cloud Function once you no
        // longer need it, as phpinfo() may broadcast potential security issues.
        phpinfo();
        return '';
    }
    

    Spécifier des dépendances

    PHP utilise Composer pour gérer les dépendances. Vous spécifiez des dépendances pour votre fonction en les ajoutant à un fichier de projet appelé composer.json.

    L'environnement d'exécution PHP des fonctions Cloud Run nécessite que le framework des fonctions soit une dépendance explicite. Pour ajouter le framework des fonctions en tant que dépendance, exécutez la commande suivante dans le répertoire contenant le code de votre fonction (ce répertoire doit également contenir le fichier composer.json):

    composer require google/cloud-functions-framework
    

    Cette commande ajoute le framework des fonctions à votre fichier composer.json et installe le package dans le répertoire vendor/.

    Fichier autoload.php

    L'un des fichiers contenus dans votre répertoire vendor/ est autoload.php.

    Ajoutez la ligne suivante au début de vos scripts PHP pour exiger le fichier autoload.php, ce qui va exiger (require) automatiquement les autres dépendances de votre fonction :

    require_once __DIR__ . '/vendor/autoload.php';
    

    Par défaut, le répertoire vendor/ est ignoré dans le fichier .gcloudignore généré afin de réduire le nombre de fichiers envoyés en déploiement.