Настройка PHP в CloudLinux
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 хранятся в /var/www/<владелец WWW-домена>/data/.cl.selector/.
Шаблон создания конфигурационных файлов
Файл /usr/local/mgr5/etc/templates/php.ini используется как шаблон создания пользовательских конфигурационных файлов. При создании нового пользователя настройки PHP для него изменяются в соответствии с шаблоном. По умолчанию шаблон содержит строки:
Шаблон пользовательских конфигурационных файлов
session.save_path = "$HOMEDIR/bin-tmp/"
upload_tmp_dir = "$HOMEDIR/bin-tmp/"
sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@example.com
/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. Настройте список ошибок, записываемых в журнал. Для этого включите опцию Вывод всех ошибок и в поле Выбор флагов для игнорирования при выводе ошибок выберите исключения, которые не будут записываться. Или отключите опцию Вывод всех ошибок и в поле Выбор флагов для вывода ошибок выберите ошибки, которые будут записываться в журнал.ПоясненияПояснения
Восстановление значения переменной
Чтобы восстановить значение переменной под администратором:
- Нажмите Настройки web-сервера → PHP → Расширенные настройки → Восстановить.
- Изменённое значение удаляется из глобального конфигурационного файла PHP.
- Для каждого пользователя ISPmanager:
- Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
- Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.
Чтобы восстановить значение переменной под пользователем:
- Нажмите WWW → PHP → Расширенные настройки → Восстановить.
- Изменённое значение удаляется из пользовательского конфигурационного файла PHP.