çeşitli sanal ana makineler için farklı php.ini ayarları (php-fpm)


11

Burada serverFault üzerinde tahsis aradım ve bu çözümü buldum ...

Bunu sanal ana makineye dahil etmek işe yaramalıdır:

  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

Ama beni şafaktan, mod_php kullanmıyorum. Yüklü php-fpm var. Ve eğer yöntemim işe yarayacaksa veya alternatif bir yol varsa, hiçbir bilgi bulamıyorum ...

Peki, php-fpm varsa ve sanal ana bilgisayar için farklı ayarlara sahip olmak istiyorsam ne yapmalıyım?

S.


Neden hiç sihirli tırnak istesin ki ? Bunlar kötülük.
Nathan C

@NathanC Biliyorum, ama senaryo yazarı bana söyleyecek kadar kaba davrandı: "Evet, tüm gereksinimler gerekli, bu yüzden gereksinimler bunlar."

Keşke o senaryo yazarını kovmak mümkün olsaydı.
Nathan C

@NathanC evet, snobby geliştiricileri nefret ediyorum :) sadece zamanım olsaydı, kendim geliştirirdim: S

Evet da opp 0pu66996 9 6 79
sbrattla

Yanıtlar:


8

Php-fpm'de, bunu genellikle etki alanının fpm havuzunda ayarlarsınız. Havuzlar, sunucumda bulunan php-fpm'nin ana conf dosyasından eklenir /etc/php/fpm-php5.3/php-fpm.conf:

...

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

include=/var/www/*/conf/fpm-pool.conf

Fpm-pool-config'te şunları ayarlayabilir php_admin_flagve php_admin_valuebeğenebilirsiniz:

...

;   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

4

RAM'e aç bir sunucum vardı ve çalıştırdığım düşük trafikli sitelerin her biri için birden fazla havuz yapılandırmaktan kaçınmak istedim. Ben de dizin tabanlı .user.ini'nin güvenlik endişelerini sevmedim, bu yüzden php.ini "bölümleri" kullanarak farklı bir çözüm uyguladım:

http://php.net/ini.sections

Php.ini dosyasının (benim durumumda, /etc/php5/fpm/php.ini) yol veya ana bilgisayar gibi belirli bölümlerini tanımlayabilirsiniz. En altta:

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

[HOST=host2.example.net]
upload_max_filesize = 5M

Ana bilgisayar yöntemini kullanırsanız, herhangi bir diğer ad değil, VirtualHost yapılandırmasında SunucuAdı'nda tanımlanan belirli değeri kullanmanız gerektiğini başka bir yerde okudum.

PS Bu tüm Debian Jessie 8.4 üzerinde yapıldı



0

Nginx için bu çözümü kullanın:

Çünkü PHP 5.3.3bu komutu nginx-vhost dosyanızda kullanabilirsiniz.

maxlifetimeOturumların ayarlanması için örnek :

server {
    listen 80;
    listen [::]:80;

    ...

    location ~ \.php$ {
        ...

        fastcgi_param PHP_VALUE "session.gc_maxlifetime=604800";
        fastcgi_param PHP_VALUE "session.cookie_lifetime=604800";
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.