2009-01-07 5 views
5

Windows 2003 및 IIS 6을 실행하는 새 서버로 마이그레이션 중입니다. PHP 코드가 실행되면 특정 행에 경고가 표시됩니다. 하지만 곧 수정 될 것입니다.) 그러나 경고를 받으면 즉시 처리를 중지하고 HTTP 헤더에 500 오류를 반환합니다. 일반적으로 나는 PHP가 경고를 출력하지만 스크립트 처리를 계속할 것으로 기대합니다.PHP 경고로 인해 FastCGI를 실행하는 IIS에서 스크립트가 중단됨

IIS에서 FastCGI 또는 PHP가 경고를 받으면 500 개의 오류를 반환하는 구성이 있습니까?

명확히하기 : 나는 경고를 억제하고 싶지 않다. 나는 그들에게 보여주기를 바란다. 스크립트가 경고 처리를 중단하지 않게하고 싶습니다.

답변

10

문제점을 파악했습니다. php.ini의 log_errorsOn으로 설정되었지만 error_log은 설정되지 않았습니다. 이로 인해 PHP가 모든 것을 막았습니다. display_errorson으로 설정하면 경고가 표시되므로 출력물이 깨지는 부분을 볼 수 있습니다.

이 스레드는 도움이되었다 : 그래서 http://forums.iis.net/p/1146102/1856222.aspx#1856222

+0

, 당신이'error_log'를 어떻게 설정합니까? 다른 사람들을 도울 수있는 답변에 포함 시키십시오. –

+0

너의 천재성 와우! – alexander7567

0

IIS 나 FastCGI에 대해서는 모르겠지만 afaik php에는 그러한 옵션이 없습니다. 당신은 그러나 경고가 멀리 갈 수 있도록 (당신의 php.ini에서) error_reporting

E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR 

에 설정할 수 있습니다.

0

PHP 코드도 매우 다르며 코드 내에서 복잡한 작업을 수행하는 중에 오류가 발생하면 웹 서버에서 500 개의 오류가 발생하는 경우가 있습니다. 내가 당신을 제안 :

  1. 오류, 즉 억제하기 위해 회선에 자동 @을 넣어 :

    $ X = @의 my_function의 ($ y)를;

  2. 정확한 오류 메시지는 웹 서버 로그에서 확인한 다음 여기에 게시하면 더 나은 해결책을 제공 할 수 있습니다.

관련 문제