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+PHP+MySQL配置攻略
Sep 05 PHP
PHP安装问题
Oct 09 PHP
使用MaxMind 根据IP地址对访问者定位
Oct 09 PHP
一个可查询所有表的“通用”查询分页类
Oct 09 PHP
php读取xml实例代码
Jan 28 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
php利用事务处理转账问题
Apr 22 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 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
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
JS实现获取剪贴板内容的方法
2016/06/21 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
jQuery向父辈遍历的简单方法
2016/09/18 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
python实现查询苹果手机维修进度
2015/03/16 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
python单例模式实例解析
2018/08/28 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
2019/12/10 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
网络通讯中,端口有什么含义,端口的取值范围
2012/11/23 面试题
区域销售经理岗位职责
2013/12/10 职场文书
文化建设工作方案
2014/05/12 职场文书
美术教师个人总结
2015/02/06 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
中秋节祝酒词
2015/08/12 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书
分析Java中Map的遍历性能问题
2021/06/26 Java/Android
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python