PHP7 其他修改


Posted in PHP onMarch 09, 2021
  • CURL模块:禁止禁用CURLOPT_SAFE_UPLOAD选项,通过curl上传文件必须使用curl_file/CURLFILE接口。

  • DATE模块:mktime()和gmmktime()函数移除了$is_dst parameter参数。

  • DBA模块:dba_delete() 如果在inifile里面没有找到key的时候会返回false。
  • GMP模块:必须用libgmp 4.2版本以上。gmp_setbit() and gmp_clrbit()如果传入的index为负数的话,会返回false。
  • Intl模块:移除了别名函数datefmt_set_timezone_id() 和IntlDateFormatter::setTimeZoneID(),用datefmt_set_timezone() 和IntlDateFormatter::setTimeZone()
  • libxml模块:新增ibxml 2.9.0引入的LIBXML_BIGLINES 选项,并在错误报告中增加了行号> 16-bit的支持。
  • Mcrypt模块:移除了mcrypt_generic_end() mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() 和mcrypt_ofb()
  • Opcache:移除了opcache.load_comments配置项,现在注释加载总是被激活的。
  • OpenSSL:移除了"rsa_key_size"、"CN_match" 、"SNI_server_name" 选项。
  • PCRE:移除了 /e (PREG_REPLACE_EVAL) 修饰符的支持,使用preg_replace_callback()来代替。
  • PDO_pgsql:删除了PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT选项。
  • Standard:删除了setlocale()函数里面对字符串类型的支持,使用LC_*常量。删除了set_magic_quotes_runtime() magic_quotes_runtime().
  • JSON:json_decode()会拒绝与RFC 7159不兼容的数字格式。json_decode第一个参数是空值的时候会返回json语法错误。
  • Stream:删除别名函数set_socket_blocking()
  • XSL:删除xsl.security_prefs 选项。
  • session
    • session_start()可以接受所有的INI设置,可以用数组的方式传入,比如:['cache_limiter'=>'private']
    • save handler接受validate_sid(), update_timestamp() ,可用来检查sid是否存在,更新session数据的时间戳。
    • 增加了SessionUpdateTimestampHandlerInterface,这个接口里面定义了validateSid(), updateTimestamp()方法。
    • session.lazy_write(default=On) 配置项可以允许只有session数据有变化时才写数据。


PHP 7 Session 选项

PHP 7 session_start()函数可以接收一个数组作为参数,可以覆盖php.ini中session的配置项。

这个特性也引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。

除了常规的会话配置指示项, 还可以在此数组中包含 read_and_close 选项。如果将此选项的值设置为 TRUE, 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。

实例

把cache_limiter设置为私有的,同时在阅读完session后立即关闭。

<?php
session_start([
   'cache_limiter' => 'private',
   'read_and_close' => true,
]);
?>

 

PHP 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
Mar 29 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
php实现utf-8转unicode函数分享
Jan 06 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
Linux下快速搭建php开发环境
Mar 13 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
Aug 15 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
php操作mongodb封装类与用法实例
Sep 01 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
php写入文件不覆盖的实例讲解
Sep 17 PHP
PHP实现限制域名访问的实现代码(本地验证)
Sep 13 PHP
PHP7 标准库修改
Mar 09 #PHP
PHP7 其他语言层面的修改
Mar 09 #PHP
PHP7 错误处理机制修改
Mar 09 #PHP
PHP7 字符串处理机制修改
Mar 09 #PHP
PHP7 整型处理机制修改
Mar 09 #PHP
PHP7 参数处理机制修改
Mar 09 #PHP
PHP7 foreach() 函数修改
Mar 09 #PHP
You might like
《星际争霸重制版》兵种对比图鉴
2020/03/02 星际争霸
php 常用类整理
2009/12/23 PHP
PHP时间处理类操作示例
2018/09/05 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
一个选择最快的服务器转向代码
2009/04/27 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
Jquery实现遮罩层的方法
2015/06/08 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
javascript函数的节流[throttle]与防抖[debounce]
2017/11/15 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
Python基础练习之用户登录实现代码分享
2017/11/08 Python
HTML的form表单和django的form表单
2019/07/25 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
ECCO爱步美国官网:来自丹麦的鞋履品牌
2016/11/23 全球购物
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
CSMA/CD介质访问控制协议
2015/11/17 面试题
房屋买卖协议书范本
2014/04/10 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
品牌转让协议书
2014/08/20 职场文书
庆七一活动总结
2014/08/27 职场文书
合伙经营协议书范本
2014/09/13 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
《穷人》教学反思
2016/02/19 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript