종속 항목 지정

새 버전의 애플리케이션을 배포하면 Composer가 자동으로 실행됩니다. PHP 스크립트 맨 위에 다음 줄을 추가하기만 하면 autoload.php 파일이 요청됩니다.

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

Composer는 autoload.php 파일이 생성되는 앱의 vendor/ 디렉터리에 패키지를 추가합니다. Composer 자동 로더는 각 파일에 대해 require 문을 지정하지 않아도 Composer가 설치한 클래스를 자동으로 로드합니다.

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

표준 composer.json 파일에서 PHP에 대한 종속 항목을 선언할 수 있습니다. 예를 들면 다음과 같습니다.

{
    "require": {
        "google/cloud": "^0.72"
    }
}

App Engine에서 모든 Linux 호환 PHP 패키지를 사용할 수 있습니다. 런타임에서는 애플리케이션 소스 디렉터리에서 composer.json 파일을 찾아 composer를 사용해 애플리케이션을 시작하기 전에 종속 항목을 설치합니다.

composer.json 파일에 정의된 스크립트는 Composer가 캐시된 결과를 사용할 수 있는 경우 실행되지 않습니다.

기본적으로 App Engine은 가져온 종속 항목을 캐시하여 빌드 시간을 단축합니다. 종속 항목의 캐시되지 않은 버전을 설치하려면 다음 명령어를 사용하세요.

gcloud app deploy --no-cache

로컬에서 설치 및 실행

composer를 사용하여 종속 항목을 로컬에 설치합니다.

composer install
종속 항목을 현재 버전에 고정하려면 애플리케이션에 composer.lock 파일을 커밋합니다.

선택한 웹 서버를 사용하여 애플리케이션을 테스트할 수 있습니다. PHP 내장 웹 서버를 사용하여 애플리케이션을 빠르게 실행할 수 있습니다.

웹 프레임워크 설치

기본적으로 App Engine은 public/index.php 또는 index.php 파일을 통해 모든 요청을 처리합니다. 프레임워크는 필수는 아니지만 권장됩니다. App Engine과 함께 다음을 포함한 모든 웹 프레임워크를 사용할 수 있습니다.

Cloud 클라이언트 라이브러리 설치

PHP용 Google Cloud 클라이언트 라이브러리는 작성해야 하는 상용구 코드를 줄여주는 Google Cloud 서비스에 액세스하기 위한 클라이언트 라이브러리입니다. 이 라이브러리는 높은 수준의 이해하기 쉬운 API 추상화를 제공합니다. PHP 관용구를 포함하고 표준 라이브러리와 잘 작동하며 코드베이스와 더 긴밀하게 통합됩니다. 이 모든 기능들을 통해 중요한 코드를 만드는 데 더 많은 시간을 투자할 수 있습니다.

  1. 라이브러리를 로컬로 설치합니다.

    composer require google/cloud
    
  2. Google Cloud CLI를 사용하여 로컬에서 인증을 처리할 수 있습니다. 로컬 애플리케이션이 API 액세스를 위해 사용자 인증 정보를 일시적으로 사용하게 하려면 다음 명령어를 실행합니다.

    gcloud auth application-default login
    

    인증을 자동으로 처리하기 위한 PHP용 Cloud 클라이언트 라이브러리 구성에 대한 자세한 내용은 클라이언트 라이브러리를 사용하여 Cloud 서비스에 인증을 참조하세요.

비공개 저장소 사용

비공개 저장소에서 라이브러리를 사용하려면 다음 작업을 완료해야 합니다.

  • 저장소를 구성합니다.
  • composer에 비공개 저장소에 액세스할 수 있는 보안 비밀을 제공합니다.

다음 예시는 GitHub에서 비공개 저장소에 액세스하는 방법을 보여줍니다.

  1. 형식으로 vcs를 사용하여 composer.json에서 저장소를 구성합니다.

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. 프로젝트 루트 디렉터리에 auth.json 이름의 파일을 만듭니다.

    {
        "github-oauth": {
            "github.com": "<your-github-auth-token>"
        }
    }
    

GitHub의 관리 UI에서 GitHub 인증 토큰을 얻을 수 있습니다.

다음은 Bitbucket의 비공개 저장소에 액세스하는 방법을 보여주는 또 다른 예시입니다.

  1. 형식으로 vcs를 사용하여 composer.json에서 저장소를 구성합니다.

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. 프로젝트 루트 디렉터리에 auth.json 이름의 파일을 만듭니다.

    {
        "bitbucket-oauth": {
            "bitbucket.org": {
                "consumer-key": "<your-oauth-consumer-key>",
                "consumer-secret": "<your-oauth-consumer-secret>"
            }
        }
    }