利用ini_set()函数实现对php配置文件的修改
PHP的配置文件是php.ini,如果要开启或者关闭扩展,还有设置一些模块的相关配置是,就得对该文件进行修改, 修改的方法也很简单,打开php.ini找到对应项直接修改,修改之后需要重新启动才能生效。
但是,这里有一个问题,一旦改变某一项,就会作用到所有的项目上,如果项目A需要一个功能开启,而另外一个项目B必须让这个功能关闭,甚至一个项目对一个功能的要求在不同的情况下是不同的,那么,此时就得在运行一个项目之前,对该功能进行设置关闭或打开。
此处只列举两个例子,比如错误报告设置,还有时区设置等
有的项目的某一个页面要求不报告任何错误,某一页面只报告E_ERROR,可以通过三种方式
第一种方式
直接修改php.ini修改errorreeporting的默认值E_ALL
不报告任何错误改为 error_reporting=0
只报告E_ERROR 改为error_reporting=E_ERROR
第二种方式
使用函数error_reporting("value");
需要报告什么错误就将value改为其对应的值,可以多个值同时出现,用 | & ~指明关系
第三种方式
使用函数ini_set("item","value");
比如只报告E_ERROR就可以用ini_set("error_reporting","E_ERROR");
对于时区设置也同样可采用上面的三种方法
第一种方式
直接修改php.ini修改date.timezone的默认值
默认的是以格林威治时间(从1970-1-1 00:00:00 开始,没取一次时间戳,并不是适配中国的时区 8区,所以显示的时间都比所处的时间少8个小时,应该修改时区)
设置为中国的时区可改变其值 date.timezone=Asia/Shanghai 或者date.timezone=PRC
第二种方式
使用函数date_default_timezone_set(" Asia/Shanghai ");或者date_default_timezone_set("PRC")
第三种方式
使用函数ini_set("item","value");
就可以用ini_set("date.timezone","PRC");
与ini_set()函数配对的还有ini_get()函数,就是获得对应配置项的值
其实说了这么多,就是想说对配置文件进行修改的时候尽量使用ini_set()函数,使用这个函数后,作用区域只局限于当前脚本文件,当脚本执行完后,又恢复默认值。