我有一个函数forbid()
,它应该写入一个拒绝访问的日志文件,以及拒绝的原因。出于某种原因,它不是写入日志文件。
// 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标题导致它不能写入的东西。
答案 0 :(得分:2)
看起来像是一个范围问题。由于它是一个函数,它在函数范围内寻找文件句柄$file
,而不是全局。您需要将文件句柄传递给函数。
我也会假设错误报告已关闭,从而抑制了您的问题。