2016-11-26 6 views
2

방금 ​​Heroku의 준비 인스턴스에 새 배포를 밀어 넣었습니다. 실패했습니다. 이제 내 사이트에서 500 개의 오류가 발생합니다.Heroku에서 Xdebug를 실행하는 방법?

composer.json

{ 
    "license": "proprietary", 
    "require": { 
     "php": ">=5.5.16", 
     "aws/aws-sdk-php": "2.*", 
     "ext-memcached": "*", 
     "ext-apcu": "*", 
     "ext-gd": "*", 
     "ext-gettext": "*", 
     "ext-mbstring": "*", 
     "ext-soap": "*", 
     "ext-mysql": "*", 
     "ext-xdebug": ">=2.4.0" 
    }, 
    "require-dev": { 
     "heroku/heroku-buildpack-php": "*" 
    } 
} 

새로운 PHP 코드 :

// STARTS DEBUG 
xdebug_start_function_monitor(['session_start']); 

register_shutdown_function(function() { 
    var_dump(xdebug_get_monitored_functions(), ini_get('session.auto_start')); 
}); 
// ENDS DEBUG 

Heroku가 구축 로그 :

-----> PHP app detected 
-----> Bootstrapping... 
-----> Installing platform packages... 
     - php (5.5.38) 
     - ext-gd (bundled with php) 
     - ext-gettext (bundled with php) 
     - ext-mbstring (bundled with php) 
     - ext-mysql (bundled with php) 
     - ext-soap (bundled with php) 
     - ext-apcu (4.0.11) 
     - ext-memcached (2.2.0) 
     - apache (2.4.20) 
     - nginx (1.8.1) 
!  WARNING: Your 'composer.lock' is not up to date with the latest 
     changes in 'composer.json'. To ensure you are not getting stale 
     dependencies, run 'composer update' on your machine and commit 
     any changes to Git before pushing again. 
-----> Installing dependencies... 
     Composer version 1.2.2 2016-11-03 17:43:15 
     Loading composer repositories with package information 
     Installing dependencies from lock file 
     Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them. 
     - Installing symfony/event-dispatcher (v2.6.1) 
      Loading from cache 

     - Installing guzzle/guzzle (v3.9.2) 
      Loading from cache 

     - Installing aws/aws-sdk-php (2.7.12) 
      Loading from cache 

     Generating optimized autoload files 
-----> Preparing runtime environment... 
-----> Checking for additional extensions to install... 
     - New Relic detected, installed ext-newrelic 
-----> Discovering process types 
     Procfile declares types -> web 
-----> Compressing... 
     Done: 112.1M 
-----> Launching... 
     Released v792 
     https://XXX.herokuapp.com/ deployed to Heroku 

를 지금까지 내가 빌드 로그는 이유에서 볼 수 있듯이 그것은 Xdebug가 설치되지 않았기 때문에 실패했습니다. 심지어 composer.json에 지정 했음에도 불구하고 말입니다.

헤로 쿠에 Xdebug를 어떻게 설치합니까?

+0

빌드가 성공적으로 완료된 것처럼 보입니다. HTTP 500은 일반적인 오류 메시지입니다. [응용 프로그램 로그를 확인하십시오] (https://devcenter.heroku.com/articles/logging#log-retrieval)하고 그들이 말하는 것을보아야합니다. – Chris

+0

@Chris 응용 프로그램 로그를 살펴 보았습니다. 아무 것도 말해주지 않았지만 작동하지 않는 이유는 XDebug가 설치되지 않았기 때문입니다 (작곡가에도 불구하고 .json). XDebug가 실제로이 오류 메시지로 설치되지 않았 음을 확인했습니다. '치명적 오류 : 정의되지 않은 함수 xdebug_start_function_monitor()를 호출하십시오.' –

+0

@Chris, 나는 그랬습니다. 질문의 첫 번째 블록입니다. –

답변

3

Xdebug가 Heroku에서 지원되지 않는 것 같습니다.

  • 세 PHP 5.5 목록 5.6 : composer.json
  • 써드을 통해 활성화 할 수 있습니다 자동으로
  • 내장 확장을 사용할 수 있습니다
    • 내장 확장 Heroku가의 문서는 six lists of extensions을 제공합니다 가능하게 할 수있는 타사 확장 프로그램 composer.json
  • 3 개의 correspondingp PHP 7 onwriting 목록

누구도 Xdebug를 나열하지 않습니다.