Bitrix: pcre.recursion_limit — Замечание. Возможны проблемы в работе сдлинными строками из-за системных ограничений

Битрикс при тестировании конфигурации выдает, что необходимо ulimit -s unlimited для веб-сервера
Решаем проблему следующим образом
CentOS 7:
Создать каталог /etc/systemd/system/httpd.service.d, в нем создаем файл start.conf с содержимым:
[Service]
LimitSTACK=infinity


и перечитать конфигурацию systemd и перезапустить веб-сервер
systemctl daemon-reload
systemctl restart httpd


CentOS 6
Отредактировать файл /etc/init.d/httpd и дописать в него ulimit -s unlimited в секцию start ()

start() {
echo -n $"Starting $prog: "
ulimit -s unlimited
LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}


Перезапустить веб-сервер apache
/etc/init.d/httpd restart


update: при использовании PHP 7 надо указать в php.ini pcre.jit=0

3 комментария:

  1. Для CentOS 7 решение вроде бы правильное, но у меня все равно показывает "Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений".
    Хотя уже все снято:
    cat /proc/$(cat /run/httpd/httpd.pid)/limits | grep "Max stack size"
    Max stack size unlimited unlimited bytes

    ОтветитьУдалить
    Ответы
    1. Видимо у тебя PHP7, я на CentOS 6 + ISPmanager + альтернативный PHP 7 (как модуль apache решил так проблему в итоге)

      # tail -1 /opt/php70/etc/php.ini
      pcre.jit=0

      Удалить
    2. Спасибо! ваш совет помог!
      centos7 php7 как модуль апач

      Удалить