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执行速度全攻略(下)
Oct 09 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
基于PHPExcel的常用方法总结
Jun 13 PHP
浅谈php的优缺点
Jul 14 PHP
关于PHP开发的9条建议
Jul 27 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
Ajax+PHP实现的分类列表框功能示例
Feb 11 PHP
如何解决PHP获取不到SESSION信息之一般情况
Oct 10 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
Oct 22 PHP
PHP二维数组分页2种实现方法解析
Jul 09 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
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
PHP面向对象程序设计方法实例详解
2016/12/24 PHP
php 数据结构之链表队列
2017/10/17 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
JS 继承实例分析
2008/11/04 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
2009/12/09 Javascript
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
2011/10/29 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
[07:39]第一届亚洲邀请赛回顾视频
2017/02/14 DOTA
Python采用Django开发自己的博客系统
2020/09/29 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python wxpython 实现界面跳转功能
2019/12/17 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
干部作风建设工作总结
2014/10/29 职场文书
2014年科普工作总结
2014/12/06 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
调研报告的主要写法
2019/04/18 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
《杜鹃的婚约》OP主题曲「凸凹」无字幕影像公开
2022/04/08 日漫