PHP로 종속 항목 지정

Composer를 사용하여 PHP에서 종속 항목을 관리합니다.

Composer 설치

Composer가 아직 설치되어 있지 않으면 다음과 같이 설치할 수 있습니다.

  1. 원하는 위치에 Composer를 다운로드합니다.

  2. 다운로드가 완료되면 composer.phar 파일을 시스템 경로에 있는 디렉터리로 이동합니다. 예를 들면 다음과 같습니다.

    mv composer.phar /usr/local/bin/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에 기록됩니다.