PHP용 Cloud Debugger 설정

개요

이 페이지에서는 Cloud Debugger를 사용하도록 환경 및 PHP 애플리케이션을 구성하는 방법을 설명합니다. 일부 환경에서는 Cloud Debugger 에이전트가 데이터를 전송할 수 있도록 액세스 범위를 명시적으로 지정해야 합니다. 가능한 최대 액세스 범위를 설정한 다음 ID 및 액세스 관리를 사용해 액세스를 제한하는 방법을 권장합니다. 이 권장사항에 따라 액세스 범위가 cloud-platform 옵션이 있는 모든 Cloud API가 되도록 설정합니다.

언어 버전 및 컴퓨팅 환경

다음 컴퓨팅 환경에서 Cloud Debugger는 PHP 버전 7.0 이상에서 사용할 수 있습니다.

App Engine 표준 환경 App Engine 가변형 환경 Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos on Google Cloud 다른 곳에서 실행 중인 VM 및 컨테이너 Cloud 함수

Cloud Debugger 설정

Cloud Debugger를 설정하려면 다음 작업을 완료해야 합니다.

  1. 프로젝트에 Cloud Debugger API가 사용 설정되어 있는지 확인합니다.

  2. 사용 중인 컴퓨팅 환경에 Debugger를 설치하고 구성합니다.

  3. 소스 코드를 선택합니다.

Cloud Debugger API 사용 설정 확인

Cloud Debugger를 사용하려면 Cloud Debugger API가 사용 설정되었는지 확인합니다. Cloud Debugger는 대부분의 프로젝트에서 기본으로 사용 설정됩니다.
Cloud Debugger API 사용 설정

App Engine 가변형 환경

  1. PECL에서 stackdriver_debugger 확장 프로그램을 설치합니다.

    pecl install stackdriver_debugger-alpha
    

    이 단계를 실행한 후 php.ini 파일에 extension=stackdriver_debugger.so가 없으면 수동으로 추가합니다.

  2. composer.json 파일에 Google Cloud PHP Debugger 패키지를 추가합니다.

    composer require google/cloud-debugger
    
  3. composer.json 파일을 통해 Cloud Debugger PHP 확장 프로그램을 추가합니다.

    composer require ext-stackdriver_debugger:*
    
  4. app.yaml 파일에 enable_stackdriver_integrations를 설정합니다.

    runtime_config:
      enable_stackdriver_integration: true
    
  5. 에이전트를 사용 설정합니다.

    요청에서 가능한 빨리 다음 코드를 앱에 추가합니다.

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/app')]);
    

이제 Debugger를 앱에서 사용할 수 있습니다.

Google Kubernetes Engine

GCLOUD

gcloud를 사용하여 Debugger를 사용 설정하려면 다음 단계를 완료하세요.

  1. 다음 액세스 범위 중 하나를 사용하여 클러스터를 만듭니다.

    • https://www.googleapis.com/auth/cloud-platform: 클러스터에 모든 Google Cloud API에 대한 액세스 권한이 부여됩니다.

    • https://www.googleapis.com/auth/cloud_debugger: 클러스터에 Debugger API에 대한 액세스 권한만 부여됩니다. 클러스터의 보안을 강화하려면 이 액세스 범위를 사용하세요.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. 컨테이너에서 Cloud Debugger PHP 확장 프로그램을 설치합니다. PECL이 설치되어 있으면 Dockerfile에 다음 줄을 추가해도 됩니다.

    RUN pecl install stackdriver_debugger_alpha
    
  3. 애플리케이션에서 다음 명령어를 실행하여 Debugger 패키지를 애플리케이션에 추가합니다.

    composer require google/cloud-debugger
    
  4. Debugger 데몬 프로세스를 실행하도록 데몬을 구성하려면 Dockerfile에 다음 줄을 추가합니다.

    RUN php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. Debugger 에이전트를 사용 설정하려면 요청에서 가능한 빨리 다음 코드를 앱에 추가합니다.

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
    

이제 Debugger를 컨테이너식 앱을 배포할 때 사용할 수 있습니다.

CONSOLE

Console에서 Debugger를 사용 설정하려면 다음 단계를 완료하세요.

  1. 클러스터 유형을 선택한 후 노드 풀 창에서 추가 옵션을 클릭합니다.

    추가 옵션 버튼이 빨간색 직사각형으로 강조표시된 노드 풀 필드

  2. 보안 창에서 다음 중 하나를 선택합니다.

    • 모든 Cloud API에 대한 전체 액세스 허용

    • 각 API에 대한 액세스를 허용하고 Cloud Debugger를 사용 설정됨으로 설정

Compute Engine

  1. Compute Engine 인스턴스를 만들 때 액세스 범위 옵션을 모든 Cloud API에 대한 전체 액세스 허용으로 지정했거나 다음 액세스 범위 중 하나가 부여되었는지 확인합니다.

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. PECL에서 stackdriver_debugger 확장 프로그램을 설치합니다. 컨테이너를 사용 중인 경우 이미지에 설치합니다.

    pecl install stackdriver_debugger-alpha
    
  3. composer.json 파일에 Google Cloud PHP Debugger 패키지를 추가합니다.

    composer require google/cloud-debugger
    
  4. Debugger 데몬 프로세스를 실행하도록 데몬을 구성합니다.

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  5. 에이전트를 사용 설정합니다.

    요청에서 가능한 빨리 다음 코드를 앱에 추가합니다.

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
    

이제 Debugger를 앱에서 사용할 수 있습니다.

로컬 및 기타 위치

  1. PECL에서 stackdriver_debugger 확장 프로그램을 설치합니다.

    pecl install stackdriver_debugger-alpha
    
  2. composer.json 파일에 Google Cloud PHP Debugger 패키지를 추가합니다.

    composer require google/cloud-debugger
    
  3. Cloud Debugger 데몬 프로세스를 실행합니다.

    php /[YOUR-APP-PATH]/vendor/bin/google-cloud-debugger -s /[YOUR-APP-PATH]
    
  4. 에이전트를 사용 설정합니다.

    요청에서 가능한 빨리 다음 코드를 앱에 추가합니다.

    use Google\Cloud\Debugger\Agent;
    
    $agent = new Agent(['sourceRoot' => realpath('/[YOUR-APP-PATH]')]);
    

이제 Debugger를 앱에서 사용할 수 있습니다.

Cloud Console의 디버그 페이지에는 로컬 소스 파일을 업로드하는 대신 로컬 개발용으로 표시할 수 있습니다. 소스 코드 수동으로 선택을 참조하세요.