%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%8B%A4%EC%96%91%ED%95%9C%20php.ini%20%EC%84%A4%EC%A0%95.png)
여기 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에 대해 다른 설정을 갖고 싶다면 어떻게 해야 합니까?
에스.
답변1
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_flag
과 php_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
답변2
저는 RAM이 부족한 서버를 가지고 있었고 제가 실행하고 있는 트래픽이 적은 각 사이트에 대해 여러 풀을 구성하는 것을 피하고 싶었습니다. 또한 디렉토리 기반 .user.ini의 보안 문제가 마음에 들지 않았기 때문에 php.ini "섹션"을 사용하여 다른 솔루션을 구현했습니다.
경로 또는 호스트에 특정한 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에 정의된 특정 값을 사용해야 한다는 내용을 다른 곳에서 읽었습니다.
PS 이것은 모두 Debian Jessie 8.4에서 수행되었습니다.
답변3
이러한 설정을 원하는 각 가상 호스트 아래의 .htaccess 파일에 이러한 플래그를 포함할 수 있습니다. 보다:http://www.php.net/manual/en/configuration.file.per-user.php
답변4
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";
}
}