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 相关文章推荐
php读取EXCEL文件 php excelreader读取excel文件
Dec 06 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
使用XHGui来测试PHP性能的教程
Jul 03 PHP
详解PHP用substr函数截取字符串中的某部分
Dec 03 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
laravel5使用freetds连接sql server的方法
Dec 07 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
因str_replace导致的注入问题总结
Aug 08 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
PHP中PDO基础教程 入门级
2011/09/04 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
php生成微信红包数组的方法
2019/09/05 PHP
js返回前一页刷新本页重载页面
2014/07/29 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
Jquery把获取到的input值转换成json
2017/05/15 jQuery
React应用中使用Bootstrap的方法
2017/08/15 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
浅析Angular19 自定义表单控件
2018/01/31 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python使用SocketServer模块编写基本服务器程序的教程
2016/07/12 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
详解Python传入参数的几种方法
2019/05/16 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python自定义函数def的应用详解
2020/06/03 Python
如何用PyPy让你的Python代码运行得更快
2020/12/02 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
旅游管理实习自我鉴定
2013/09/29 职场文书
公司节能减排方案
2014/05/16 职场文书
医药销售自荐书
2014/05/29 职场文书
2015年暑假工作总结
2015/07/13 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
nginx的zabbix 5.0安装部署的方法步骤
2021/07/16 Servers
Golang入门之计时器
2022/05/04 Golang