Индивидуальная настройка PHP

PHP - это один из самых популярных языков скриптов для создания динамических веб-страниц. На его основе работает большинство современных сайтов и веб-приложений. Именно поэтому администраторам сайтов необходимо понимать, как они могут контролировать выполнение скриптов PHP. Обычно поведение PHP определяется целым рядом настроек. Эти настройки регулируют различные аспекты выполнения скриптов, такие как производительность (например, количество памяти, которое может использовать скрипт), безопасность (например, доступ к файловой системе и службам) и так далее. Администраторы могут менять эти настройки по нескольким причинам:

  • для предотвращения утечки памяти или зависания сервера из-за плохо написанных скриптов,
  • для защиты данных от вредоносных скриптов,
  • для обеспечения соответствия требованиям определенных веб-приложений,
  • для тестирования собственных скриптов и так далее.
Индивидуальные настройки PHP в Plesk

Как правило, настройки PHP определяются глобальным (серверным) конфигурационным файлом. В Linux это обычно /etc/php.ini, а в Windows - %WIN%\php.ini. Этот файл управляется вашим хостинг-провайдером и определяет конфигурацию PHP для всех сайтов на сервере. Начиная с Plesk 10.4 настройки PHP можно изменить через Панель клиента и вы можете корректировать их отдельно для каждого хостинг-плана или подписки. В свою очередь ваши клиенты (если им это разрешено) могут использовать определенную вами конфигурацию для дальнейшей индивидуальной настройки РНР для своих сайтов и подписок. Иерархия настроек PHP продемонстрирована на приведенной ниже схеме.

Иерархия настроек PHP

Индивидуальная настройка PHP выполняется в свойствах конкретного плана, дополнительной услуги или подписки (на вкладке Настройки PHP). Настройки более высоко уровня служат базовой конфигурацией для более низкого, то есть переопределяются на каждой последующей ступени иерархии. Например, вы можете сознательно ограничить возможности PHP в тарифном плане и затем предложить клиентам дополнительную услугу, которая снимает эти ограничения. В этом случае настройки PHP в данной дополнительной услуге перекроют настройки основного сервис-плана.
В результате при наличии соответствующих полномочий клиенты смогут указать персональные настройки PHP для каждого сайта (или субдомена) в своей подписке.

Группы настроек PHP

Для удобства все настройки PHP в Plesk разделены на две группы:

  • Настройки производительности.
    Эти настройки определяют, как сценарии работают с системными ресурсами. Например: параметр memory_limit позволяет ограничить количество памяти, доступное тому или иному скрипту, и таким образом предотвратить утечку памяти; а параметр max_execution_time позволяет ограничить максимальное время исполнения скриптов и таким образом предотвратить зависание сервера из-за работы скриптов.
  • Общие настройки.
    Эта группа содержит прочие наиболее распространенные настройки PHP. Обычно к ним относятся настройки безопасности (например, включение безопасного режима PHP или регистрации глобальных переменных), настройки отчетов об ошибках (например, директива для ведения журналов ошибок) и так далее.

Важно. Если в вашей установке Plesk для Windows или Linux PHP работает не как модуль Apache, ваши клиенты могут менять некоторые настройки PHP вне зависимости от наличия соответствующих прав. Используя функцию ini_set() в своих скриптах, они могут менять значения параметров memory_limit, max_execution_time, а также тех ваших дополнительных директив, которые PHP позволяет задавать где угодно (директивы PHP_INI_ALL; более подробную информацию смотрите на странице http://php.net/manual/en/ini.list.php).

Если вы не можете найти некоторые параметры на странице настроек РНР, обратитесь к своему хостинг-провайдеру.

Стандартные значения параметров PHP

Задать тот или иной параметр на вкладке Настройки РНР можно одним из трех способов: выбрав вариант из списка, введя конкретное значение или оставив значение По умолчанию. В последнем случае значение параметра берется из глобальной (серверной) конфигурации PHP. Единственным исключением являются дополнительные услуги: для них значение По умолчанию на вкладке Настройки PHP берется из основного тарифного плана.

Как разрешить клиентам менять настройки PHP

Вы можете разрешить своим клиентам заменять определенные подпиской настройки PHP на их собственную конфигурацию на уровне отдельных сайтов и субдоменов. Для этого служат следующие права на вкладке Права в свойствах конкретного плана или подписки:

  • Управление настройками производительности хостинга.
    Помимо прочего, это полномочие дает клиентам право доступа к настройкам PHP из группы настройки производительности.
  • Управление общими настройками PHP.
    Позволяет клиентам редактировать настройки PHP из группы общие настройки.

Учтите, что эти права можно предоставить только тем планам (подпискам), которые имеют право Управление настройками хостинга.

Даже если у ваших клиентов нет прав на редактирование настроек PHP, вы (как администратор) со своей стороны всегда можете выполнить индивидуальную настройку PHP для их сайтов (субдоменов). Для этого откройте нужную учетную запись хостинга через Панель реселлера и внесите необходимые изменения на вкладке Настройки PHP в свойствах конкретного сайта (субдомена).