PHP имеет множество настроек, которые может изменить Администратор или Пользователь ispmanager. При этом набор значений зависит от режима работы. В режимах работы PHP "LSAPI", "CGI", "FastCGI (Apache)" и "FastCGI (Nginx + PHP-FPM)" используются пользовательские значения. В режиме "Модуль Apache" — значения, указанные администратором. Если пользователь не изменял значение параметра, то вместо пользовательского значения переменной будет использоваться значение, указанное администратором.
Значения переменных выделены цветами:
Красный — параметры, значения которых не определены в конфигурационном файле PHP и получены непосредственно от самого интерпретатора PHP;
Зелёный — параметры, значения которых определены в глобальном конфигурационном файле PHP для администратора и в пользовательском для пользователя;
Синий — параметры, значения которых не определены;
Жёлтый — параметры, значения которых доступны пользователю только для чтения;
Изменение значений переменных
Чтобы изменить значение переменной:
Под администратором перейдите в Настройки web-сервера → PHP → Расширенные настройки. Под пользователем перейдите в WWW → PHP → Расширенные настройки.
Выделите переменную и нажмите Изменить.
Укажите новое Значение переменной.
Чтобы пользователи имели возможность изменить переменную, им нужно разрешить это под администратором: нажмите Настройки web-сервера → PHP → Расширенные настройки → Показать. Список разрешённых переменных хранится в /etc/cl.selector/php.conf.
Конфигурационные файлы настроек PHP
Глобальный конфигурационный файл настроек хранится в /etc/php.ini для нативной версии PHP и в /opt/alt/<версия PHP>/etc/php.ini для альтернативных версий.
Пользовательский конфигурационный файл для версии PHP, которая используется в режиме работы "CGI", хранится в /var/www/<владелец WWW-домена>/data/php-bin/php.ini. Настройки, которые изменял пользователь, хранятся в этой же директории в конфигурационном файле изменённых параметров .php.ini.
Чтобы изменить пользовательские конфигурационные файлы вручную, отредактируйте файл php.ini и продублируйте изменения в файле .php.ini.
Обратите внимание!
В режиме работы PHP "CGI", если для пользователя выбрана альтернативная версия PHP, то для запуска интерпретатора используется скрипт /usr/local/bin/php-cgi-etc. Этот скрипт исключает загрузку пользовательского php.ini из каталога php-bin, в котором прописываются настройки для системной версии PHP. Если выбрана нативная версия PHP, то используется скрипт /usr/bin/php-cgi.
Пользовательские настройки для альтернативных версий PHP хранятся в /var/www/<владелец WWW-домена>/data/.cl.selector/.
Шаблон создания конфигурационных файлов
Файл /usr/local/mgr5/etc/templates/php.ini используется как шаблон создания пользовательских конфигурационных файлов. При создании нового пользователя настройки PHP для него изменяются в соответствии с шаблоном. По умолчанию шаблон содержит строки:
$HOMEDIR — макрос, который при создании пользователя заменяется на его домашнюю директорию.
Обратите внимание!
Если вы хотите изменить шаблон, то сделать это нужно на мастер-сервере. Чтобы синхронизировать изменения с узлами кластера, выполните на каждом узле команду:
/usr/local/mgr5/sbin/mgrctl -m ispmgrnode exit
Применение настроек для режима работы PHP "CGI"
Если пользователь ispmanager сохраняет изменения настроек PHP, запускается утилита CloudLinux selectorctl с необходимыми параметрами.
Если администратор ispmanager сохраняет изменения настроек PHP:
Значения записываются в глобальный конфигурационный файл версии PHP.
Запускается утилита cagefsctl с ключом "--rebuild-alt-php-ini" для применения изменений.
Применение настроек для режима работы PHP "FastCGI (Apache)"
Если пользователь ispmanager сохраняет изменения настроек PHP:
Изменённые значения переменных записываются в конфигурационный файл изменённых параметров.
Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
Значения из конфигурационного файла изменённых параметров заменяют соответствующие значения в пользовательском конфигурационном файле.
Если администратор ispmanager сохраняет изменения настроек PHP:
Значения записываются в глобальный конфигурационный файл.
Для каждого пользователя ispmanager:
Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.
Применение настроек для режима работы PHP "FastCGI (Nginx + PHP-FPM)"
Если пользователь ispmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в конфигурационный файл PHP-FPM пользователя соответствующей версии PHP.
Если администратор ispmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл PHP-FPM соответствующей версии PHP.
Применение настроек для режима работы PHP "модуль Apache"
Пользователь не имеет доступа к изменению настроек PHP для этого режима.
Если администратор ispmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл модуля Apache соответствующей версии PHP.
Первоначальная настройка PHP
Чтобы упростить первоначальную настройку PHP основные параметры сгруппированы:
Перейдите в Настройки web-сервера → PHP → Настройка → Основные.
Выберите Временную зону, которая будет использоваться по умолчанию всеми функциями даты и времени. Указывается в переменной "date.timezone".
Укажите Время выполнения PHP-скрипта в секундах. Если за это время загрузка скрипта не происходит, его работа завершается. Указывается в переменной "max_execution_time".
Укажите ограничение на Макс. размер запроса в МиБ. Оно определяет максимально допустимый размер данных, отправляемых методом POST. Указывается в переменной "post_max_size".
Укажите ограничение на Макс. размер файлов в МиБ. Оно определяет максимальный размер загружаемых с помощью PHP-скриптов файлов. Указывается в переменной "upload_max_filesize".
Укажите Лимит памяти в МиБ. Он определяет максимальный объём оперативной памяти, который может использовать PHP-скрипт. Указывается в переменной "memory_limit".
Чтобы выводить сообщения об ошибках вместе с остальным выводом PHP-скрипта, включите опцию display_errors. Рекомендуем использовать эту опцию только для отладки скриптов и отключать её после завершения работы.
Чтобы ispmanager вёл журнал работы PHP-скриптов, включите опцию log_errors. Настройте список ошибок, записываемых в журнал. Для этого включите опцию Вывод всех ошибок и в поле Выбор флагов для игнорирования при выводе ошибок выберите исключения, которые не будут записываться.
Пояснения
В конфигурационный файл php.ini добавляются строки вида: