При рефакторинге нашего фреймворка случайно послали SID превышающий разрешенный размер. Скрипт задумался, надолго. Профилирование показало что выполнение функции session_start заняло 30 секунд. Трейс процесса показал, что скрипт висит в цикле ровно max_execution_time установленный в настройках PHP, дальше возвращает -1 и процесс продолжает работу без ексепшенов и ошибок. Дальнейшее копание привело к PECL модулю Memcached, а тот уже показал что нет проверки SID на длину и спец. символы.
Мы связались с Andrei Zmievski, на выходных он закомитил фикс, рекомендуем обновиться.
Лок исполнения возможен только при использование memcached скомпилированного с поддержкой хранения сессий и установки параметров php.ini в:
session.save_handler = memcached
session.save_path = "blackgold:11211"
Скачать последний extension можно
https://github.com/php-memcached-dev/php-memcached, в PECL все ещё старая версия.
Источник: http://habrahabr.ru/blogs/php/115983/#habracut
Мы связались с Andrei Zmievski, на выходных он закомитил фикс, рекомендуем обновиться.
Лок исполнения возможен только при использование memcached скомпилированного с поддержкой хранения сессий и установки параметров php.ini в:
session.save_handler = memcached
session.save_path = "blackgold:11211"
Скачать последний extension можно
https://github.com/php-memcached-dev/php-memcached, в PECL все ещё старая версия.
Источник: http://habrahabr.ru/blogs/php/115983/#habracut