2011-08-25 4 views
1

다음과 같이 사용자 세션에 대한 대화식으로 symfony 응용 프로그램의 디버깅 모드를 설정하고 관리 할 수 ​​있습니다.Symfony : "prod"환경에서 dev 툴바 보여주기

$configuration = ProjectConfiguration::getApplicationConfiguration($app, 
                  $env, $debugging); 

웹 디버그 도구 모음이 표시되는지 여부는 값에 의존하지 않습니다. $ 디버깅이 아니라 현재 환경의 구성.

이 순간에 툴바가 나타나는 유일한 방법은 $ env = 'dev'일 때입니다.

"찌르는"환경에 액세스 할 때도 활성화하고 싶습니다.

이 응용 프로그램 설정 :

prod: 
    .settings: 
    no_script_name:   true 
    logging_enabled:  false 
    web_debug:    true 
    error_reporting:  <?php echo (E_ALL | E_STRICT)."\n" ?> 

dev: 
    .settings: 
    error_reporting:  <?php echo (E_ALL | E_STRICT)."\n" ?> 
    web_debug:    true 
    cache:     false 
    no_script_name:   false 
    etag:     false 

도구 모음이 표시되지 않고 "web_debug"설정이 무시됩니다.

에코 (sfConfig :: get ('sf_web_debug'))가 나타나면 "true"가됩니다.

¿ 도구 모음을 어떻게 작동시킬 수 있습니까?

답변

1

메모리에서 프론트 엔드 PHP 파일의 값을 변경해야합니다. 웹 디렉토리에있는 frontend.php와 frontend_dev.php 파일을 비교하십시오. 하나가 참이고 다른 하나가 거짓이라는 차이점을 찾으십시오 (이것이 마지막 매개 변수라고 생각합니다).

의 선은 다음과 같습니다

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php'); 
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', false)); 
sfContext::createInstance($configuration)->dispatch(); 

변화에 :

require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php'); 
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true)); 
sfContext::createInstance($configuration)->dispatch(); 
+0

,이 기능은 표시되는 디버그 도구 모음과 거의있다의 여부. 두 번째 매개 변수는 전체 구성 옵션 집합을 가리키는 레이블입니다. "prod"로 설정하면 그것이 가리키는 환경은 기본적으로 "web_debug : true"정의를 포함하지 않으며 "dev"환경은 포함하지 않습니다. 문서에서는 "prod"환경에서'web_debug : true '를 정의하는 것으로 충분할 것이라고 말했지만, 내 응용 프로그램에서는 작동하지 않습니다. –

+0

흠, config에서 디버그 및 디버그 바를 활성화하고 frontend.php 파일에서 디버그를 활성화하는 것이 필요하다고 확신했습니다. 추측 아니지만 ... –

+0

대답에 문서에 따르면,하지만 작동하지 않는 것. –

2

당신은 또한 factory.yml을 변경해야합니다. 기본적으로 'prod'환경에는 Logger가 없습니다.

그냥 다음과 같이 주석 :

세 번째 매개 변수는 "디버깅"을 의미하는 동안, 내가 뭐하는 거지입니다하지만
prod: 
# logger: 
# class: sfNoLogger 
# param: 
#  level: err 
#  loggers: ~