Tous les produits
Search
Centre de documentation

Function Compute:Déployer un package de code

Dernière mise à jour :Sep 09, 2026

Déployez une fonction PHP avec des dépendances tierces sur Function Compute en empaquetant votre code et le répertoire vendor dans un fichier ZIP. Ce guide utilise Nette\Utils comme exemple de dépendance et présente deux méthodes de déploiement : Composer via la console Function Compute, et Serverless Devs.

Préparer votre code

Configurez un répertoire local contenant le gestionnaire de votre fonction avant le déploiement.

  1. Créez un répertoire nommé mycode pour le code de votre fonction.

    • Linux et macOS : Exécutez mkdir -p /tmp/mycode.

    • Windows : Créez un dossier nommé mycode.

  2. Dans le répertoire mycode, créez le fichier index.php avec le contenu suivant :

    <?php
    
    require_once __DIR__ . '/vendor/autoload.php';
    
    use Nette\Utils\Arrays;
    
    function handler($event, $context) {
        return Arrays::contains([1, 2, 3], 1);
    }

Méthode 1 : Utiliser Composer

Installez les dépendances localement avec Composer, empaquetez le code dans un fichier ZIP, puis téléchargez-le via la console Function Compute.

Prérequis

Avant de commencer, vérifiez que vous disposez des éléments suivants :

Installer les dépendances et déployer

  1. Dans le répertoire mycode, créez le fichier composer.json :

    {
      "require": {
        "nette/utils": "v3.2.5"
      }
    }
  2. Dans le répertoire mycode, exécutez composer install pour installer les dépendances. À la fin de la commande, Composer génère un fichier composer.lock et un répertoire vendor dans mycode. Les dépendances téléchargées sont stockées dans vendor.

  3. Empaquetez tous les fichiers du répertoire mycode dans un fichier ZIP.

    • Linux et macOS : Accédez au répertoire mycode et exécutez :

      zip code.zip -r ./*
      Remarque : Vérifiez que vous disposez des autorisations de lecture et d'écriture sur le répertoire.
    • Windows : Ouvrez le répertoire mycode, sélectionnez tous les fichiers, faites un clic droit et compressez-les dans un fichier ZIP.

    Remarque : Assurez-vous que index.php se trouve à la racine du package.
  4. Dans la console Function Compute, ouvrez la fonction à mettre à jour. Dans le coin supérieur droit de la page des détails de la fonction, cliquez sur Upload Code et sélectionnez le fichier ZIP. Vous pouvez également importer un fichier ZIP lors de la création d'une fonction. Consultez la rubrique Créer une fonction événementielle.

  5. Dans l'onglet Code de la page des détails de la fonction, cliquez sur Test Function pour vérifier le déploiement.

Méthode 2 : Utiliser Serverless Devs

Utilisez Serverless Devs avec Docker pour générer et déployer votre fonction sans gérer manuellement le fichier ZIP.

Prérequis

Avant de commencer, assurez-vous d'avoir effectué les opérations suivantes :

Installer les dépendances et déployer

  1. Dans le répertoire mycode, créez le fichier s.yaml avec le contenu suivant :

    edition: 3.0.0
    name: fcDeployApp
    access: "default"
    
    vars: # The global variables.
      region: "cn-hangzhou"
    
    resources:
      hello_world:
        component: fc3 # The name of the component.
        props:
          region: ${vars.region}              # For information about how to use variables, visit https://docs.serverless-devs.com/serverless-devs/yaml#%E5%8F%98%E9%87%8F%E8%B5%8B%E5%80%BC.
          functionName: "testphp"
          description: 'this is a test'
          runtime: "php7.2"
          code: ./
          handler: index.handler
          memorySize: 128
          timeout: 30
  2. Dans le répertoire mycode, créez le fichier composer.json :

    {
        "require": {
            "nette/utils": "^3.0"
        }
    }
  3. Exécutez la commande suivante pour installer les dépendances dans un conteneur Docker correspondant à l'environnement d'exécution de Function Compute :

    sudo s build --use-docker

    À la fin de la commande, Serverless Devs installe les dépendances et le code dans le répertoire ./vendor.

  4. Exécutez la commande suivante pour déployer la fonction :

    sudo s deploy

    Une fois la commande terminée, votre fonction est déployée sur Function Compute.

Étapes suivantes

Pour gérer les dépendances sans les empaqueter à chaque déploiement, utilisez les couches Function Compute. Consultez la rubrique Créer une couche personnalisée.