修改php.ini配置的几种方法

作者:zhanhailiang 日期:2015-03-04

1. 通过 php.ini 修改配置:

[root@/usr/local/php/etc]# /usr/local/php/bin/php -ini|grep php.ini
Configuration File (php.ini) Path => /usr/local/php-5.3.29/lib
[root@/usr/local/php/etc]# vim /usr/local/php-5.3.29/lib/php.ini 

2. 通过 ini_set 修改配置:

ini_set只能针对有效选项进行修改,详情请见:

  1. ini_set
  2. php.ini 配置选项列表

3. 通过 php-fpm.conf 修改配置:

  1. 通过 php_value/php_flag,php_admin_value/php_admin_flag 对php.ini配置进行修改;
  2. 该修改方法只会在php-fpm进程请求中生效;
  3. 二者的区别在于前者修改指令可以被ini_set覆盖,后者修改指令不能通过ini_set覆盖;
  4. php_flag用来专门设置布尔值,如on, off, 1, 0, true, false, yes, no,而php_value用来设置所有类型的值;
; Additional php.ini defines, specific to this pool of workers. These settings
; overwrite the values previously defined in the php.ini. The directives are the 
; same as the PHP SAPI:
;   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'
; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. 

; Defining 'extension' will load the corresponding shared extension from
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not 
; overwrite previously defined php.ini values, but will append the new value
; instead.

; Note: path INI options can be relative and will be expanded with the prefix
; (pool, global or /usr/local/php-5.3.29)

; Default Value: nothing is defined by default except the values in php.ini and 
;                specified at startup with the -d argument
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f [email protected]
;php_flag[display_errors] = off 
;php_admin_value[error_log] = /var/log/fpm-php.www.log
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 32M

4. 自 5.3.3 起,通过 web服务器 修改配置:

如下通过nginx.conf修改配置:

set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";

5. 更多阅读

  1. php-fpm.conf配置

你可能感兴趣的:(php)