各种虚拟主机的不同 php.ini 设置(php-fpm)

11 php-fpm apache-2.2

我在 serverFault 上搜索了 allot 并找到了这个解决方案......

将其包含在虚拟主机中应该可以工作:

  php_admin_flag register_argc_argv = On
  php_value max_execution_time = 1000
  php_value session.gc_maxlifetime = 15000
  php_admin_flag magic_quotes_gpc = on
Run Code Online (Sandbox Code Playgroud)

但比它让我明白,我根本没有使用 mod_php。我已经安装了 php-fpm。如果我的方法有效,或者是否有其他方法,我真的找不到任何信息......

那么,如果我有 php-fpm 并且想要为虚拟主机设置不同的设置,我该怎么办?

S。

eta*_*klo 8

在 php-fpm 上,您通常在域的 fpm 池中设置它。这些池包含在 php-fpm 的主 conf 文件中,该文件位于我的服务器上/etc/php/fpm-php5.3/php-fpm.conf

...

;;;;;;;;;;;;;;;;;;;;
; Pool Definitions ; 
;;;;;;;;;;;;;;;;;;;;

include=/var/www/*/conf/fpm-pool.conf
Run Code Online (Sandbox Code Playgroud)

在FPM-池配置,您可以设置php_admin_flagphp_admin_value这样的:

...

;   php_value/php_flag             - you can set classic ini defines which can
;                                    be overwritten from PHP call 'ini_set'. 
;   php_admin_value/php_admin_flag - these directives won't be overwritten by
;                                     PHP call 'ini_set'
php_flag[display_errors]            = on
php_admin_value[error_log]          = /var/www/cloud/logs/php_err.log
php_admin_flag[log_errors]          = on
php_admin_value[memory_limit]       = 1024M
#php_value[max_execution_time]       = 30
php_admin_value[upload_max_filesize] = 4G
php_admin_value[post_max_size]      = 4.2G
php_admin_value[max_input_time]     = 3600
php_admin_value[max_execution_time] = 3600
Run Code Online (Sandbox Code Playgroud)


jay*_*isc 5

我有一个内存不足的服务器,并希望避免为我正在运行的每个低流量站点配置多个池。我也不喜欢基于目录的 .user.ini 的安全问题,所以我使用 php.ini "sections" 实现了一个不同的解决方案:

http://php.net/ini.sections

您可以定义特定于路径或主机的 php.ini 部分(在我的情况下为 /etc/php5/fpm/php.ini)。在底部,我有:

[HOST=host1.example.com]
auto_prepend_file = '/var/www/something'

[HOST=host2.example.net]
upload_max_filesize = 5M
Run Code Online (Sandbox Code Playgroud)

我在别处读到,如果您使用主机方法,则必须使用 VirtualHost 配置中 ServerName 中定义的特定值,而不是任何别名。

PS 这一切都是在 Debian Jessie 8.4 上完成的