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. vue实例生命周期详解

    每个 Vue 实例在被创建之前都要经过一系列的初始化过程. 例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM . 在这个过程中,实 ...

  2. 寒假训练 A - A Knight's Journey 搜索

    Background The knight is getting bored of seeing the same black and white squares again and again an ...

  3. [笔记]一些STL用法

    参考资料:STL 在 OI 中的应用 离散化 std::unique 功能:对有序的容器重新排列,将第一次出现的元素从前往后排,其他重复出现的元素依次排在后面 返回值:返回迭代器,迭代器指向的是重复元 ...

  4. canvas.toDataURL 画布导出图片

    <html> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <he ...

  5. go标准库的学习-io

    参考https://studygolang.com/pkgdoc 导入方式: import "io" o包提供了对I/O原语的基本接口.本包的基本任务是包装这些原语已有的实现(如o ...

  6. docker swarm英文文档学习-11-上锁你的集群来保护你的加密密钥

    Lock your swarm to protect its encryption key上锁你的集群来保护你的加密密钥 在Docker 1.13及更高版本中,默认情况下,群管理器使用的Raft日志在 ...

  7. mysql数据库的test类型

    文章参考自 window系统参考:http://blog.sina.com.cn/s/blog_46f7bb6d0102vde3.html linux 参考:http://www.linuxeye.c ...

  8. WebSockets通信

    WebSockets通信 1. websocket是什么?WebSocket是一种网络通信协议.2. 为什么需要websocket?我们有http协议,为什么还需要websocket协议呢?因为htt ...

  9. 9-51单片机ESP8266学习-AT指令(单片机采集温湿度数据通过8266发送给AndroidTCP客户端显示)

    http://www.cnblogs.com/yangfengwu/p/8798512.html 补充:今天答应了一个朋友写一下如果单片机发过的是字符串应该怎么解析,答应了今天写,哦哦哦是明天了,闲话 ...

  10. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...