У меня есть функция 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, что заставляет его не писать.
Похоже, проблема объема. Так как это функция, она ищет дескриптор файла $file
в объеме функций, а не глобальный. Вам нужно передать дескриптор файла в функцию.
Я также собираюсь предположить, что отчеты об ошибках отключены, что подавляет проблему от вас.
Других решений пока нет …