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 参数可能会采用下列值之一: 8M16M32M64M128M 。如果您想要限制到 64M128M ,可添加下面几行到 panel.ini 文件:

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

image 79193

更改 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"

image 79195

在该示例中,默认情况下, 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