Скорее всего проблема с несколькими запросами одновременно...
Sumo 28.02.2012 10:22
Ваш код не учитывает тот факт, что к странице могут одновременно обратиться несколько пользователей. Т.е. между чтением и записью файла может произойти еще несколько операций чтения и/или записи, поэтому значение счетчика предугадать попросту невозможно. Налицо классическая
race condition.
Исправить ситуацию можно двумя способами:
— Ставить блокировку через file:lock[tabb.lock]{чтение и запись tabb.txt}. Т.е. установить пессиместическую блокировку.
— Писать счетчик не в файл, а в куки пользователю. Тогда для каждого пользователя будет свой счетчик и проблема с «гонкой» будет не критична.
p.s. Tcnm еще вероятность, что браузер по какой-то причине дважды запрашивает страницу (может какой-то редирект в заголовках стоит или заголовок неверный).
- Сдвиг по offset, avagnev 27.02.2012 21:02
- Ответ, Misha v.3 [M] 28.02.2012 06:52 / 28.02.2012 06:53
- Ответ, avagnev 28.02.2012 09:42
- Ответ, Misha v.3 [M] 28.02.2012 09:51
- Ответ, avagnev 28.02.2012 10:05
- Дополнение, avagnev 27.02.2012 23:27
- Ответ, Ivan Sergeev 27.02.2012 22:58