在 PHP 中指定依附元件
您可以使用 Composer 管理 PHP 中的依附元件。
安裝 Composer
如果您尚未安裝 Composer,請按照下列步驟操作:
下載完成後,請將
composer.phar
檔案移至系統路徑中的目錄,例如:mv composer.phar /usr/local/bin/composer
建立 composer.json
檔案
composer.json
檔案會列出函式的依附元件。您可以手動建立,也可以執行下列指令:
composer init
執行這項指令時,系統會以互動方式要求您填寫欄位,並提供一些智慧預設值。
宣告依附元件
如要宣告依附元件,請在函式程式碼目錄中新增含有依附元件的 composer.json
檔案。在本範例中,我們需要使用 Functions Framework,並新增 start
指令碼:
{ "require": { "php": ">= 8.1", "google/cloud-functions-framework": "^1.1" }, "scripts": { "start": [ "Composer\\Config::disableProcessTimeout", "FUNCTION_TARGET=helloHttp php -S localhost:${PORT:-8080} vendor/google/cloud-functions-framework/router.php" ] } }
請注意,如果 Composer 可以使用快取結果,composer.json
檔案中定義的指令碼就不會執行。
將 Functions Framework 新增為依附元件
Cloud Run 函式 PHP 執行階段要求函式架構必須是明確的依附元件。如要將 Functions Framework 新增為依附元件,請在包含函式程式碼的目錄中執行下列指令 (這個目錄也必須包含 composer.json
檔案):
composer require google/cloud-functions-framework
這會將 Functions Framework 新增至 composer.json
,並在 vendor/
目錄中安裝套件。
autoload.php
檔案
vendor/
目錄中包含的其中一個檔案是 autoload.php
。
將以下這行加入 PHP 指令碼頂端,以便要求 autoload.php
檔案,該檔案會自動 require
函式的其他依附元件:
require_once __DIR__ . '/vendor/autoload.php';
根據預設,系統會在產生的 .gcloudignore
檔案中忽略 vendor/
目錄,藉此減少部署作業中傳送的檔案數量。
更新依附元件
如要更新函式的依附元件和 composer.lock
檔案,請使用 update
指令:
composer update
這會解析專案的所有依附元件,並將確切版本寫入 composer.lock
。