debug_backtrace()가 빈 값을 반환하는 이유는 무엇입니까?
<p>PHP 7.4에서 실행되는 PHP 코드 조각이 있습니다. <br /><br />일부에는 일련의 try-catch 블록과 개체 및 다양한 파일이 포함된 최상위 PHP 스크립트(/home/path/a.php)가 있습니다. 전화. <br /><br />이러한 try-catch 블록은 고객 오류 및 런타임 오류가 발생할 때 예외를 발생시킵니다. <br /><br />throw 문에는 오류 로그에 인쇄된 debug_backtrace()를 포함하여 오류 로그가 포함됩니다.
<pre class="brush:php;toolbar:false;">// 일부 코드
some/path/to/objects를 사용하십시오.
$database = 새 데이터베이스();
"some/file/reference.php"를 포함하십시오;
노력하다 {
// $_SESSION 데이터를 포함한 다양한 것들
if (비어 있음($_SESSION['b']) || 비어 있음($_POST['d'])) {
if(비어 있음($_SESSION['b'])) {
error_log("세션이 비어 있습니다. b가 없습니다.");
}
if(비어 있음($_POST['d'])) {
error_log("POST가 비어 있는 것으로 보입니다. d가 없습니다.");
}
throw new RuntimeException('잘못된 유효성 검사/양식 세부 정보가 제공되었습니다.');
}
}
catch (RuntimeException | 예외 $ex) {
error_log("로그인 페이지: ".$_SESSION['message']);
error_log("디버그: ".print_r(debug_backtrace(),true));
}</pre>
<p>그러나 이 코드는 올바르게 실행되고 오류를 수집하지만 오류 로그에는 다음 내용만 표시됩니다. </p>
<인용문>
<p>[2023년 7월 31일 18:42:17 유럽/런던] $_SESSION['message']</p><p>의 일부 맞춤 피드백 메시지
[2023년 7월 31일 18:42:17 유럽/런던] 배열</p><p>
(<br /> )</p>
</인용문>
<p>여기서 debug_backtrace()가 비어 있는 이유는 무엇입니까? 최소한 페이지에서 제공하는 매개변수와 변수, SESSION 데이터 또는 환경 데이터를 표시할 것으로 예상했습니다. <br /><br />저는 이 방법을 다른 곳에서 사용해 본 적이 있으며 (제가 기억하는 한) 잘 작동했습니다. 내가 뭐 놓친 거 없니?