Настройка PHP

PHP имеет множество настроек, которые может изменить Администратор или Пользователь ISPmanager. При этом набор значений зависит от режима работы. В режимах работы PHP «CGI», «FastCGI (Apache)» и «FastCGI (Nginx + PHP-FPM)» используются пользовательские значения. В режиме «Модуль Apache» — значения, указанные администратором. Если пользователь не изменял значение параметра, то вместо пользовательского значения переменной будет использоваться значение, указанное администратором.

Значения переменных выделены цветами:

  • Красный — параметры, значения которых не определены в конфигурационном файле PHP и получены непосредственно от самого интерпретатора PHP.
  • Зелёный — параметры, значения которых определены в глобальном конфигурационном файле PHP для администратора и в пользовательском для пользователя.
  • Синий — параметры, значения которых не определены.
  • Жёлтый — параметры, значения которых доступны пользователю только для чтения.

Изменение значений переменных


Чтобы изменить значение переменной:

  1. Под администратором перейдите в Настройки web-сервера → PHP → Настройка. Под пользователем перейдите в WWW → PHP → Настройка

    Обратите внимание!

    Администратор определяет значения каких переменных отображаются пользователям по умолчанию. Для настройки перейдите в Настройки web-сервера → PHP → Настройка, выберите переменную и нажмите Показать

     

  2. Выделите переменную и нажмите Изменить.
  3. Укажите новое Значение переменной.

Глобальный конфигурационный файл настроек хранится в:

  • CentOS: /etc/php.ini для нативной версии PHP и в /opt/<версия PHP>/etc/php.ini для альтернативных версий.
  • Debian: для каждого режима работы PHP индивидуальный файл. /etc/php5/apache2/php.ini, /etc/php5/cgi/php.ini и /etc/php5/fpm/php.ini.

Пользовательские конфигурационные файлы хранятся в /var/www/<директория php-bin версии PHP>/<владелец WWW-домена>/php.ini. Настройки, которые изменял пользователь, хранятся в этой же директории в конфигурационном файле изменённых параметров .php.ini.

Чтобы изменить пользовательские конфигурационные файлы вручную, отредактируйте файл php.ini и продублируйте изменения в файле .php.ini.

Шаблон создания конфигурационных файлов

Файл /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

 

 Пояснения

$HOMEDIR — макрос, который при создании пользователя заменяется на его домашнюю директорию.

 

Применение настроек для режимов работы PHP «CGI» и «FastCGI (Apache)»

Если пользователь ISPmanager сохраняет изменения настроек PHP:

  1. Изменённые значения переменных записываются в конфигурационный файл изменённых параметров.
  2. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
  3. Значения из конфигурационного файла изменённых параметров заменяют соответствующие значения в пользовательском конфигурационном файле.

Если администратор ISPmanager сохраняет изменения настроек PHP:

  1. Значения записываются в глобальный конфигурационный файл.
  2. Для каждого пользователя ISPmanager:
    1. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
    2. Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.

Применение настроек для режима работы PHP «FastCGI (Nginx + PHP-FPM)»

Если пользователь ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в конфигурационный файл PHP-FPM пользователя соответствующей версии PHP.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл PHP-FPM соответствующей версии PHP.

Применение настроек для режима работы PHP «модуль Apache»

Пользователь не имеет доступа к изменению настроек PHP для этого режима.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл модуля Apache соответствующей версии PHP.

Первоначальная настройка PHP


Чтобы упростить первоначальную настройку PHP основные параметры сгруппированы:

  1. Перейдите в Настройки web-сервера → PHP → Настройка → Основные.
  2. Выберите Временную зону, которая будет использоваться по умолчанию всеми функциями даты и времени. Указывается в переменной «date.timezone».
  3. Укажите Время выполнения PHP-скрипта в секундах. Если за это время загрузка скрипта не происходит, его работа завершается. Указывается в переменной «max_execution_time».
  4. Укажите ограничение на Макс. размер запроса в МиБ. Оно определяет максимально допустимый размер данных, отправляемых методом POST. Указывается в переменной «post_max_size».
  5. Укажите ограничение на Макс. размер файлов в МиБ. Оно определяет максимальный размер загружаемых с помощью PHP-скриптов файлов. Указывается в переменной «upload_max_filesize».
  6. Укажите Лимит памяти в МиБ. Он определяет максимальный объём оперативной памяти, который может использовать PHP-скрипт. Указывается в переменной «memory_limit».
  7. Чтобы выводить сообщения об ошибках вместе с остальным выводом PHP-скрипта, включите опцию display_errors. Рекомендуем использовать эту опцию только для отладки скриптов и отключать её после завершения работы.
  8. Чтобы ISPmanager вёл журнал работы PHP-скриптов, включите опцию log_errors. Настройте список ошибок, записываемых в журнал. Для этого включите опцию Вывод всех ошибок и в поле Выбор флагов для игнорирования при выводе ошибок выберите исключения, которые не будут записываться.

     Пояснения

    В конфигурационный файл php.ini добавляются строки вида:

    Конфигурационный файл php.ini

    error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT.

     

     Пояснения

    E_ALL — включает вывод всех ошибок.

    & ~E_DEPRECATED & ~E_STRICT — исключаемые ошибки, указанные через «& ~».

     

    Или отключите опцию Вывод всех ошибок и в поле выберите ошибки, которые будут записываться в журнал.

     Пояснения

    В конфигурационный файл php.ini добавятся строки вида:

    Конфигурационный файл php.ini

    error_reporting = E_ERROR | E_NOTIC

     

     Пояснения

    E_ERROR | E_NOTIC — журналируемые ошибки, указанные через » | «.

     

Восстановление значения переменной


Чтобы восстановить значение переменной под администратором:

  1. Нажмите Настройки web-сервера → PHP → Восстановить.
  2. Изменённое значение удаляется из глобального конфигурационного файла PHP.
  3. Для каждого пользователя ISPmanager:
    1. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
    2. Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.

Чтобы восстановить значение переменной под пользователем:

  1. Нажмите WWW → PHPВосстановить.
  2. Изменённое значение удаляется из пользовательского конфигурационного файла PHP.