修改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,是字符串就返回的是字符串。
如果无法知道你的全局变量是否打开了,那么可以定制以下这样的函数:
function getGetVar($$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", "180");
那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用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 -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只能针对有效选项进行修改,
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用来设置所有类型的值;
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";
以上就是修改php.ini的几种方法,对刚刚接触PHP语言的同学们还是由于很大帮助的。
评论