Bitrix ошибка «Размер стека и pcre.recursion_limit» и Ubuntu 14.04
У 1C-Битрикс есть свой инструмент проверки того как настроен сервер. Находится он по адресу
/bitrix/admin/site_checker.php
Однажды на свежей Ubuntu 14.04 с установленным php-fpm он показал мне ошибку «Размер стека и pcre.recursion_limit», которая часто решается походом в
/etc/security/limits.confи установлением нужных значений. Но оказалось это не мой вариант.
Еще вариант про который часто пишут в сети - это пойти в initd-скрипт php-fpm и сделать там
ulimit -s unlimitно вот беда, php-fpm при рестарте почему-то не подхватывал этот свежевписанный параметр.
Оказалось что в моем дистрибутиве php-fpm инициализируется через демон upstart и при этом не учитывает что мы там ему понапишем в секции do_start() если внимательно вглядеться в код /etc/init.d/php5-fpm мы и увидим ту злополучную секцию, которая плевала на do_start() и наш ulimit -s unlimit.
if init_is_upstart; then exit 1 fi
Рабочее решение этой ситуации у меня сложилось следующее:
- в /etc/init.d/php5-fpm закомментировал секцию if init_is_upstart;
- Добавил в do_start() ulimit -s 102400 (тут почему-то не подхватился unlimited, так что я просто обошелся удовлетворяющим потребности битрикса числом)
- update-rc.d -f php5-fpm remove
- удалил /etc/init/php5-fpm.conf
- update-rc.d php5-fpm defaults
{{ 'Comments (%count%)' | trans {count:count} }}
{{ 'Comments are closed.' | trans }}