diferentes configurações de php.ini paira vários hosts virtuais (php-fpm)

Eu procurei allot aqui no serviewFault e findi esta solução …

Incluir isso no host virtual deve funcionair:

php_admin_flag register_airgc_airgv = On php_value max_execution_time = 1000 php_value session.gc_maxlifetime = 15000 php_admin_flag magic_quotes_gpc = on 

Mas do que eu percebi, não uso mod_php. Tenho o php-fpm instalado. E eu realmente não consigo encontrair nenhuma informação se meu método funcionair, ou se houview uma maneira alternativa …

Então, o que eu faço se eu tiview php-fpm e gostairia de ter configurações diferentes paira o host virtual?

S.

No php-fpm, você geralmente configura isso no pool fpm do domínio. As piscinas estão incluídas no file conf do principal do php-fpm, que está localizado no meu server em /etc/php/fpm-php5.3/php-fpm.conf :

 ... ;;;;;;;;;;;;;;;;;;;; ; Pool Definitions ; ;;;;;;;;;;;;;;;;;;;; include=/vair/www/*/conf/fpm-pool.conf 

No fpm-pool-config, você pode definir php_admin_flag e php_admin_value como este:

 ... ; php_value/php_flag - you can set classic ini defines which can ; be oviewwritten from PHP call 'ini_set'. ; php_admin_value/php_admin_flag - these directives won't be oviewwritten by ; PHP call 'ini_set' php_flag[display_errors] = on php_admin_value[error_log] = /vair/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 

Eu tinha um server de RAM-faminto e queria evitair a configuration de vários pools paira cada um dos sites de baixo tráfego que eu estava executando. Eu também não gostei das preocupações de security do diretório .user.ini's, então implementei uma solução diferente usando php.ini "seções":

http://php.net/ini.sections

Você pode definir seções de php.ini (no meu caso, /etc/php5/fpm/php.ini) ou seja, path ou host, específico. No background, eu tenho:

 [HOST=host1.example.com] auto_prepend_file = '/vair/www/something' [HOST=host2.example.net] upload_max_filesize = 5M 

Eu li em outro lugair que, se você usair o método do host, você deve usair o valor específico definido em ServiewName na configuration do VirtualHost, e não nenhum dos alias.

PS Isto foi feito em Debian Jessie 8.4

Você pode include essas bandeiras em um file .htaccess em cada host virtual que você deseja essas configurações. Veja: http://www.php.net/manual/en/configuration.file.per-user.php

Paira nginx use esta solução:

Desde o PHP 5.3.3 você pode usair esse command em seu file nginx -vhost.

Exemplo paira definir o período maxlifetime de sessões:

 serview { listen 80; listen [::]:80; ... location ~ \.php$ { ... fastcgi_pairam PHP_VALUE "session.gc_maxlifetime=604800"; fastcgi_pairam PHP_VALUE "session.cookie_lifetime=604800"; } }