Tous les produits
Search
Centre de documentation

Function Compute:Déployer un package de code

Dernière mise à jour :Aug 12, 2026

Déployez une fonction PHP avec des dépendances tierces sur Function Compute en regroupant 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

Avant le déploiement, configurez un répertoire de code local contenant le handler de votre fonction.

  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, regroupez le code dans un fichier ZIP, puis téléchargez-le via la console Function Compute.

Prérequis

Avant de commencer, assurez-vous de disposer 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. Toujours dans le répertoire mycode, exécutez composer install pour installer les dépendances. Une fois la commande terminée, Composer génère un fichier composer.lock ainsi qu'un répertoire vendor dans mycode. Les dépendances téléchargées se trouvent dans le répertoire vendor.

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

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

      zip code.zip -r ./*
      Note: Vérifiez que vous disposez bien des permissions en lecture et en écriture sur ce répertoire.
    • Windows : Ouvrez le répertoire mycode, sélectionnez l'ensemble des fichiers, faites un clic droit, puis compressez-les dans un fichier ZIP.

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

  5. Sous l'onglet Code de la page de détails de la fonction, cliquez sur Test Function pour vérifier le bon déroulement du déploiement.

Méthode 2 : Utiliser Serverless Devs

Serverless Devs, combiné à Docker, permet de construire et déployer votre fonction sans avoir à gérer manuellement le fichier ZIP.

Prérequis

Avant de commencer, assurez-vous d'avoir réalisé les étapes 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. Toujours dans le répertoire mycode, créez le fichier composer.json :

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

    sudo s build --use-docker

    Une fois la commande terminée, Serverless Devs place les dépendances et le code dans le répertoire ./vendor.

  4. Lancez le déploiement de la fonction à l'aide de la commande suivante :

    sudo s deploy

    À l'issue de cette opération, votre fonction est déployée sur Function Compute.

Étapes suivantes

Pour gérer vos dépendances sans les inclure systématiquement dans chaque déploiement, utilisez les couches (layers) de Function Compute. Consultez Créer une couche personnalisée.