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 相关文章推荐
用户的详细注册和判断
Oct 09 PHP
PHP面向对象的使用教程 简单数据库连接
Nov 25 PHP
精通php的十大要点(上)
Feb 04 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
php分页函数示例代码分享
Feb 24 PHP
Linux下PHP安装mcrypt扩展模块笔记
Sep 10 PHP
php压缩和解压缩字符串的方法
Mar 14 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
[原创]php求圆周率的简单实现方法
May 30 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
Jul 28 PHP
详解Yii2.0使用AR联表查询实例
Jun 16 PHP
详解PHP设计模式之依赖注入模式
May 25 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
上海无线电三厂简史修改版
2021/03/01 无线电
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
2014/04/08 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php使用ereg验证文件上传的方法
2014/12/16 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
JavaScript 数组循环引起的思考
2010/01/01 Javascript
JQuery魔力之$(&quot;tagName&quot;)与selector
2012/03/05 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
webpack+vue-cli项目中引入外部非模块格式js的方法
2018/09/28 Javascript
Vue递归实现树形菜单方法实例
2018/11/06 Javascript
详解JS取出两个数组中的不同或相同元素
2019/03/20 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
Python使用xlrd读取Excel格式文件的方法
2015/03/10 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
解决python replace函数替换无效问题
2020/01/18 Python
学点简单的Django之第一个Django程序的实现
2021/02/24 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
工业设计专业推荐信
2013/10/29 职场文书
机修工工作职责
2014/02/21 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
民事赔偿协议书
2014/11/02 职场文书
先进工作者申报材料
2014/12/23 职场文书
小学大队干部竞选稿
2015/11/20 职场文书