fputs не записывает до запуска заголовка 403

У меня есть функция 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, что заставляет его не писать.

-1

Решение

Похоже, проблема объема. Так как это функция, она ищет дескриптор файла $file в объеме функций, а не глобальный. Вам нужно передать дескриптор файла в функцию.

Я также собираюсь предположить, что отчеты об ошибках отключены, что подавляет проблему от вас.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]