修改php.ini配置文件的几个函数先做一下介绍:
php中修改php配置文件(php.ini)的函数主要有四个函数:ini_get、ini_set、ini_get_all、ini_restore。其中ini_set和ini_get比较常用,下面分别做介绍。
(1)ini_get()
用来获取配置文件的选项值.
这个函数很多人都使过,其实就是获取配置文件中的某一个选项值,是true值返回1,是false值返回0,是字符串就返回的是字符串。
如果无法知道你的全局变量是否打开了,那么可以定制以下这样的函数:
functiongetGetVar($var)
{
if(ini_set(register_gobals)){
return$var;
}else{
return$_GET[var];
}
(2)ini_set函数
设置php.ini中的某些变量值.
这个函数是设置选项中的值,执行函数后就可以生效了,脚本结束的时候,这个设置也就跟着失效。不是全部的选项都能被改函数设置的,这个自己要明确。那么具体是那些值能设置,可以查看手册,手册可以在网上搜到。
就是能够设置php.ini中的选项值比如,display_error选项关闭了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用这个函数:
ini_set("display_errors","On");
那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。
如果你需要增加脚本执行时间,那么可以设置:
ini_set("max_execution_time","");
那么脚本执行时间就由默认的30秒变为秒,当然,你也可以使用set_time_limit()来设置。
其实你把ini_set和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:
ini_set(include_path,ini_get(include_path).:/your_include_dir:);
(3)ini_get_all
获取所有的设置选项变量
把所有选项值以数组的形式返回,方便你当phpinfo()无法使用的时候来使用。
1.通过php.ini修改配置:
[root
/usr/local/php/etc]#/usr/local/php/bin/php-inigrepphp.iniConfigurationFile(php.ini)Path=>/usr/local/php-5.3.29/lib[root
/usr/local/php/etc]#vim/usr/local/php-5.3.29/lib/php.ini2.通过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覆盖;
4.自5.3.3起,通过web服务器修改配置:
如下通过nginx.conf修改配置:
set$php_value"pcre.backtrack_limit=";"$php_value\npcre.recursion_limit="fastcgi_paramPHP_VALUE$php_valuefastcgi_paramPHP_ADMIN_VALUE"open_basedir=/var/