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 相关文章推荐
在apache下限制每个虚拟主机的并发数!!!!
Oct 09 PHP
PHP制作图型计数器的例子
Oct 09 PHP
PHP日期时间函数的高级应用技巧
May 16 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Dec 29 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
php json_encode奇怪问题说明
Sep 27 PHP
PHPMailer的主要功能特点和简单使用说明
Feb 17 PHP
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
Oct 15 PHP
CentOS安装php v8js教程
Feb 26 PHP
WordPress中的shortcode短代码功能使用详解
May 17 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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 daodb插入、更新与删除数据
2009/03/19 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php过滤敏感词的示例
2014/03/31 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
PHP中array_slice函数用法实例详解
2014/11/25 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
javascript禁用键盘功能键让右击及其他键无效
2013/10/09 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
js实现文本框中输入文字页面中div层同步获取文本框内容的方法
2015/03/03 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
[06:16]《DAC最前线》之地区预选赛全面回顾
2015/01/19 DOTA
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
python学生信息管理系统(初级版)
2018/10/17 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
python使用配置文件过程详解
2019/12/28 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
初中家长寄语
2014/04/02 职场文书
群众路线教育查摆剖析材料
2014/10/10 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
手术室消毒隔离制度
2015/08/05 职场文书