2010-03-30 5 views
0

PHP 5.3에서 NuSoap을 사용하려고합니다. Eclipse에서 스크립트를 디버깅 할 때 Deprecated 경고가 많이 나지만 스크립트는 여전히 실행되지만 내 localhost에서 Apache를 통해 스크립트를 호출 할 때 스크립트는 설명없이 종료됩니다. 나는 아직 웹 헤드가 아니며, 이것에 대해 다소 멍청하다. 디버깅 중에는 같은 머신에서 작동하지만 아파치에서는 작동하지 않는 이유가 무엇인지 알 수 없다. Eclipse에서 스크립트가 실행될 수있는 가능한 원인은 무엇입니까? 브라우저에서 호출 할 때 스크립트가 실행되지 않을 수 있습니다. 또한 스크립트가 디버거 외부에서 실패 할 때 어떤 종류의 로그 또는 디버깅 데이터가 어딘가에서 빠져 나올 수 있습니까? 그렇다면 어떻게 찾을 수 있습니까?차이점 Eclipse에서 PHP를 실행하고 호스팅 할 때

답변

0

PHP에는 오류보고의 동작을 정의하는 여러 가지 지시문이 있습니다. 가장 중요한 사람은 다음과 같습니다

첫 번째는 오류보고의 심각도를 설정 : 당신은 가능한 모든 문제에 대해 경고하기 위해 PHP를 알 수 있습니다 만 치명적인 오류에 경고, 두 번째 것은 PHP가 화면에 오류 메시지를 표시할지 여부를 지시합니다. 이 옵션은 하드 코드되지 않으며 런타임에 설정할 수 있습니다.

도 참조하십시오. log_errors.

기본 php.ini 파일에 액세스 할 수있는 경우이 옵션을 변경하는 방법은 전체 시스템에서 언제든지 변경할 수 있습니다. 또한 사이트 단위로 변경할 수도 있지만 정확한 메커니즘은 PHP가 웹 서버와 상호 작용하는 방식에 달려 있습니다. Apache 모듈 (일반적인 설정)으로 실행되는 경우 .htaccess 파일을 사용할 수 있습니다.

여기에 많은 정보가 있습니다. http://www.php.net/manual/en/configuration.php

0

아마도 치명적인 오류가 발생하지만, 프로덕션 서버에서 display_errors를 해제해야합니다 (개발 버전에서와 같이). html로 오류를 출력하지 않습니다. php.ini에서 오류 로그의 위치를 ​​확인하거나 서버 관리자에게 올바른 방향으로 가리 키도록 요청하십시오. 서버 또는 파일을 표시 할 제어판에 파일 수준의 액세스 권한이 있어야합니다.

또는 display_errors를 해당 응용 프로그램의 로컬 인 .htaccess 파일에서만 활성화 할 수 있습니다.

php_flag display_startup_errors on 
php_flag display_errors on 

또는 오류를 표시하는 옵션이 없습니다, 당신이 당신의 로그 파일에 액세스 할 수없는 경우, 당신은 아파치 쓰기 권한입니다만큼, 사용자 정의 위치에 오류 로그를 설정할 수 있습니다 :

php_flag log_errors on 
php_value error_log /absole/path/to/a/writable/directory/php_errors.log 
관련 문제