dememax: (ночь)
[personal profile] dememax
Ещё одни грабли со встроенной функцией PHP.
Точность: целые секунды.
Эффект следующий:
  1. из теста перед вызовом кода на PHP делаем time() - T0;
  2. вызываем код на PHP, в котором происходит сохранение значения из time() - T1;
  3. после возврата из кода PHP в тесте снова вызываем time() - T2;
  4. сравниваем значения, должно быть T0 <= T1 <= T2
Так вот, иногда это ломается, получается, что T0 > T1. FAIL!!!
Надо сказать, что на последней версии PHP это не проявляется, а на старой, что у нас на сервере - очень даже часто. :-(

Нашел комментарий с кодом, как воспроизвести проблему:
https://www.php.net/manual/en/function.time.php#122711

Что ж, пришлось заодно переписывать в PHP реализацию на микросекунды.

Ну и осталось мне рассказать про ещё одну проблему, с которой я в PHP встретился, но это - потом.

Кстати, а вы знали, что LLeo (Леонид Каганов — российский писатель-фантаст, поэт и сценарист, юморист, телеведущий, политик — как называет его Вики) - "на пыхпыхе для себя мелкие утилиты пишут"?

Date: 2019-12-15 08:44 pm (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Что заставляет человека писать на PHP, я не понимаю.

Profile

dememax

May 2023

S M T W T F S
 123456
78910111213
14151617181920
21 2223 24252627
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 1st, 2025 08:54 pm
Powered by Dreamwidth Studios