나는 다음과 같은 스크립트를 실행하면 :PHP : PHP 오류/경고 /주의 사항의 이중 출력
<br />
<b>Notice</b>: test notice in <b>path/to/script/test.php</b> on line <b>3</b><br />
end of scriptPHP Notice: test notice in path/to/script/test.php on line 3
스크립트는 PHP 버전과 IIS8에서 실행했다 : 나는 다음과 같은 출력을 얻을
<?php
error_reporting(E_ALL);
trigger_error('test notice', E_USER_NOTICE);
die('end of script');
을 5.4.19.
반환 된 HTTP 상태 코드 (200)
"display_errors를"이 설정되어있다 "에"와 "error_reporting은"에 php.ini 파일에서 "E_ALL"로 설정합니다. 따라서 스크립트의 첫 번째 줄은 설명을위한 것입니다.
동작은 모든 오류보고 상수 (E_ERROR, E_WARNING 등)와 동일합니다.
누구든지 통지의 두 번째 산출물 출처를 알고 있습니까? 그리고 특히 그것을 제거하는 방법?
스크립트는 PHP 스크립트에 대한 오류보고를 사용합니다. 오류에 대해서는 3 행의'test.php' 파일을보십시오. –
IIS에 대해서는 잘 모르겠지만 명령 줄 PHP는 stdout과 stderr에 오류 메시지를 출력합니다. 웹 서버를 설치 한 경우에도 마찬가지 인 것 같습니다. –
당신은 첫 번째 줄'error_reporting (E_ALL);'에 주석을 달았습니다. – dhpratik