PHP - это один из самых популярных языков скриптов для создания динамических веб-страниц. На его основе работает большинство современных сайтов и веб-приложений. Именно поэтому администраторам сайтов необходимо понимать, как они могут контролировать выполнение скриптов PHP. Обычно поведение PHP определяется целым рядом настроек. Эти настройки регулируют различные аспекты выполнения скриптов, такие как производительность (например, количество памяти, которое может использовать скрипт), безопасность (например, доступ к файловой системе и службам) и так далее. Администраторы могут менять эти настройки по нескольким причинам:
Как правило, настройки PHP определяются глобальным (серверным) конфигурационным файлом. В Linux это обычно /etc/php.ini
, а в Windows - %WIN%\php.ini
. Этот файл управляется вашим хостинг-провайдером и определяет конфигурацию PHP для всех сайтов на сервере. Начиная с Plesk 10.4 настройки PHP можно изменить через Панель клиента и вы можете корректировать их отдельно для каждого хостинг-плана или подписки. В свою очередь ваши клиенты (если им это разрешено) могут использовать определенную вами конфигурацию для дальнейшей индивидуальной настройки РНР для своих сайтов и подписок. Иерархия настроек PHP продемонстрирована на приведенной ниже схеме.
Индивидуальная настройка PHP выполняется в свойствах конкретного плана, дополнительной услуги или подписки (на вкладке Настройки PHP). Настройки более высоко уровня служат базовой конфигурацией для более низкого, то есть переопределяются на каждой последующей ступени иерархии. Например, вы можете сознательно ограничить возможности PHP в тарифном плане и затем предложить клиентам дополнительную услугу, которая снимает эти ограничения. В этом случае настройки PHP в данной дополнительной услуге перекроют настройки основного сервис-плана.
В результате при наличии соответствующих полномочий клиенты смогут указать персональные настройки PHP для каждого сайта (или субдомена) в своей подписке.
Для удобства все настройки PHP в Plesk разделены на две группы:
memory_limit
позволяет ограничить количество памяти, доступное тому или иному скрипту, и таким образом предотвратить утечку памяти; а параметр max_execution_time
позволяет ограничить максимальное время исполнения скриптов и таким образом предотвратить зависание сервера из-за работы скриптов.Важно. Если в вашей установке 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 в свойствах конкретного сайта (субдомена).