PHP로 종속 항목 지정

PHP는 Composer를 사용하여 종속 항목을 관리합니다. Cloud Shell을 사용하는 경우 composer가 사전 설치되어 있습니다. 그렇지 않으면 Composer의 설치 안내를 따르세요.

composer.json 파일 만들기

composer.json 파일에는 함수의 종속 항목이 표시됩니다. 직접 만들거나 다음 명령어를 실행할 수 있습니다.

composer init

이 명령어를 실행하면 스마트 기본값을 제공하면서 필드를 작성하도록 대화식으로 요청합니다.

종속 항목 선언

종속 항목을 선언하려면 종속 항목이 포함된 composer.json 파일을 함수 코드 디렉터리에 추가합니다. 이 예시에서는 함수 프레임워크가 필요하며 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.json 파일에 정의된 스크립트는 Composer가 캐시된 결과를 사용할 수 있는 경우 실행되지 않습니다.

함수 프레임워크를 종속 항목으로 추가

Cloud Run 함수 PHP 런타임에서는 함수 프레임워크가 명시적 종속 항목이어야 합니다. 함수 프레임워크를 종속 항목으로 추가하려면 함수 코드가 포함된 디렉터리에서 다음 명령어를 실행합니다. 이 디렉터리에 composer.json 파일도 포함되어 있어야 합니다.

composer require google/cloud-functions-framework

이렇게 하면 함수 프레임워크가 composer.json에 추가되고 패키지가 vendor/ 디렉터리에 설치됩니다.

autoload.php 파일

vendor/ 디렉터리에 포함된 파일 중 하나가 autoload.php입니다.

PHP 스크립트 맨 위에 다음 줄을 추가하여 함수의 다른 종속 항목을 자동으로 require하는 autoload.php 파일을 요청합니다.

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

기본적으로 배포 시 보내는 파일 수를 줄이기 위해 vendor/ 디렉터리는 생성된 .gcloudignore 파일에서 무시됩니다.

종속 항목 업데이트

update 명령어를 사용하여 함수의 종속 항목과 composer.lock 파일을 업데이트합니다.

composer update

그러면 프로젝트의 모든 종속 항목이 결정되고 정확한 버전이 composer.lock에 기록됩니다.