作者:zhanhailiang 日期:2015-03-04
1. 通过 php.ini 修改配置:
[[email protected]/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 [[email protected]/usr/local/php/etc]# vim /usr/local/php-5.3.29/lib/php.ini
2. 通过 ini_set 修改配置:
ini_set只能针对有效选项进行修改,详情请见:
3. 通过 php-fpm.conf 修改配置:
- 通过 php_value/php_flag,php_admin_value/php_admin_flag 对php.ini配置进行修改;
- 该修改方法只会在php-fpm进程请求中生效;
- 二者的区别在于前者修改指令可以被ini_set覆盖,后者修改指令不能通过ini_set覆盖;
- 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. 更多阅读
时间: 2024-10-17 15:42:43