Доступ к файлу через PHP - тормозит исполнение кода.

12
D
На сайте с 28.06.2008
Offline
1101
#11
mikuskov #:

Спасибо за ответ. Очень ценные мысли и идеи!

Поставьте логирование в начале и конце скрипта и поймете в каком месте тормозит (обработка или запроса из браузера)

file_put_contents(__DIR__ . "/log.txt", print_r('start - '.date(DATE_RFC822), true). PHP_EOL, FILE_APPEND | LOCK_EX);
$f = fopen(__DIR__ . "/data.dat", "r");
fseek($f, -20, SEEK_END);
$itog = fread($f, 19);
fclose($f);

file_put_contents(__DIR__ . "/log.txt", print_r('finish - '.date(DATE_RFC822), true). PHP_EOL, FILE_APPEND | LOCK_EX);
echo $itog;
E
На сайте с 01.10.2017
Offline
94
#12
mikuskov #:
Там файл прирастает на несколько несчастных байт после каждого такого обращения, то есть я добавляю в конец (может, стоило об этом сказать в топике?!).
Стоило. Прирастает в ответ на обращение по чтению? 😀 Или полная асинхронность по чтению-записи, т.е. просто пытаетесь читать-писать "полупериодами"?
Домены на продажу: https://p20.ru/collection/domains-for-sale
M
На сайте с 06.04.2021
Offline
26
#13
estic #:
Стоило. Прирастает в ответ на обращение по чтению? 😀 Или полная асинхронность по чтению-записи, т.е. просто пытаетесь читать-писать "полупериодами"?

Не, чтобы приростало по чтению - я этому ещё не научился, это уж совсем высший пилотаж ) Записываю несколько байт в конец, а через пару секунд читаю. Неужели не успевает закрыть файл и обращается к уже открытому файлу? 😲 

M
На сайте с 06.04.2021
Offline
26
#14
Dram #:

Поставьте логирование в начале и конце скрипта и поймете в каком месте тормозит (обработка или запроса из браузера)

Спасибо за совет. Я уже попробовал, пока было время, но всё работает как надо, без ошибки. Завтра поставлю на сайт датчик времени и буду тестировать и ловить ошибку. Отпишусь.

W1
На сайте с 22.01.2021
Offline
286
#15
mikuskov #:
Неужели не успевает закрыть файл и обращается к уже открытому файлу?

Так не бывает.

Мой форум - https://webinfo.guru –Там я всегда на связи
M
На сайте с 06.04.2021
Offline
26
#16
webinfo #:

Так не бывает.

Как именно? Не бывает, что не успевает закрыть или не бывает, что обращается к открытому файлу?

W1
На сайте с 22.01.2021
Offline
286
#17
mikuskov #:

Как именно? Не бывает, что не успевает закрыть или не бывает, что обращается к открытому файлу?

Если заново запускаете скрипт, то он открывает новый поток. К потоку другого процесса он не обращается.

M
На сайте с 06.04.2021
Offline
26
#18
webinfo #:

Если заново запускаете скрипт, то он открывает новый поток. К потоку другого процесса он не обращается.

Ясно. Интересно было узнать.

W1
На сайте с 22.01.2021
Offline
286
#19
mikuskov #:

Ясно. Интересно было узнать.

Вы в принципе можете заблокировать доступ к файлу с помощью функции flock(), но это не Ваш случай, это для более сложных приложений.
У вас косяк где-то в другом месте, мне не до конца понятны операции, которые Вы производите. Логирование, которое посоветовали выше, должно помочь. Вполне возможно, что тормозит Javascript или соединение с сервером.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий