Исходные данные: сервер с Debian 10 + панель ISP Manager, версия PHP — старше 7.0.
Запускаем проверку системы — /bitrix/admin/site_checker.php
.
В результате, в пункте «Размер стека и pcre.recursion_limit» видим предупреждение: «Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений». Детальный текст, призванный видимо нам помочь, выглядит так:
Если параметр pcre.recursion_limit превышает системный размер стека (обычно 8 Мб), то PHP падает с ошибкой Segmentation fault при выполнении сложных регулярных выражений.
Если нет возможности увеличить системный размер стека, необходимо уменьшить параметр pcre.recursion_limit. В этом случае PHP падать не будет, но обработка строк будет работать не всегда правильно: могут появляться пустые сообщения на форуме.
В общем-то все понятно, кроме того, что далее со всем этим делать. Предлагаемые гуглом и форумом БУС решения в моем случае не сработали, однако решается данная проблема крайне просто.
В настройках PHP находим переменную pcre.jit
. По умолчанию она включена, т.е. имеет значение 1. Все что нам нужно сделать — установить значение равное нулю (pcre.jit=0).
Для верности — можно перезапустить службу Apache, но в моем случае этого не потребовалось.
Запускаем повторную проверку, проверяем, что замечание исчезло:
Оставить комментарий