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

利用ini_set()函数实现对php配置文件的修改的更多相关文章

  1. 实现对Java配置文件Properties的读取、写入与更新操作

    /** * 实现对Java配置文件Properties的读取.写入与更新操作 */ package test; import java.io.BufferedInputStream; import j ...

  2. 利用SMB jcifs实现对windows中的共享文件夹的操作

    需求是在本地上传文件到服务器上,服务器是windows的,使用共享文件夹提供权限给你的. 利用第三方: CIFS (Common Internet File System) SMB(Server Me ...

  3. Android 利用xUtils框架实现对sqllite的增删改查

    首先下载xUtils,下载地址:https://github.com/wyouflf/xUtils  把下载好的文件压缩,把里面的jar包拷进项目中如图所示: 这里新建一个User类进行测试增删改查 ...

  4. 利用shell脚本实现对mysql数据库的备份

    #!/bin/bash #保存备份个数 number=3 #备份保存路径 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #备份工具 tool=m ...

  5. 利用COM组件实现对WORD书签处写入值

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Office.Interop.Wo ...

  6. 利用COM组件实现对WORD书签各种操作大全,看这一篇就够了

    有个需求是,程序导出一份word报告,报告中有各种各样的表格,导出时还需要插入图片. 脑海中迅速闪过好几种组件,openxml组件,com组件,npoi.为了减少程序画复杂表格,我们选用了com组件+ ...

  7. Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作

    1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  8. python实现对excel数据进行修改/添加

    import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join(os ...

  9. 使用JWT来实现对API的授权访问

    目录 什么是JWT JWT的结构 Header Payload Signature 解码后的JWT JWT是怎样工作的 在JAVA里使用JWT 引入依赖 JWT Service 生成JWT 解码JWT ...

随机推荐

  1. ES5-ES6-ES7_let关键字声明变量

    let命令的介绍 let是ECMAScript6中新增的关键字,用于声明变量.它的用法类似于var var a = 3 let b = 4 let变量的声明 let 命令的特点不允许在同一作用域下声明 ...

  2. P1019 单词接龙

    单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一 ...

  3. luogu P2860 [USACO06JAN]冗余路径Redundant Paths

    题目描述 In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1- ...

  4. c++ 常成员函数 和 常对象

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zhuyingqingfen/article/details/31751111 先明白几个概念: 1. ...

  5. HDFS的namenode从单节点扩展为HA需要注意的问题

    扩展为HA需要注意的问题 原Namenode称为namenode1,新增的Namenode称为namenode2. 从namenode单节点扩展为HA模式官网上有详细的教程,下面是扩展过程中疏忽的地方 ...

  6. Python高级网络编程系列之终极篇---自己实现一个Web框架

    通过前面几个小节的学习,现在我们想要把之前学到的知识点给串联起来,实现一个很小型的Web框架.虽然很小,但是用到的知识点都是比较多的.如Socket编程,装饰器传参在实际项目中如何使用.通过这一节的学 ...

  7. Ubuntu下修改CMake版本

    https://blog.csdn.net/mdjxy63/article/details/82686504

  8. DIYer最担心的事来了!CPU降价彻底无望

    12月27日,IDC发布2019年中国PC市场十大预测.IDC指出,2018年全年中国PC市场预计最终销售为5200万台左右,下滑了3.4%.2019年中国PC市场会处于一种习惯性艰难期,但是市场也不 ...

  9. Python虚拟环境和包管理工具Pipenv的使用详解--看完这一篇就够了

    前言 Python虚拟环境是一个虚拟化,从电脑独立开辟出来的环境.在这个虚拟环境中,我们可以pip安装各个项目不同的依赖包,从全局中隔离出来,利于管理. 传统的Python虚拟环境有virtualen ...

  10. ThreadLocal可能引起的内存泄露

    threadlocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好 ...