다양한 가상 호스트에 대한 다른 php.ini 설정 (php-fpm)


11

serverFault에서 할당량을 검색 하고이 솔루션을 찾았습니다 ...

가상 호스트에 이것을 포함하면 작동합니다.

  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

하지만 새벽에 비해 mod_php를 전혀 사용하지 않습니다. php-fpm이 설치되어 있습니다. 내 방법이 효과가 있거나 다른 방법이 있다면 실제로 정보를 찾을 수 없습니다 ...

php-fpm을 가지고 있고 virtualhost에 다른 설정을 원한다면 어떻게해야합니까?

에스.


왜 것 이제까지 마법의 따옴표를 원하는? 그것들은 악하다.
Nathan C

@NathanC 알고 있습니다. 그러나 스크립트 작성자는 "모든 요구 사항이 필요합니다. 이것이 요구 사항입니다."

해당 스크립트 작성자를 해고 할 수있는 경우에만 가능합니다.
Nathan C

@NathanC 그래, 난 snobby 개발자를 싫어 :) 시간이 있었다면, 나는 그것을 직접 개발할 것입니다 : S

예 da opp 0pu66996 9 6 79
sbrattla

답변:


8

php-fpm에서는 일반적으로 도메인의 fpm 풀에서이를 설정합니다. 풀은 php-fpm의 주요 conf 파일에 포함되어 있습니다 /etc/php/fpm-php5.3/php-fpm.conf.

...

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

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

fpm-pool-config에서 다음 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

4

RAM이 고갈 된 서버가 있고 트래픽이 적은 각 사이트에 대해 여러 개의 풀을 구성하지 않기를 원했습니다. 또한 디렉토리 기반 .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

다른 곳에서 호스트 메소드를 사용하는 경우 별명이 아닌 VirtualHost 구성의 ServerName에 정의 된 특정 값을 사용해야한다는 것을 읽었습니다.

추신이 모든 데비안 제시 8.4


1

이러한 플래그를 설정하려는 각 가상 호스트 아래의 .htaccess 파일에 포함시킬 수 있습니다. 참조 : http://www.php.net/manual/en/configuration.file.per-user.php


1
mod_php에서만 가능하지 않습니까? php-fpm이 설치되었습니다.

내가 읽은 것에서 이것은 php-fpm으로 그것을 달성하는 방법입니다. mod_php를 사용하면 지시어가 httpd.conf에있을 수 있습니다.
Nathan C

0

nginx의 경우이 솔루션을 사용하십시오.

-vhost-file PHP 5.3.3에서이 명령을 사용할 수 있기 때문 nginx입니다.

maxlifetime세션 설정 예 :

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

    ...

    location ~ \.php$ {
        ...

        fastcgi_param PHP_VALUE "session.gc_maxlifetime=604800";
        fastcgi_param PHP_VALUE "session.cookie_lifetime=604800";
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.