PHP에서 error_reporting 함수를 사용하면 런타임에 이전에 발생한 통지가보고되는 것으로 나타났습니다.PHP 호출 error_reporting 이전의 엄격한 통지를보고합니다
이것은 의도적으로 설계 되었습니까? 아니면이를 방지 할 수있는 방법이 있습니까? 위의 코드에서
$er = error_reporting(E_ERROR);
$m = new MyClass();
$m->myFunction();
//error_reporting($er);
,
myFunction()
통화 경고 및/또는 "엄격한"주의 사항을 제기 제 3 자 코드. 위의 행을 주석으로 처리하면 경고 및주의 사항이 리턴되지 않습니다. 그러나 오류보고가 정상으로 돌아갈 수 있도록 해당 줄의 주석을 제거하면 해당 시점에 엄격한 통지가 표시되지만 경고는보고되지 않습니다.
업데이트 나는 이것이 내가 생각 원래했던대로 error_reporting
문제, 대신 배, 내가 사용하고 제 3 자 코드에 문제가되지 않습니다 생각합니다.
내가 런타임에 PHP의 error_reporting은 기능을 사용하면 이전에 발생한 사항을보고를 일으킬 것으로 보인다 것으로 나타났습니다 php pear mail extension raises strict notices
이는 error_reporting의 작동 방식이 아닙니다. 대부분 나중에 해당 코드를 사용합니다. – Wrikken
@wrikken - 당신이 의미하는 것이 확실하지 않습니다. 'error_reporting' 함수는 실제로 어떤 유형의 에러가 런타임에 표시되고 표시되지 않는지를 설정해야합니다. –
예, 나중에 의미를 '저장'하지 않습니다. 해당 줄의 주석 처리를 제거하여 오류가 발생하면 해당 줄 이후에 오류가 발생합니다. – Wrikken