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实现MVC开发得最简单的方法――模型
Apr 10 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
PHP常用数组函数介绍
Jul 28 PHP
PHP脚本监控Nginx 502错误并自动重启php-fpm
May 13 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
PHP命名空间定义与用法实例分析
Aug 14 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中几个常用的魔术常量
2012/02/23 PHP
php生成略缩图代码
2012/07/16 PHP
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
jQuery 使用手册(六)
2009/09/23 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
JavaScript中各种编码解码函数的区别和注意事项
2010/08/19 Javascript
jQuery.getScript加载同域JS的代码
2012/02/13 Javascript
jQuery动态添加删除select项(实现代码)
2013/09/03 Javascript
jquery prop的使用介绍及与attr的区别
2013/12/19 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
JavaScript实现点击按钮直接打印
2016/01/06 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
node.js之基础加密算法模块crypto详解
2018/09/11 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中的tuple元组详细介绍
2015/02/02 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
python3使用QQ邮箱发送邮件
2020/05/20 Python
Python整数对象实现原理详解
2019/07/01 Python
对DJango视图(views)和模版(templates)的使用详解
2019/07/17 Python
基于Python实现签到脚本过程解析
2019/10/25 Python
django处理select下拉表单实例(从model到前端到post到form)
2020/03/13 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
管理部副部长岗位职责范文
2014/03/09 职场文书
英语邀请函范文
2015/02/02 职场文书
2015年公司行政后勤工作总结
2015/05/20 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
自荐信大全
2019/03/21 职场文书
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android