自定义 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 |