Содержание
- 1 Настройка опций в файле .htaccess
- 1.1 apc.cache_by_default
- 1.2 default_charset
- 1.3 display_errors
- 1.4 log_errors
- 1.5 magic_quotes_gpc
- 1.6 mail.add_x_header
- 1.7 max_input_vars
- 1.8 mbstring.func_overload и mbstring.internal_encoding
- 1.9 opcache.revalidate_freq
- 1.10 pcre.recursion_limit
- 1.11 post_max_size
- 1.12 register_globals
- 1.13 request_order
- 1.14 upload_max_filesize
- 2 Настройка опций в файле php.ini
- 3 Опции, которые не могут быть изменены
- 4 Ошибка “Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений”
PHP в рамках виртуального хостинга может работать в двух режимах — mod_php и mod_cgi:
- В первом случае PHP функционирует как модуль веб-сервера Apache, поэтому настройки PHP необходимо указывать в файле .htaccess.
- Во втором случае настройки PHP необходимо указывать в файле php.ini, который располагается в директории cgi-bin вашего сайта.
По умолчанию на новых серверах PHP работает в режиме mod_php, но при желании вы можете подключить режим mod_cgi, воспользовавшись нашей инструкцией.
Настройка опций в файле .htaccess
Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода . .
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Управление APC осуществляется директивами:
default_charset
Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.
display_errors
Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.
Включение и выключение осуществляются следующим образом:
log_errors
Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву вашего логина и сам логин.
magic_quotes_gpc
Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные (") кавычки и обратный слэш ()экранируются обратным слэшем автоматически.
Включение и выключение magic_quotes осуществляется директивами:
mail.add_x_header
Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву вашего логина и сам логин.
max_input_vars
Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:
mbstring.func_overload и mbstring.internal_encoding
Чаще всего к данным функциям требуется обращаться для настройки корректной работы сайтов на CMS Битрикс. В этом случае должны быть указаны следующие параметры:
При этом для большинства других CMS необходимы иные значения этих функций:
opcache.revalidate_freq
Отключение OpCache (настройка требуется для CMS Битрикс):
pcre.recursion_limit
Устанавливает лимит на рекурсию.
post_max_size
Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.
register_globals
Директивы для включения/выключения глобальных переменных:
request_order
Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Настройка опций в файле php.ini
allow_url_fopen
Опция включает поддержку оберток URL (URL wrappers), которые позволяют работать с объектами URL по протоколам ftp или http как с обычными файлами.
Включение опции (для отключения значение = 0):
apc.cache_by_default
APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.
Отключение APC (для включения значение = 1):
default_charset
Указание кодировки по умолчанию:
display_errors
Включение вывода ошибок (для выключения значение = off).
magic_quotes_gpc
Отключение Magic Quotes (для включения значение = 1):
mail.add_x_header
Включение логирования отправки почты из скриптов сайта. В директиве mail.log указывается путь к файлу, в который будут сохраняться логи (замените u и user на первую букву вашего логина и сам логин).
max_input_vars
Изменение количества вводимых переменных:
mbstring.func_overload и mbstring.internal_encoding
Настройки для CMS Битрикс:
opcache.revalidate_freq
Отключение OpCache (настройка для CMS Битрикс):
pcre.recursion_limit
Лимит на рекурсию:
post_max_size
Максимальный размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.
register_globals
Отключение Register Globals (для включения значение = 1):
request_order
Регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.
upload_max_filesize
Устанавливает максимальный размер закачиваемого файла.
Опции, которые не могут быть изменены
К настройкам PHP, изменение которых невозможно в рамках виртуального хостинга, относятся:
При проверке системы в битриксе выдаёт:
Если я проверяю с консоли
Создал файл с таким содержимым:
Выполняю его с консоли:
Открываю его в браузере:
Я так понимаю это php-fpm где-то ограничивает меня. Но вот только где задаётся это ограничение, мне не понятно. Пните пожалуйста в нужном направлении.
Всем спасибо за потраченное время.
Новые вводные данные, после того как мне в ответе прислали ссылочку
https://clite.ru/articles/bitrix/bitrixenv-linux/r.
И я сделал то что написано в ней, при открытии странички через веб стало показывать
Вот только проверка системы в битриксе всё равно ругается, для битрикса ничего не поменялось. Подскажите что делаю не так?
Ошибка “Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений”
Решение довольно простое и банальное , если вы используете php 7 достаточно добавить параметр pcre.jit=0 в php.ini файл.
CentOS 7:
Создать каталог /etc/systemd/system/httpd.service.d, в нем создаем файл start.conf с содержимым:
и перечитать конфигурацию systemd и перезапустить веб-сервер