Имеется функция, задача которой записывать лог файл на сервере.
Задача тренировочная, так что нельзя изменять решения, условия или отклоняться от вопроса.
Код:
function logRequest()
{
$filename = 'today.log';
$data = "{$_SERVER['REQUEST_METHOD']}," . time() . ',' . $_SERVER['HTTP_USER_AGENT'] . ',' . http_response_code() . "\n";
if(is_writable($filename)) {
if(!$handle = fopen($filename, 'a')) {
echo "Cannot open the file ($filename)";
exit;
}
if(!$valid = fwrite($handle, $data)) {
echo "Cannot write to the file ($filename)";
exit;
}
exit;
}
}
logRequest();
Данный код был написан на windows, позже запустил его на mac и на ubuntu.
Удивлению не было передела, когда винда записала без лишних проблем строку, а вот unix пишут 1 строку дважды.
Как и почему эти платформы записывают информацию иначе? какие настройки надо поменять, что бы работало всё, как я ожидал изначально? (записывается информация 1 раз, в 1 строку, а не дублируется 1 информация дважды, в 2 строки)?