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 insert语法详解
Jun 07 PHP
PHP弹出提示框并跳转到新页面即重定向到新页面
Jan 24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
Aug 20 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
PHP文件操作方法汇总
Jul 01 PHP
php bootstrap实现简单登录
Mar 08 PHP
php+mysql实现的二级联动菜单效果详解
May 10 PHP
Thinkphp5结合layer弹窗定制操作结果页面
Jul 07 PHP
php基于 swoole 实现的异步处理任务功能示例
Aug 13 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
加速XP搜索功能堪比vista
2007/03/22 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
php桥接模式应用案例分析
2019/10/23 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
javascript 禁止复制网页
2009/06/11 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
如何获取JQUERY AJAX返回的JSON结果集实现代码
2012/12/10 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
bootstrap下拉菜单使用方法解析
2017/01/13 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
2020/07/20 Javascript
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
python pygame实现方向键控制小球
2019/05/17 Python
python flask几分钟实现web服务的例子
2019/07/26 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
pytorch 归一化与反归一化实例
2019/12/31 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
考试没考好检讨书
2014/01/31 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
春风化雨观后感
2015/06/11 职场文书
六五普法心得体会2016
2016/01/21 职场文书
导游词之山东孔庙
2019/11/04 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL
MySQL分区以及建索引的方法总结
2022/04/13 MySQL