全部產品
Search
文件中心

Function Compute:部署程式碼封裝

更新時間:Aug 05, 2025

本文以第三方依賴Nette\Utils為例,介紹如何為您的PHP代碼安裝依賴、打包代碼並部署至Function Compute

準備工作

  1. 建立一個用於測試的代碼目錄,如mycode

    • Linux或macOS系統

      您可以執行mkdir -p /tmp/mycode建立。

    • Windows系統

      在任意位置建立檔案夾,並將其命名為mycode即可。

  2. mycode目錄下,建立index.php檔案。

    檔案內容如下。

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

使用Composer安裝依賴並部署

前提條件

  • 您本機已安裝PHP和Composer,且具有執行Composer命令的許可權。關於Composer更多資訊,請參見Composer

  • 可選:您已在Function Compute控制台建立PHP函數。具體操作,請參見建立函數

操作步驟

  1. mycode目錄下建立檔案composer.json

    內容如下:

    {
      "require": {
        "nette/utils": "v3.2.5"
      }
    }
  2. mycode目錄下執行命令composer install下載依賴。

    執行完成後,在該目錄下自動組建檔案composer.lock和目錄vendorvendor目錄下包括已下載的依賴。

  3. 打包mycode目錄下所有檔案。

    • Linux或macOS系統

      進入mycode目錄,執行zip code.zip -r ./*

      說明

      請確保您具有該目錄的讀寫權限。

    • Windows系統

      進入mycode目錄,選中所有檔案,單擊滑鼠右鍵,選擇打包為ZIP包。

    說明

    請確保您建立的index.php檔案位於包的根目錄。

  4. Function Compute控制台找到目標函數,然後在函數詳情頁面的右上方,單擊上傳代碼上傳您上一步打包的ZIP包。

    您也可以選擇在Function Compute控制台建立新的函數的同時上傳ZIP包。具體操作步驟,請參見建立函數

  5. 函數代碼頁簽,單擊測試函數

使用Serverless devs工具安裝依賴並部署

前提條件

安裝Serverless Devs工具及依賴

操作步驟

  1. mycode目錄下編寫s.yaml檔案。

    檔案內容樣本如下。

    edition: 1.0.0          #  命令列YAML規範版本,遵循語義化版本(Semantic Versioning)規範
    name: fcDeployApp       #  專案名稱
    access: "default"  #  密鑰別名
    
    services:
      fc-deploy-test: #  服務名稱
        component: fc  # 組件名稱
        props: #  組件的屬性值
          region: cn-shanghai
          service:
            name: fctest
            description: 'test'
            internetAccess: true
          function:
            name: testphp
            description: this is a test
            runtime: php7.2
            codeUri: ./
            handler: index.handler
            memorySize: 128
            timeout: 6
  2. 執行sudo s build --use-docker安裝依賴。

    執行完成後,會在mycode目錄下產生一個.s目錄。依賴和相關代碼部署到.s/build/artifacts/fctest/testphp/vendor目錄。

  3. 執行sudo s deploy部署專案。

    執行完成後,即可部署函數到Function Compute

更多資訊

您也可以使用Function Compute的層功能安裝依賴。具體操作,請參見層管理