利用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()函数,使用这个函数后,作用区域只局限于当前脚本文件,当脚本执行完后,又恢复默认值。

posted @ 2017-07-17 18:43  寻觅beyond  阅读(452)  评论(0编辑  收藏  举报
返回顶部