自定义 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 参数来说,我们可以从一系列预定义的值中选择某个值。您可以根据下面的模式添加一行或多行到 panel.ini 文件来自定义 PHP 参数可采用的预定义值列表:
[php]
settings.<parameter_group>.<parameter_name>.values[]=<value>
其中
-
<parameter_group>是被选 PHP 参数所属的群组。欲了解更多有关 PHP 参数群组的信息,请参阅下面的 “PHP 参数和参数群组”。 -
<parameter_name>是被选 PHP 参数的名称。使用与 php.ini 中相同的句法。 -
<value>是您要添加到列表中的参数的预定义值。使用与 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 参数来说,会标记预定义值列表中的某个值作为默认值。在用户手动选择一个其它值之前默认值都会有效。您可以按照下面的模式添加一行到 panel.ini 文件来更改 PHP 参数的默认值:
[php]
settings.<parameter_group>.<parameter_name>.default=<value>
其中
-
<parameter_group>是被选 PHP 参数所属的群组。欲了解更多有关 PHP 参数群组的信息,请参阅下面的 “PHP 参数和参数群组”。 -
<parameter_name>是被选 PHP 参数的名称。使用与 php.ini 中相同的句法。 -
<value>是被选参数的所需默认值。使用与 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 参数指定自定义值,而不是从预定义值的列表中选择某个值。您可以按照下面的模式添加一行到 panel.ini 文件来禁止为某个 PHP 参数的指定自定义值:
[php]
settings.<parameter_group>.<parameter_name>.custom=false
其中
-
<parameter_group>是被选 PHP 参数所属的群组。欲了解更多有关 PHP 参数群组的信息,请参阅下面的 “PHP 参数和参数群组”。 -
<parameter_name>是被选 PHP 参数的名称。使用与 php.ini 中相同的句法。
您一旦禁止为某PHP 参数指定自定义值后,用户则只能从预定义值列表中进行选择。
例如,要禁止为 error_reporting 参数指定自定义值,需添加以下行到 panel.ini 文件:
[php]
settings.general.error_reporting.custom=false
自定义 PHP-FPM 参数
如要自定义属于 fpm 群组的 PHP 参数,需要添加以下各行到 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 参数可采用哪些预定义值,更改默认值,或禁止指定自定义值。您可以在下面表格中查看 “fpm (仅限 Linux)” 参数群组中完整的 PHP-FPM 参数列表。
例如,要将 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 参数名称 |
|---|---|
| 性能 | memory_limit |
| max_execution_time | |
| max_input_time | |
| post_max_size | |
| upload_max_filesize | |
| opcache.enable | |
| wincache.ocenabled | |
| apc.enabled | |
| xcache.cacher | |
| disable_functions | |
| 常规 | 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 |