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 变量定义和变量替换的方法
Jul 30 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
PHP常用代码大全(新手入门必备)
Jun 29 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
php中关于socket的系列函数总结
May 18 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP静态成员变量
Feb 14 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
Laravel 类和接口注入相关的代码
Oct 15 PHP
php+laravel 扫码二维码签到功能
May 15 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 和 MySQL 基础教程(四)
2006/10/09 PHP
PHP类中Static方法效率测试代码
2010/10/17 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
php中print(),print_r(),echo()的区别详解
2014/12/01 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
jQuery Ajax请求状态管理器打包
2012/05/03 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
js简单实现图片延迟加载的方法
2016/07/19 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
详解如何使用webpack+es6开发angular1.x
2017/08/16 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
vue接口请求加密实例
2020/08/11 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
彻底理解Python list切片原理
2017/10/27 Python
Python中Scrapy爬虫图片处理详解
2017/11/29 Python
python logging日志模块以及多进程日志详解
2018/04/18 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
python字符串的拼接方法总结
2019/11/18 Python
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
期中考试后的反思
2014/02/08 职场文书
超市中秋节活动方案
2014/02/12 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python
Win11快速关闭所有广告推荐
2022/04/19 数码科技
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers