# Настройка параметров PHP

In the Plesk interface, you and your customers can fine-tune the PHP settings for individual service plans, add-on plans, subscriptions, websites, and subdomains. One can change the values of some of the most frequently used PHP parameters by selecting the desired value from a list or specifying a custom value. In Plesk Onyx 17.5 and later, you can make the following changes to this scenario by editing the panel.ini file:

- Указать, какие предопределенные значения может принимать параметр PHP.
- Изменить значение по умолчанию для параметра PHP.
- Запретить указание произвольных значений для некоторых параметров PHP.

## Как задать предопределенные значения, которые может принимать параметр PHP

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

    [php]
    settings.<parameter_group>.<parameter_name>.values[]=<value>

где

- `<группа_параметра>` – группа, которой принадлежит выбранный параметр PHP. Чтобы узнать больше о группах параметров PHP, смотрите раздел “Параметры и группы параметров PHP” ниже.
- `<имя_параметра>` – имя выбранного параметра PHP. Используйте такой же синтаксис, как в php.ini.
- `<значение>` – предопределенное значение параметра, которые вы хотите добавить в список. Используйте такой же синтаксис, как в php.ini.

Вам надо добавить по одной строке для каждого предопределенного значения, если вы хотите, чтобы оно появилось в списке.

Например, по умолчанию параметр `memory_limit` может принимать одно из следующих значений: `8M`, `16M`, `32M`, `64M` и `128M`. Если вы хотите, чтобы выбирать можно было только из значений `64M` и `128M`, добавьте в файл `panel.ini` следующие строки:

    [php]
    settings.performance.memory_limit.values[]="64M"
    settings.performance.memory_limit.values[]="128M"

## Как изменить значение по умолчанию для параметра PHP

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

    [php]
    settings.<parameter_group>.<parameter_name>.default=<value>

где

- `<группа_параметра>` – группа, которой принадлежит выбранный параметр PHP. Чтобы узнать больше о группах параметров PHP, смотрите раздел “Параметры и группы параметров PHP” ниже.
- `<имя_параметра>` – имя выбранного параметра PHP. Используйте такой же синтаксис, как в php.ini.
- `<значение>` – значение по умолчанию для выбранного параметра. Используйте такой же синтаксис, как в php.ini.

Например, параметр `open_basedir` имеет значение по умолчанию `{WEBSPACEROOT}{/}{:}{TMP}{/}`. Чтобы изменить его на `none`, добавьте следующую строку в файл `panel.ini`:

    [php]
    settings.general.open_basedir.default="none"

В этом примере значение `none` включается в список предопределенных значений для параметра `open_basedir` по умолчанию. Но возможна ситуация, когда нужное значение по умолчанию для параметра PHP не входит в список предопределенных значений, используемый по умолчанию. В этом случае вам необходимо сначала создать персональный список предопределенных значений.

Например, чтобы изменить значение по умолчанию для параметра `execution_time` на `180`, добавьте в файл `panel.ini` следующие строки:

    [php]
    settings.performance.max_execution_time[]=30
    settings.performance.max_execution_time[]=60
    settings.performance.max_execution_time[]=90
    settings.performance.max_execution_time[]=120
    settings.performance.max_execution_time[]=180 ; adds 180 to the list of predefined values
    settings.performance.max_execution_time.default=180

## Как запретить использование персональных значений для параметра PHP

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

    [php]
    settings.<parameter_group>.<parameter_name>.custom=false

где

- `<группа_параметра>` – группа, которой принадлежит выбранный параметр PHP. Чтобы узнать больше о группах параметров PHP, смотрите раздел “Параметры и группы параметров PHP” ниже.
- `<имя_параметра>` – имя выбранного параметра PHP. Используйте такой же синтаксис, как в php.ini.

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

Например, чтобы запретить использование персональных значений для параметра `error_reporting`, добавьте в файл `panel.ini` следующие строки:

    [php]
    settings.general.error_reporting.custom=false

## Настройка параметров PHP-FPM

Чтобы настроить параметры PHP, принадлежащие группе fpm, необходимо добавить в файл panel.ini следующие строки:

    [php]
    settings.fpm.pm.start_servers.custom=true
    settings.fpm.pm.min_spare_servers.custom=true
    settings.fpm.pm.max_spare_servers.custom=true

Это верно для любого изменения параметров PHP-FPM: задания значений по умолчанию, которые может принимать тот или иной параметр PHP-FPM, изменения значения по умолчанию или запрета указания персональных значений. Полный список параметров PHP-FPM показан в таблице ниже, в группе параметров “fpm (только в Linux)”.

Например, чтобы изменить значение по умолчанию для параметра `pm.max_children` на `20`, добавьте в файл `panel.ini` следующие строки:

    [php]
    settings.fpm.pm.start_servers.custom=true
    settings.fpm.pm.min_spare_servers.custom=true
    settings.fpm.pm.max_spare_servers.custom=true
    settings.fpm.pm.max_children[]=20
    settings.fpm.pm.max_children.default=20

## Параметры и группы параметров PHP

Вот список групп параметров PHP и входящих в них параметров:

Группа параметров PHP | Имя параметра PHP
--- | ---
performance | memory_limit
| max_execution_time
| max_input_time
| post_max_size
| upload_max_filesize
| opcache.enable
| wincache.ocenabled
| apc.enabled
| xcache.cacher
| disable_functions
general | safe_mode
| safe_mode_include_dir
| safe_mode_exec_dir
| include_path
| session.save_path
| mail.force_extra_parameters
| register_globals
| open_basedir
| error_reporting
| display_errors
| log_errors
| allow_url_fopen
| file_uploads
| short_open_tag
| magic_quotes_gpc
fpm (только в Linux) | pm.max_children
| pm.max_requests
| pm
| pm.start_servers
| pm.min_spare_servers
| pm.max_spare_servers
fastCgi (только в Windows) | maxInstances
| activityTimeout
| requestTimeout
| instanceMaxRequests
| queueLength
| rapidFailsPerMinute