miraage
@miraage
Старый прогер

Двойная запись в файл!?

pastebin.com/5tAcX23s


При IN_DEV = 1, т.е. включенном дебаге — все отлично работает.

Ставлю IN_DEV = 0, все отрабатывает хорошо, запись в лог идет, сообщение выводится правильно, но сообщение об ошибке записывается дважды!


Пробовал переписать код строк 57-62 через SplFileObject — тоже самое.


winxp sp3, php 5.3


В чем может быть проблема?
  • Вопрос задан
  • 3887 просмотров
Решения вопроса 1
miraage
@miraage Автор вопроса
Старый прогер
Вы не поверите… Вставил в лог данные из REQUEST_URI. Получил в логе:
--------------------------------------------------------------------------------
pewpew
Request data: /
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
pewpew
Request data: /favicon.ico
--------------------------------------------------------------------------------

Создал файл favicon.ico — все стало отлично работать. Магия какая-то… :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
miraage
@miraage Автор вопроса
Старый прогер
Шутки ради скажу, что это 666-ой вопрос с тэгом PHP. Истина где-то рядом…
Ответ написан
Комментировать
den1n
@den1n
Попробуйте добавить в оба обработчика строки (перед обработкой ошибки):
restore_error_handler();
restore_exception_handler();
Ответ написан
@IngvarrT
Я даже больше скажу. Если туда поместить

file_put_contents(DEV_LOG. microtime(true), $msg. microtime(true). $sep, FILE_APPEND);

, то создастся два файла :)
Ответ написан
MisterX
@MisterX
Может проблема не в этом классе? А в коде который выше? Возможно вы где-то в двух местах этот класс используете одновременно, поэтому две записи?
Ответ написан
Комментировать
Alert
@Alert
web разраб
Прошло 5 дней и вероятно багу вы уже исправили, но всё же напишу.
Вы уверены что скрипт запускается только 1 раз?
Была похожая проблема, мучался и ковырялся долго, а в итоге оказалось что был какой-то кривой плагин к Firefox который каждый запрос выполнял по 2 раза.
Попробуйте потестировать такой вариант.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы