액세스가 거부 된 로그 파일에 거부 (denial) 이유와 함께 쓰기로되어있는 함수 forbid()
이 있습니다. 웬일인지, 그것은 로그 파일에 쓰지 않고있다.403 헤더가 트리거되기 전에 fputs가 쓰여지지 않습니다.
// function to forbid access
function forbid($reason) {
// explain why
if ($reason) fputs($file, "=== ERROR: " . $reason . " ===\n");
fputs($file, "*** ACCESS DENIED ***" . "\n\n\n");
fclose($file);
// forbid
header("HTTP/1.0 403 Forbidden");
exit;
}
$file
이전 코드로 정의되고,이 기능 fputs()
전에 올바르게 다른 작업; 나는 403 글자가 쓰지 않는 것을 생각합니다.
그리고 나는 그것이 함수 범위에 정의되지 않은'$ file'에 관한 것이라고 생각합니다. –
함수 내에서'$ file'을 사용하고 싶다면'use' 문을 사용하거나 매개 변수로 함수에 직접 전달해야합니다. –
명명 된 함수 정의이고,'use'는 익명 함수를위한 것입니다. –