下载
文档
参与贡献
帮助
搜索文档
PHP 大会日本 2024
入门指南
简介
简单教程
语言参考
基本语法
类型
变量
常量
表达式
运算符
控制结构
函数
类和对象
命名空间
枚举
错误
异常
纤程
生成器
属性
引用详解
预定义变量
预定义异常
预定义接口和类
预定义属性
上下文选项和参数
支持的协议和封装器
安全
简介
一般注意事项
作为 CGI 二进制文件安装
作为 Apache 模块安装
会话安全
文件系统安全
数据库安全
错误报告
用户提交的数据
隐藏 PHP
保持更新
特性
使用 PHP 进行 HTTP 身份验证
Cookie
会话
处理文件上传
使用远程文件
连接处理
持久化数据库连接
命令行用法
垃圾回收
DTrace 动态跟踪
函数参考
影响 PHP 的行为
音频格式处理
身份验证服务
命令行特定扩展
压缩和归档扩展
加密扩展
数据库扩展
日期和时间相关扩展
文件系统相关扩展
人类语言和字符编码支持
图像处理和生成
邮件相关扩展
数学扩展
非文本 MIME 输出
进程控制扩展
其他基本扩展
其他服务
搜索引擎扩展
服务器特定扩展
会话扩展
文本处理
变量和类型相关扩展
Web 服务
仅限 Windows 的扩展
XML 处理
GUI 扩展
键盘快捷键
?
此帮助
j
下一个菜单项
k
上一个菜单项
g p
上一页手册
g n
下一页手册
G
滚动到底部
g g
滚动到顶部
g h
转到主页
g s
转到搜索
(当前页面)
/
聚焦搜索框
PHP 7 变更日志
7.4
|
7.3
|
7.2
|
7.1
|
7.0
版本 7.4.33
2022年11月3日
GD
修复了错误
#81739
:imageloadfont() 中由于输入验证不足导致的越界读取。(CVE-2022-31630)
Hash
修复了错误
#81738
:hash_update() 在长参数上发生缓冲区溢出。(CVE-2022-37454)
版本 7.4.32
2022年9月29日
核心
修复了错误
#81726
:phar 封装器:使用 quine gzip 文件时发生 DOS 攻击。(CVE-2022-31628)
修复了错误
#81727
:不要修改与具有特定语义含义的 HTTP 变量名称冲突的 HTTP 变量名称。(CVE-2022-31629)
版本 7.4.30
2022年6月9日
mysqlnd
修复了错误
#81719
:mysqlnd/pdo 密码缓冲区溢出。(CVE-2022-31626)
pgsql
修复了错误
#81720
:pg_query_params() 中的未初始化数组。(CVE-2022-31625)
版本 7.4.29
2022年4月14日
核心
此版本没有源代码更改。此更新允许针对已收到安全更新的升级依赖项重新构建 Windows 二进制文件。
日期
更新到最新的 IANA 时区数据库 (2022a)。
版本 7.4.28
2022年2月17日
过滤器
修复 #81708:由于 php_filter_float() 对整数失败而导致的 UAF(CVE-2021-21708)
版本 7.4.27
2021年12月16日
核心
修复了错误
#81626
(在包装到 Closure::fromCallable() 的 __сallStatic() 中使用 static:: 时的错误)。
FPM
修复了错误
#81513
(FPM zlog 中未来可能发生的堆溢出)。
GD
修复了错误
#71316
(来自 imagecreatefromstring 的 libpng 警告)。
OpenSSL
修复了错误
#75725
(./configure:检测 RAND_egd)。
PCRE
修复了错误
#74604
(php_pcre_replace_impl 中的越界访问)。
标准
修复了错误
#81618
(dns_get_record 在 FreeBSD 上由于缺少类型而失败)。
修复了错误
#81659
(stream_get_contents() 可能会不必要地过度分配内存)。
版本 7.4.26
2021年11月18日
核心
修复了错误
#81518
(通过 default_mimetype / default_charset 进行的头部注入)。
日期
修复了错误
#81500
(自 7.3.14 / 7.4.2 以来,区间序列化出现回归)。
MBString
修复了错误
#76167
(mbstring 可能会使用来自某些先前请求的指针)。
MySQLi
修复了错误
#81494
(停止的非缓冲查询不会抛出错误)。
PCRE
修复了错误
#81424
(PCRE2 10.35 JIT 性能下降)。
流
修复了错误
#54340
(使用 user_filter 时的内存损坏)。
XML
修复了错误
#79971
(特殊字符破坏了 xml 函数中的路径)。(CVE-2021-21707)
版本 7.4.25
2021年10月21日
DOM
修复了错误
#81433
(两次调用 DOMElement::setIdAttribute() 可能会删除 ID)。
FFI
修复了错误
#79576
(当类型未定义时,“TYPE *”显示无帮助的消息)。
Fileinfo
修复了错误
#78987
(在编码检测期间高内存使用)。
过滤器
修复了错误
#61700
(FILTER_FLAG_IPV6/FILTER_FLAG_NO_PRIV|RES_RANGE 失败)。
FPM
修复了错误
#81026
(PHP-FPM 在根进程中发生越界读写,导致权限提升)(CVE-2021-21703)。
SPL
修复了错误
#80663
(递归 SplFixedArray::setSize() 可能会导致 double-free)。
流
修复了错误
#81475
(stream_isatty 在附加流封装器时发出警告)。
XML
修复了错误
#70962
(XML_OPTION_SKIP_WHITE 剥离嵌入式空格)。
Zip
修复了错误
#81490
(ZipArchive::extractTo() 可能会泄漏内存)。
修复了错误
#77978
(以冒号结尾的目录名解压到错误的目录)。
版本 7.4.24
2021年9月23日
核心
修复了错误
#81302
(删除流过滤器后的流位置)。
修复了错误
#81346
(不可寻址的流在写入后不会更新位置)。
修复了错误
#73122
(连接字符串时发生整数溢出)。
GD
修复了错误
#53580
(在调整大小期间,gdImageCopyResampled 导致颜色更改)。
Opcache
修复了错误
#81353
(使用预加载和静态绑定的闭包时发生段错误)。
Shmop
修复了错误
#81407
(shmop_open 不会附加并导致 php 崩溃)。
标准
修复了错误
#71542
(disk_total_space 不适用于相对路径)。
修复了错误
#81400
(dns_get_record() 结果中的未终止字符串)。
SysVMsg
修复了错误
#78819
(msg_send 中的堆溢出)。
XML
修复了错误
#81351
(xml_parse 可能会失败,但没有错误代码)。
Zip
修复了错误
#81420
(ZipArchive::extractTo 在目标位置之外提取)。(CVE-2021-21706)
版本 7.4.23
2021年8月26日
核心
修复了错误
#72595
(php_output_handler_append 非法写入访问)。
修复了错误
#66719
(在使用 get_called_class() 与 call_user_func() 时出现奇怪的行为)。
修复了错误
#81305
(内置 Web 服务器丢弃带有“Upgrade”头的请求)。
BCMath
修复了错误
#78238
(BCMath 返回“-0”)。
CGI
修复了错误
#80849
(HTTP 状态头部截断)。
GD
修复了错误
#51498
(imagefilledellipse 不适用于大圆)。
MySQLi
修复了错误
#74544
(mysqli_real_escape_string() 中的整数溢出)。
OpenSSL
修复了错误
#81327
(在 php 7.4.22 上构建 openssl 扩展时出错)。
PDO_ODBC
修复了错误
#81252
(PDO_ODBC 未考虑 SQL_NO_TOTAL)。
Phar
修复了错误
#81211
:创建 PHAR 归档时会跟随符号链接。(cmb)
Shmop
修复了错误
#81283
(shmop 无法读取超过 2147483647 字节的数据)。
标准
修复了错误
#72146
(substr_replace 上的整数溢出)。
修复了错误
#81265
(getimagesize 对 256px ICO 图像返回 0)。
修复了错误
#74960
(通过 str_repeat 发生的堆缓冲区溢出)。
流
修复了错误
#81294
(删除过滤器时发生段错误)。
版本 7.4.22
2021年7月29日
核心
修复了错误
#81145
(copy() 和 stream_copy_to_stream() 对超过 4GB 的文件失败)。
修复了错误
#81163
(在 __sleep 中对间接变量的处理不正确)。
修复了错误
#80728
(PHP 内置 Web 服务器在可以终止进程时重置超时)。
修复了错误
#73630
(内置 Web 服务器 - 覆盖 $_SERVER['request_uri'])。
修复了错误
#80173
(使用 zend_assign_to_variable() 的返回值不安全)。
修复了错误
#73226
(--r[fcez] 始终返回零退出代码)。
Intl
修复了错误
#72809
(使用 canonicalize 选项时,Locale::lookup() 的结果错误)。
修复了错误
#68471
(IntlDateFormatter 对于“GMT+00:00”时区失败)。
修复了错误
#74264
(grapheme_strrpos() 对于负偏移量损坏)。
OpenSSL
修复了错误
#52093
(openssl_csr_sign 截断 $serial)。
PCRE
修复了错误
#81101
(PCRE2 10.37 显示意外结果)。
修复了错误
#81243
(为 preg_replace() 分配了过多的内存)。
标准
修复了错误
#81223
(flock() 只锁定文件的第一个字节)。
版本 7.4.21
2021年7月1日
核心
修复了错误
#81068
(realpath_cache_clean() 中的双重释放)。
修复了错误
#76359
(通过添加“..”绕过 open_basedir)。
修复了错误
#81090
(使用 .= 运算符时,类型化属性性能下降)。
修复了错误
#81070
(内存限制比较中的整数下溢)。
修复了错误
#81122
(FILTER_VALIDATE_URL 中的 SSRF 绕过)。(CVE-2021-21705)
Bzip2
修复了错误
#81092
(在 stream_filter_remove 之前刷新会损坏流)。
OpenSSL
修复了错误
#76694
(本机 Windows 证书验证使用 CN 作为服务器名称)。
PDO_Firebird
修复了错误
#76448
(firebird_info_cb 中的栈缓冲区溢出)。(CVE-2021-21704)
修复了错误
#76449
(firebird_handle_doer 中的 SIGSEGV)。(CVE-2021-21704)
修复了错误
#76450
(firebird_stmt_execute 中的 SIGSEGV)。(CVE-2021-21704)
修复了错误
#76452
(在 firebird_fetch_blob 中解析 blob 数据时崩溃)。(CVE-2021-21704)
标准
修复了错误
#81048
(phpinfo(INFO_VARIABLES)“数组到字符串的转换”)。
版本 7.4.20
2021年6月3日
核心
修复了错误
#80929
(与重复调用 call_user_func_array 相关的函数名称损坏)。
修复了错误
#80960
(在 Windows 上失败时,opendir() 警告信息错误)。
修复了错误
#67792
(HTTP 授权方案被视为区分大小写)。
修复了错误
#80972
(无效字符串偏移导致内存耗尽)。
FPM
修复了错误
#65800
(事件端口机制)。
FTP
修复了错误
#80901
(ftp 扩展中的信息泄漏)。
修复了错误
#79100
(错误的 FTP 错误消息)。
GD
修复了错误
#81032
(GD 安装受外部 libgd 安装的影响)。
MBString
修复了错误
#81011
(mb_convert_encoding 从数组中删除引用)。
ODBC
修复了错误
#80460
(ODBC 未考虑 SQL_NO_TOTAL 指示符)。
PDO_MySQL
修复了错误
#81037
(PDO 丢弃了预处理语句的错误消息文本)。
PDO_ODBC
修复了错误
#44643
(绑定参数忽略显式类型定义)。
pgsql
修复了 php_pgsql_fd_cast() 关于 php_stream_can_cast() 的问题。
SPL
修复了错误
#80933
(SplFileObject::DROP_NEW_LINE 对于 NUL 和 CR 存在问题)。
Opcache
修复了错误
#80900
(函数内部的 switch 语句行为)。
修复了错误
#81015
(Opcache 优化在 if 条件中假设了三元运算符的错误部分)。
XMLReader
修复了错误
#73246
(XMLReader:未检查编码长度)。
Zip
修复了错误
#80863
(ZipArchive::extractTo() 忽略引用)。
版本 7.4.19
2021年5月6日
PDO_pgsql
回退了 #80892 的错误修复(PDO::PARAM_INT 与 PDO::PARAM_STR 的处理方式相同)。
版本 7.4.18
2021年4月29日
核心
修复了错误
#80781
(抛出 ErrorException 的错误处理程序无限循环)。
修复了错误
#75776
(使用压缩过滤器刷新流存在问题)。
Dba
修复了错误
#80817
(dba_popen() 在 RSHUTDOWN 期间可能导致段错误)。
DOM
修复了错误
#66783
(将 DOMDocument 追加到元素时出现 UAF)。
FPM
修复了错误
#80024
(池移除后重复继承套接字的信息)。
FTP
修复了错误
#80880
(关闭时 SSL_read,ftp/proc_open)。
Imap
修复了错误
#80710
(imap_mail_compose() 标头注入)。
Intl
修复了错误
#80763
(msgfmt_format() 不接受 DateTime 引用)。
LibXML
修复了错误
#51903
(simplexml_load_file() 未使用 HTTP 标头)。
修复了错误
#73533
(php_libxml_xmlCheckUTF8 中的无效内存访问)。
MySQLnd
修复了错误
#80713
(禁用 ATTR_EMULATE_PREPARES 和 MySQL 8.0 时出现段错误)。
修复了错误
#80837
(在 fetch 后调用 stmt_store_result 不会抛出错误)。
修复了错误
#78680
(mysqlnd 的 mysql_clear_password 未传输以 null 结尾的密码)。
Opcache
修复了错误
#80805
(创建简单类并在 opcache.so 中出现错误)。
修复了错误
#80950
(变量在 if 语句中变为 null)。
Pcntl
修复了错误
#79812
(pcntl_exec() 中潜在的整数溢出)。
PCRE
修复了错误
#80866
(当模式带有 \K 且具有 0 宽度全字符串匹配时,preg_split 忽略 limit 标记)。
PDO_ODBC
修复了错误
#80783
(PDO ODBC 每 256 个字节截断一次 BLOB 记录)。
PDO_pgsql
修复了错误
#80892
(PDO::PARAM_INT 与 PDO::PARAM_STR 的处理方式相同)。
phpdbg
修复了错误
#80757
(无法打开文件时退出代码为 0)。
Session
修复了错误
#80774
(session_name() 与反斜杠相关的问题)。
修复了错误
#80889
(当 save_handler 无效时无法设置保存处理程序)。
SOAP
修复了错误
#69668
(命名空间 URI 中的 SOAP 特殊 XML 字符未编码)。
标准
修复了错误
#78719
(http 包装器静默忽略长 Location 标头)。
修复了错误
#80771
(phpinfo(INFO_CREDITS) 在 CLI 中不显示任何内容)。
修复了错误
#80838
(在 HTTP 101 后,HTTP 包装器等待 HTTP 1 响应)。
修复了错误
#80915
(对 $_SERVER 获取引用会隐藏其在 phpinfo() 中的值)。
修复了错误
#80654
(file_get_contents() maxlen 在 (2**31)-1 字节以上失败)。
MySQLi
修复了错误
#74779
(x() 和 y() 将浮点数截断为整数)。
OPcache
修复了错误
#80682
(opcache 未遵守 pcre.jit 选项)。
OpenSSL
修复了错误
#80747
(提供 RSA 密钥大小 < 512 会生成导致 PHP 崩溃的密钥)。
Phar
修复了错误
#75850
(关于 __halt_compiler() 没有分号的不清楚错误消息)(cmb)
修复了错误
#70091
(Phar 未在 ZIP 档案中标记 UTF-8 文件名)。
修复了错误
#53467
(Phar 无法压缩大型档案)。
SPL
修复了错误
#80719
(在 ArrayObject::setIteratorClass() 失败后迭代会导致段错误)。
Zip
修复了错误
#80648
(bug 79296 的修复应基于运行时版本)。
版本 7.4.16
2021年3月4日
核心
修复了错误
#80706
(mail(): Bcc 标头后的标头可能会被忽略)。
MySQLnd
修复了错误
#78680
(mysqlnd 的 mysql_clear_password 未传输以 null 结尾的密码)。
MySQLi
修复了错误
#74779
(x() 和 y() 将浮点数截断为整数)。
OPcache
修复了错误
#80682
(opcache 未遵守 pcre.jit 选项)。
OpenSSL
修复了错误
#80747
(提供 RSA 密钥大小 < 512 会生成导致 PHP 崩溃的密钥)。
Phar
修复了错误
#75850
(关于 __halt_compiler() 没有分号的不清楚错误消息)(cmb)
修复了错误
#70091
(Phar 未在 ZIP 档案中标记 UTF-8 文件名)。
修复了错误
#53467
(Phar 无法压缩大型档案)。
SPL
修复了错误
#80719
(在 ArrayObject::setIteratorClass() 失败后迭代会导致段错误)。
标准
修复了错误
#80654
(file_get_contents() maxlen 在 (2**31)-1 字节以上失败)。
Zip
修复了错误
#80648
(bug 79296 的修复应基于运行时版本)。
版本 7.4.15
2021年2月4日
核心
修复了错误
#80523
(在 >4GB 源代码上出现错误的解析错误)。
修复了错误
#80384
(过滤器缓冲整个读取直到文件关闭)。
Curl
修复了错误
#80595
(将 POSTFIELDS 重置为空数组会破坏请求)。
日期
修复了错误
#80376
(每月的最后一天会导致 CPU 使用率失控)。
MySQLi
修复了错误
#67983
(使用 MYSQLI_OPT_INT_AND_FLOAT_NATIVE 的 mysqlnd 无法解释位列)。
修复了错误
#64638
(从使用游标的存储过程获取结果集失败)。
修复了错误
#72862
(使用游标的存储过程上的预处理语句导致段错误)。
修复了错误
#77935
(在调用带有游标的 SP 时,mysqlnd_fetch_stmt_row_cursor 中发生崩溃)。
Phar
修复了错误
#77565
(基于 ZIP 的 phar 中的错误定位器检测)。
修复了错误
#69279
(压缩的 ZIP Phar extractTo() 创建垃圾文件)。
SOAP
修复了错误
#80672
(SoapClient 中的空解引用)。(CVE-2021-21702)
版本 7.4.14
2021年1月7日
核心
修复了错误
#74558
(无法重新绑定由 Closure::fromCallable() 返回的闭包)。
修复了错误
#80345
(PHPIZE 配置具有过时的 PHP_RELEASE_VERSION)。
修复了错误
#72964
(CC/Bcc 标头未展开空格)。
修复了错误
#80362
(运行 dtrace 脚本可能导致 php 崩溃)。
修复了错误
#80393
(由于与 libtool 的配置差异,PHP 扩展的构建失败)。
修复了错误
#80402
(配置过滤掉 -lpthread)。
修复了错误
#77069
(流过滤器丢失最后一块数据)。
Fileinfo
修复了错误
#77961
(finfo_open 构建的魔术解析 SIGABRT)。
FPM
修复了错误
#69625
(FPM 在没有 SCRIPT_FILENAME 环境变量的请求上返回 200 状态)。
Intl
修复了错误
#80425
(MessageFormatAdapter::getArgTypeList 重定义)。
OpenSSL
修复了错误
#80368
(由于缺少 OCB 支持,OpenSSL 扩展无法针对 LibreSSL 构建)。
Phar
修复了错误
#73809
(Phar Zip 解析崩溃 - mmap 失败)。
修复了错误
#75102
(`PharData` 表示有效 tar 的校验和无效)。
修复了错误
#77322
(PharData::addEmptyDir('/') 可能的整数溢出)。
PDO MySQL
修复了错误
#80458
(PDOStatement::fetchAll() 对 upsert 查询抛出异常)。
修复了错误
#63185
(使用原生预处理语句时,nextRowset() 忽略 MySQL 错误)。
修复了错误
#78152
(PDO::exec() - 多个命令的错误处理不佳)。
修复了错误
#70066
(意外的“在其他未缓冲的查询期间无法执行查询”)。
修复了错误
#71145
(init 命令中的多个语句触发未缓冲的查询错误)。
修复了错误
#76815
(当 PROCEDURE 结果集 SIGNAL 时,PDOStatement 无法被 GC/closeCursor)。
标准
修复了错误
#77423
(FILTER_VALIDATE_URL 接受具有无效用户信息的 URL)。(CVE-2020-7071)
修复了错误
#80366
(未检查 zend_fstat() 的返回值)。
修复了错误
#80411
(对 null 序列化对象的引用会破坏序列化)。
Tidy
修复了错误
#77594
(ob_tidyhandler 从未重置)。
Zlib
修复了错误
#48725
(对 zlib 流中刷新的支持)。
版本 7.4.13
2020年11月26日
核心
修复了错误
#80280
(ADD_EXTENSION_DEP() 对于 ext/standard 和 ext/date 失败)。
修复了错误
#80258
(启用 Windows 重复数据删除,随机权限错误)。
COM
修复了错误
#62474
(com_event_sink 在某些参数上崩溃)。
DOM
修复了错误
#80268
(loadHTML() 在 NUL 字节处截断)。
FFI
修复了错误
#79177
(FFI 未很好地处理回调中的 PHP 异常)。
IMAP
修复了错误
#64076
(imap_sort() 在失败时不返回 FALSE)。
修复了错误
#76618
(imap_reopen 时出现段错误)。
修复了错误
#80239
(imap_rfc822_write_address() 泄漏内存)。
修复了修复错误
#80220
造成的轻微回归。
修复了错误
#80242
(imap_mail_compose() 对于带有 rfc822 的多部分内容出现段错误)。
MySQLi
修复了错误
#79375
(mysqli_store_result 未报告来自锁等待超时的错误)。
修复了错误
#76525
(如果启用了 MYSQLI_REPORT_ERROR 且使用了 mysqlnd,则 mysqli::commit 不会抛出异常)。
修复了错误
#72413
(mysqlnd 段错误(fetch_row 第二个参数类型不匹配))。
ODBC
修复了错误
#44618
(获取可能依赖于未初始化的数据)。
Opcache
修复了错误
#79643
(当包含特定名称的文件时,带有 Opcache 的 PHP 崩溃)。
修复了预加载动态声明函数的运行时绑定。
OpenSSL
修复了错误
#79983
(openssl_encrypt / openssl_decrypt 使用 OCB 模式失败)。
PDO MySQL
修复了错误
#66528
(如果数据库在 PDO::commit 之前不可用,则没有 PDOException 或 errorCode)。
修复了错误
#65825
(PDOStatement::fetch() 在服务器连接断开时不会抛出异常)。
SNMP
修复了错误
#70461
(在 net-snmp 中不支持 md5 代码时禁用它)。
标准
修复了错误
#80266
(parse_url 静默丢弃端口号 0)。
版本 7.4.12
2020年10月29日
核心
修复了错误
#80061
(复制大文件可能会导致性能不佳)。
修复了错误
#79423
(copy 命令复制文件的尺寸有限)。
修复了错误
#80126
(协变返回类型导致编译失败)。
修复了错误
#80186
(迭代 FFI 对象时出现段错误)。
日历
修复了错误
#80185
(jdtounix() 在 2037 年后失败)。
IMAP
修复了错误
#80213
(imap_mail_compose() 在某些 $bodies 上出现段错误)。
修复了错误
#80215
(imap_mail_compose() 可能会修改按值传递的参数)。
修复了错误
#80220
(imap_mail_compose() 可能会导致内存泄漏)。
修复了错误
#80223
(imap_mail_compose() 在格式错误的正文上泄漏信封)。
修复了错误
#80216
(imap_mail_compose() 不验证类型/编码)。
修复了错误
#80226
(imap_sort() 泄漏 sortpgm 内存)。
MySQLnd
修复了错误
#80115
(mysqlnd.debug 无法识别带有斜杠的绝对路径)。
修复了错误
#80107
(当启用压缩时,mysqli_query() 对于大约 16 MB 长的查询失败)。
ODBC
修复了错误
#78470
(odbc_specialcolumns() 不再接受 $nullable)。
修复了错误
#80147
(BINARY 字符串可能没有正确地以零结尾)。
修复了错误
#80150
(无法获取错误消息)。
修复了错误
#80152
(odbc_execute() 移动 $params 的内部指针)。
修复了错误
#46050
(odbc_next_result 破坏准备好的资源)。
OPcache
修复了错误
#80083
(优化器传递 6 删除用于 ibm_db2 数据绑定的变量)。
修复了错误
#80194
(在不可到达的带有前导 nop 的空闲块组装期间出现断言失败)。
PCRE
更新到 PCRE 10.35。
修复了错误
#80118
(仅使用 JIT 时出现错误的空格匹配)。
PDO_ODBC
修复了错误
#67465
(odbc_handle_preparer 中的空指针取消引用)。
标准
修复了错误
#80114
(parse_url 不接受端口为 0 的 URL)。
修复了错误
#76943
(stream_wrapper_restore() 错误不一致)。
修复了错误
#76735
(fopen 在无效模式下显示错误消息不正确)。
Tidy
修复了错误
#77040
(tidyNode::isHtml() 完全损坏)。
版本 7.4.11
2020年10月1日
核心
修复了错误
#79699
(PHP 解析编码的 Cookie 名称,因此可以发送恶意的 `__Host-` Cookie)。(CVE-2020-7070)
修复了错误
#79979
(通过 CUFA 将值传递给按引用传递的参数会导致崩溃)。
修复了错误
#80037
(当声明 __get() 时,类型化属性不得在初始化之前访问)。
修复了错误
#80048
(错误
#69100
在 Windows 上尚未修复)。
修复了错误
#80049
(通过可变参数将整数强制转换为字符串时出现内存泄漏)。
日历
修复了错误
#80007
(unixtojd() 参数解析中潜在的类型混淆)。
COM
修复了错误
#64130
(按引用传递的 COM 对象参数不会更新)。
OPcache
修复了错误
#80002
(为新的内部字符串计算空闲空间错误)。
修复了错误
#80046
(SWITCH_STRING 的 FREE 被优化掉了)。
修复了错误
#79825
(当自定义操作码处理程序更改时,opcache.file_cache 会导致 SIGSEGV)。
OpenSSL
修复了错误
#79601
(对于 12 字节 IV 的 AES-CCM 加密中的密文/标签错误)。(CVE-2020-7069)
PDO
修复了错误
#80027
(在具有许多绑定参数的查询上使用 $query->fetch 时性能极差)。
SOAP
修复了错误
#47021
(SoapClient 遇到使用“Transfer-Encoding: chunked”传递的 WSDL)。
标准
修复了错误
#79986
(str_ireplace 中带有变音符号字符的错误)。
修复了错误
#80077
(getmxrr 测试错误)。
修复了错误
#72941
(修改 bucket->data 按引用传递不再起作用)。
修复了错误
#80067
(在 bindto 设置中省略端口会导致错误)。
版本 7.4.10
2020年9月3日
核心
修复了错误
#79884
(PHP_CONFIG_FILE_PATH 毫无意义)。
修复了错误
#77932
(文件扩展名区分大小写)。
修复了错误
#79806
(realpath() 错误地将链接解析为链接)。
修复了错误
#79895
(PHP_CHECK_GCC_ARG 不允许带有等号的标志)。
修复了错误
#79919
(define() 中的栈使用后作用域)。
修复了错误
#79934
(heredoc 中仅包含 CRLF 的行会导致解析错误)。
修复了错误
#79947
(在复合赋值中使用无效偏移量类型时出现内存泄漏)。
COM
修复了错误
#48585
(com_load_typelib 保留引用,在第二次调用时失败)。
Exif
修复了错误
#75785
(exif_read_data 中的许多错误)。
Gettext
修复了错误
#70574
(测试由于依赖于 gettext() 的 Linux 回退行为而失败)。
LDAP
修复了内存泄漏。
OPcache
修复了错误
#73060
(临时文件夹清理后,php 出现错误并失败)。
修复了错误
#79917
(使用继承方法中的静态变量时,文件缓存出现段错误)。
PDO
修复了错误
#64705
(当 PDO::__construct() 失败时,PDOException 的 errorInfo 属性为 null)。
Session
修复了错误
#79724
(ext/session/mod_mm.c 中的返回类型不匹配)。
标准
修复了错误
#79930
(当使用带有单个引用的数组调用 array_merge_recursive() 时,它会崩溃)。
修复了错误
#79944
(getmxrr 在 Alpine Linux 上始终返回 true)。
修复了错误
#79951
(str_replace 空字符串时的内存泄漏)。
XML
修复了错误
#79922
(多次调用 xml_parser_free() 后崩溃)。
版本 7.4.9
2020年8月6日
Apache
修复了错误
#79030
(将 apache2handler 的 php_apache_sapi_get_request_time 升级为返回 usec)。
COM
修复了错误
#63208
(BSTR 到 PHP 字符串的转换不是二进制安全的)。
修复了错误
#63527
(DCOM 不适用于用户名、密码参数)。
核心
修复了错误
#79740
(serialize() 和 unserialize() 方法不能静态调用)。
修复了错误
#79783
(php_str_replace_common 中出现段错误)。
修复了错误
#79778
(如果转储具有未解析静态变量的闭包,则出现断言失败)。
修复了错误
#79779
(当按引用分配字符串偏移量的属性时,出现断言失败)。
修复了错误
#79792
(如果空数组被销毁,则不会删除 HT 迭代器)。
修复了错误
#78598
(在未定义索引 RW 错误期间更改数组会导致段错误)。
修复了错误
#79784
(如果在未定义变量期间数组写入获取期间更改数组,则使用后释放)。
修复了错误
#79793
(如果在未定义索引警告中使用的字符串发生更改,则使用后释放)。
修复了错误
#79862
(子类中的公共非静态属性应优先于私有静态属性)。
修复了错误
#79877
(getimagesize 函数在空字节后静默截断)(cmb)
Fileinfo
修复了错误
#79756
(finfo_file 崩溃 (FILEINFO_MIME))。
FTP
修复了错误
#55857
(ftp_size 在大文件上的问题)。
Mbstring
修复了错误
#79787
(mb_strimwidth 无法修剪字符串)。
Phar
修复了错误
#79797
(在 phar_parse_zipfile 函数中使用了已释放的哈希键)。(CVE-2020-7068)
Reflection
修复了错误
#79487
(::getStaticProperties() 忽略属性修改)。
修复了错误
#69804
(::getStaticPropertyValue() 在受保护的属性上抛出异常)。
修复了错误
#79820
(当类型复制到 ReflectionProperty 并被解析时,出现使用后释放)。
标准
修复了错误
#70362
(无法使用 open_basedir 复制大型“data://”)。
修复了错误
#78008
(dns_check_record() 在 Alpine 上始终返回 true)。
修复了错误
#79839
(array_walk() 不尊重属性类型)。
版本 7.4.8
2020年7月9日
核心
修复了错误
#79595
(zend_init_fpu() 更改了 FPU 精度)。
修复了错误
#79650
(php-win.exe 100% CPU 锁定)。
修复了错误
#79668
(get_defined_functions(true) 可能会丢失函数)。
修复了错误
#79683
(伪反射作用域影响 __toString())。
修复了可能不受支持的 timercmp() 使用。
Exif
修复了错误
#79687
(索尼图片 - PHP 警告 - 制造商、型号、制造商备注)。
Fileinfo
修复了错误
#79681
(mime_content_type/finfo 返回错误的 mimetype)。
过滤器
修复了错误
#73527
(php_filter_strip 中的无效内存访问)。
GD
修复了错误
#79676
(imagescale 使用 IMG_BICUBIC 添加黑色边框)。
OpenSSL
修复了错误
#62890
(default_socket_timeout=-1 导致连接超时)。
PDO SQLite
修复了错误
#79664
(PDOStatement::getColumnMeta 在空结果集上失败)。
phpdbg
修复了错误
#73926
(phpdbg 在重新启动执行时不接受输入)。
修复了错误
#73927
(phpdbg 在“watch array”时出现 Windows 错误提示)。
修复了几个主要与 Windows 相关的 phpdbg 错误。
SPL
修复了错误
#79710
(在 GC 期间,错误处理程序中的可重现段错误涉及一个 SplFileObject)。
标准
修复了错误
#74267
(流和无效数据导致的段错误)。
版本 7.4.7
2020年6月11日
核心
修复了错误
#79599
(set_error_handler 中的核心转储)。
修复了错误
#79566
(私有 SHM 在 Windows 上不是私有的)。
修复了错误
#79489
(.user.ini 没有继承)。
修复了错误
#79600
(在 7.4.6 中,当产生基于数组的生成器时出现回归)。
修复了错误
#79657
(当遇到无效值时,“yield from”挂起)。
FFI
修复了错误
#79571
(FFI:var_dumping 联合体可能会导致段错误)。
GD
修复了错误
#79615
(GD GIFEncode 中写入的 GIF 标头错误)。
MySQLnd
修复了错误
#79596
(MySQL FLOAT 在某些区域设置中截断为 int)。
Opcache
修复了错误
#79588
(布尔 opcache 设置忽略开/关值)。
修复了错误
#79548
(使用继承方法并使用静态变量时,预加载出现段错误)。
修复了错误
#79603
(RTD 与 opcache 冲突)。
标准
修复了错误
#79561
(dns_get_record() 使用 DNS_ALL 失败)。
版本 7.4.6
2020年5月14日
核心
修复了错误
#78434
(生成器在 valid() 调用后不产生任何项目)。
修复了错误
#79477
(将对象转换为数组会创建引用)。
修复了错误
#79514
(包含不存在的文件时出现内存泄漏)。
修复了错误
#79470
(PHP 与第三方按需文件系统不兼容)。
修复了错误
#78784
(无法与 Git 仓库中的 VFS 内的文件交互)。
修复了错误
#78875
(长变量导致 OOM 且临时文件未清理)。(CVE-2019-11048)。
修复了错误
#78876
(multipart/form-data 中的长变量导致 OOM 且临时文件未清理)。(CVE-2019-11048)。
DOM
修复了错误
#78221
(DOMNode::normalize() 不会删除空文本节点)。
EXIF
修复了错误
#79336
(ext/exif/tests/bug79046.phpt 在大端架构上失败)。
FCGI
修复了错误
#79491
(搜索 .user.ini 会扩展到根目录)。
MBString
修复了错误
#79441
(如果内部编码不受支持,则 mb_chr() 中出现段错误)。
OpenSSL
修复了错误
#79497
(stream_socket_client() 有时会抛出未知错误,且超时时间小于 1 秒)。
PCRE
升级到 PCRE2 10.34。
Phar
修复了错误
#79503
(重复元数据时出现内存泄漏)。
SimpleXML
修复了错误
#79528
(7.4.5 和 7.4.4 之间相同 xml 的对象不同)。
SPL
修复了错误
#69264
(扩展 SPL 类时忽略 __debugInfo())。
修复了错误
#67369
(ArrayObject 序列化会删除迭代器类)。
标准
修复了错误
#79468
(关闭带有附加流过滤器的流句柄时出现 SIGSEGV)。
修复了错误
#79447
(使用 __sleep 序列化未初始化的类型化属性不应该抛出异常)。
版本 7.4.5
2020 年 4 月 16 日
核心
修复了错误
#79364
(复制空数组时,下一个键未指定)。
修复了错误
#78210
(无效的指针地址)。
CURL
修复了错误
#79199
(curl_copy_handle() 内存泄漏)。
日期
修复了错误
#79396
(DST 前移期间 DateTime 小时不正确)。
修复了错误
#74940
(DateTimeZone 宽松比较始终为真)。
FPM
实现了 FR
#77062
(允许 FPM listen.{owner,group} 中使用数字 [UG]ID)(Andre Nathan)
Iconv
修复了错误
#79200
(某些 iconv 函数会截断 Windows-1258)。
OPcache
修复了错误
#79412
(Opcache 出现故障并在特定脚本上使用 100% CPU)。
Session
修复了错误
#79413
(session_create_id() 对活动会话失败)。
Shmop
修复了错误
#79427
(shmop_open() 中出现整数溢出)。
SimpleXML
修复了错误
#61597
(SXE 属性可能缺少属性和内容)。
SOAP
修复了错误
#79357
(当任何请求参数缺失时,SOAP 请求会发生段错误)。
Spl
修复了错误
#75673
(SplStack::unserialize() 的行为)。
修复了错误
#79393
(空值合并运算符在 SplFixedArray 中失败)。
标准
修复了错误
#79330
(shell_exec() 在空字节后静默截断)。
修复了错误
#79410
(如果最后一段数据正好是 4095 字节且没有换行符,则 system() 会吞掉它)。
修复了错误
#79465
(urldecode() 中出现越界读取)。(CVE-2020-7067)
Zip
修复了错误
#79296
(ZipArchive::open 在空文件上失败)。
修复了错误
#79424
(php_zip_glob 在调用 globfree 后使用 gl_pathc)。
版本 7.4.4
2020 年 3 月 19 日
核心
修复了错误
#79329
(get_headers() 在空字节后静默截断)(CVE-2020-7066)
修复了错误
#79244
(PHP 在解析 INI 文件期间崩溃)。
修复了错误
#63206
(restore_error_handler 不会恢复以前的错误掩码)。
COM
修复了错误
#66322
(COMPersistHelper::SaveToFile 可能会保存到错误的位置)。
修复了错误
#79242
(COM 错误常量与 x86 上的 com_exception 代码不匹配)。
修复了错误
#79247
(垃圾回收变体对象会导致段错误)。
修复了错误
#79248
(遍历空 VT_ARRAY 会抛出 com_exception)。
修复了错误
#79299
(com_print_typeinfo 打印重复变量)。
修复了错误
#79332
(php_istreams 从未释放)。
修复了错误
#79333
(com_print_typeinfo() 泄漏内存)。
CURL
修复了错误
#79019
(复制的 cURL 句柄上传空文件)。
修复了错误
#79013
(使用 curl 发布 curlFile 时缺少 Content-Length)。
DOM
修复了错误
#77569
:(DomImplementation 中的写访问冲突)。
修复了错误
#79271
(DOMDocumentType::$childNodes 为 NULL)。
Enchant
修复了错误
#79311
(enchant_dict_suggest() 在大端架构上失败)。
EXIF
修复了错误
#79282
(exif 中使用未初始化的值)(CVE-2020-7064)。
Fileinfo
修复了错误
#79283
(libmagic 修补程序中的段错误包含缓冲区溢出)。
FPM
修复了错误
#77653
(显示运算符而不是实际的错误消息)。
修复了错误
#79014
(PHP-FPM 和主脚本未知)。
MBstring
修复了错误
#79371
(mb_strtolower (UTF-32LE):php_unicode_tolower_full 中出现堆栈缓冲区溢出)(CVE-2020-7065)。
MySQLi
修复了错误
#64032
(mysqli 报告不同的 client_version)。
MySQLnd
实现了 FR
#79275
(在 Windows 上支持 auth_plugin_caching_sha2_password)。
Opcache
修复了错误
#79252
(预加载会导致 php-fpm 在退出时发生段错误)。
PCRE
修复了错误
#79188
(preg_replace/preg_replace_callback 和 unicode 中的内存损坏)。
修复了错误
#79241
(preg_match() 上出现段错误)。
修复了错误
#79257
(重复命名的组 (?J) 即使不匹配也优先考虑最后一个备选方案)。
PDO_ODBC
修复了错误
#79038
(PDOStatement::nextRowset() 泄漏列值)。
Reflection
修复了错误
#79062
(具有 heredoc 默认值的属性对 getDocComment 返回 false)。
SQLite3
修复了错误
#79294
(::columnType() 可能会在 SQLite3Stmt::reset() 后失败)。
标准
修复了错误
#79254
(没有参数的 getenv() 未显示更改)。
修复了错误
#79265
(使用 fopen 进行 http 请求时,主机头的注入不当)。
Zip
修复了错误
#79315
(ZipArchive::addFile 不遵守 start/length 参数)。
版本 7.4.3
2020 年 2 月 20 日
核心
修复了错误
#79146
(cscript 可能会在某些系统上运行失败)。
修复了错误
#79155
(使用多个属性定义时,属性可空性丢失)。
修复了错误
#78323
(在无效选项上返回代码 0)。
修复了错误
#78989
(涉及特性的延迟方差检查会导致段错误)。
修复了错误
#79174
(包含空格的 cookie 值无法往返)。
修复了错误
#76047
(访问已销毁的反向跟踪参数时出现使用后释放错误)。
COM
修复了错误
#79247
(垃圾回收变体对象会导致段错误)。
CURL
修复了错误
#79078
(curl_multi_add_handle() 中存在假设的使用后释放错误)。
FFI
修复了错误
#79096
(FFI 结构段错误)。
IMAP
修复了错误
#79112
(IMAP 扩展在配置时找不到 OpenSSL 库)。
Intl
修复了错误
#79212
(NumberFormatter::format() 可能会检测到错误的类型)。
Libxml
修复了错误
#79191
(SoapClient 构造函数中的错误会禁用 DOMDocument::save())。
MBString
修复了错误
#79149
(使用非字符串编码的 mb_convert_encoding 中出现 SEGV)。
MySQLi
修复了错误
#78666
(属性可能会在 var_dump() 中发出警告)。
MySQLnd
修复了错误
#79084
(mysqlnd 可能会使用 MYSQLI_BOTH 获取错误的列索引)。
修复了错误
#79011
(MySQL caching_sha2_password 对长度超过 20 个字符的密码拒绝访问)。
Opcache
修复了错误
#79114
(预加载期间的 Eval 类会导致类仅部分可用)。
修复了错误
#79128
(如果使用 preload_user,则预加载会发生段错误)。
修复了错误
#79193
(self::$field =& $field 的类型推断不正确)。
OpenSSL
修复了错误
#79145
(openssl 内存泄漏)。
Phar
修复了错误
#79082
(使用 Phar::buildFromIterator 添加到 tar 的文件具有所有访问权限)。(CVE-2020-7063)
修复了错误
#79171
(phar_extract_file 中的堆缓冲区溢出)。(CVE-2020-7061)
修复了错误
#76584
(PharFileInfo::decompress 不起作用)。
Reflection
修复了错误
#79115
(ReflectionClass::isCloneable 调用反射类的 __destruct)。
Session
修复了错误
#79221
(PHP 会话上传进度中的空指针取消引用)。(CVE-2020-7062)
标准
修复了错误
#78902
(使用 stream_filter_append 时出现内存泄漏)。
修复了错误
#78969
(PASSWORD_DEFAULT 应该匹配 PASSWORD_BCRYPT 而不是为 null)。
测试
修复了错误
#78090
(bug45161.phpt 需要很长时间才能完成)。
XSL
修复了错误
#70078
(将节点作为参数的 XSL 回调会泄漏内存)。
Zip
添加 ZipArchive::CM_LZMA2 和 ZipArchive::CM_XZ 常量(自 libzip 1.6.0 起)。
添加 ZipArchive::RDONLY(自 libzip 1.0.0 起)。
添加缺失的 ZipArchive::ER_* 常量。
添加 ZipArchive::LIBZIP_VERSION 常量。
修复了错误
#73119
(ZipArchive::addEmptyDir 方法的错误返回值)。
版本 7.4.2
2020 年 1 月 23 日
核心
已禁用 Windows 上的预加载支持。
修复了错误
#79022
(class_exists 对尚未准备好使用的类返回 True)。
修复了错误
#78929
(cookie 值中的加号被转换为空格)。
修复了错误
#78973
(如果 opline 从未保存,则 CV 释放期间的析构函数会导致段错误)。
修复了错误
#78776
(来自特性的抽象方法实现不会检查“static”)。
修复了错误
#78999
(使用函数结果作为临时变量时出现循环泄漏)。
修复了错误
#79008
(PHP 7.4 在 Windows 上出现普遍性能下降)。
修复了错误
#79002
(使用 __sleep 序列化未初始化的类型化属性会导致 unserialize 抛出异常)。
CURL
修复了错误
#79033
(使用特定 url 和 post 时出现 Curl 超时错误)。
修复了错误
#79063
(curl openssl 不尊重 PKG_CONFIG_PATH)。
日期
修复了错误
#79015
(php_date.c 中的未定义行为)。
DBA
修复了错误
#78808
([LMDB] MDB_MAP_FULL:环境映射大小限制已达)。
Exif
修复了错误
#79046
(exif 中的 NaN 到 int 转换未定义行为)。
Fileinfo
修复了错误
#74170
(mime_content_type 后本地化信息更改)。
GD
修复了错误
#79067
(gdTransformAffineCopy() 可能会使用未初始化的值)。
修复了错误
#79068
(gdTransformAffineCopy() 更改了插值方法)。
Libxml
修复了错误
#79029
(XMLReader/XMLWriter 中存在 Use After Free)。
Mbstring
修复了错误
#79037
(`mbfl_filt_conv_big5_wchar` 中存在全局缓冲区溢出)。(CVE-2020-7060)
OPcache
修复了错误
#78961
(重新赋值的 $GLOBALS 的错误优化)。
修复了错误
#78950
(使用静态变量预加载 trait 方法)。
修复了错误
#78903
(闭包的 RTD 密钥冲突导致崩溃)。
修复了错误
#78986
(从不可变类继承构造函数到可变类时,Opcache 会发生段错误)。
修复了错误
#79040
(由于 ASLR,警告操作码处理程序无法使用)。
修复了错误
#79055
(使用 OPcache 文件缓存时,类型化属性变为未知)。
Pcntl
修复了错误
#78402
(在错误消息中将 null 转换为字符串是不好的 DX)。
PDO_PgSQL
修复了错误
#78983
(pdo_pgsql config.w32 找不到 libpq-fe.h)。
修复了错误
#78980
(pgsqlGetNotify() 忽略了失效的连接)。
修复了错误
#78982
(pdo_pgsql 返回失效的持久连接)。
Session
修复了错误
#79091
(session_create_id() 中存在堆使用后释放)。
修复了错误
#79031
(会话反序列化问题)。
Shmop
修复了错误
#78538
(shmop 内存泄漏)。
Sqlite3
修复了错误
#79056
(sqlite 在编译期间不尊重 PKG_CONFIG_PATH)。
Spl
修复了错误
#78976
(SplFileObject::fputcsv 在失败时返回 -1)。
标准
修复了错误
#79099
(php_strip_tags_ex 中存在越界读取)。(CVE-2020-7059)
修复了错误
#79000
(非阻塞套接字流将 EAGAIN 报告为错误)。
修复了错误
#54298
(使用空的 additional_headers 会添加多余的 CRLF)。
版本 7.4.1
2019 年 12 月 18 日
Bcmath
修复了错误
#78878
(bc_shift_addsub 中存在缓冲区下溢)。(CVE-2019-11046)。
核心
修复了错误
#78862
(link() 在 Windows 上在空字节后静默截断)。(CVE-2019-11044)。
修复了错误
#78863
(DirectoryIterator 类在空字节后静默截断)。(CVE-2019-11045)。
修复了错误
#78943
(mail() 可能会释放两次 refcount==1 的字符串)。(CVE-2019-11049)。
修复了错误
#78810
(读写获取不会抛出“未初始化属性”异常)。
修复了错误
#78868
(使用不正确的 EG(fake_scope) 值调用 __autoload())。
修复了错误
#78296
(is_file 无法检测文件)。
修复了错误
#78883
(fgets(STDIN) 在 Windows 上失败)。
修复了错误
#78898
(call_user_func(['parent', ...]) 失败,而其他成功)。
修复了错误
#78904
(未初始化的属性触发 __get())。
修复了错误
#78926
(Symfony cache:clear 时出现段错误)。
GD
修复了错误
#78849
(使用 -D SIGNED_COMPARE_SLOW 构建 GD 时出现错误)。
修复了错误
#78923
(使用透明度卷积图像时出现伪影)。
EXIF
修复了错误
#78793
(内存清理器下exif解析中的使用后释放)。(CVE-2019-11050)。
修复了错误
#78910
(exif 中存在堆缓冲区溢出读取)。(CVE-2019-11047)。
FPM
修复了错误
#76601
(php-fpm 在不完整重新加载后部分工作)。
修复了错误
#78889
(php-fpm 服务无法启动)。
修复了错误
#78916
(php-fpm 7.4.0 无法通过 mail() 发送邮件)。
Intl
实现了 FR
#78912
(INTL 对会计格式的支持)。
Mysqlnd
修复了错误
#78823
(未将 ZLIB_LIBS 添加到 EXTRA_LIBS)。
OPcache
修复了 $x = (bool)$x; 与 opcache(应发出未声明变量通知)。
修复了错误
#78935
(预加载删除了具有依赖关系的类)。
PCRE
修复了错误
#78853
(preg_match() 可能会返回大于 1 的整数)。
Reflection
修复了错误
#78895
(Reflection 将抽象非静态类检测为抽象静态类。不再使用 IS_IMPLICIT_ABSTRACT)。
标准
修复了错误
#77638
(var_export 特定类实例时出现段错误)。
修复了错误
#78840
(对 $GLOBALS 进行 implode 操作会导致崩溃)。
修复了错误
#78833
(pack 中的整数溢出导致越界访问)。
修复了错误
#78814
(strip_tags 允许标签名称中的 / => 白名单绕过)。
版本 7.4.0
2019 年 11 月 28 日
核心
实现了 RFC:
弃用用于访问数组元素和字符串偏移量的花括号语法
。
实现了 RFC:
PHP 7.4 的弃用
。
修复了错误
#52752
(词法分析时崩溃)。
修复了错误
#60677
(CGI 未正确验证 shebang 行是否包含 #!)。
修复了错误
#71030
(list() 中的自赋值可能具有不一致的行为)。
修复了错误
#72530
(在使用某些析构函数时,GC 中存在 Use After Free)。
修复了错误
#75921
(不一致:在某些情况下,当 stdObj 临时创建时,没有警告)。
实现了 FR
#76148
(将 array_key_exists() 添加到特殊编译函数列表中)。
修复了错误
#76430
(__METHOD__ 在方法外部不一致)。
修复了错误
#76451
(继承类型检查期间的别名受 opcache 影响)。
实现了 FR
#77230
(支持来自环境的自定义 CFLAGS 和 LDFLAGS)。
修复了错误
#77345
(垃圾回收中的循环引用导致堆栈溢出)。
修复了错误
#77812
(交互模式不支持 PHP 7.3 风格的 heredoc)。
修复了错误
#77877
(call_user_func() 将 $this 传递给静态方法)。
修复了错误
#78066
(PHP 会吞噬来自进程替换的程序的第一个字节)。
修复了错误
#78151
(PHP 7.4a1 中间接表达式导致段错误)。
修复了错误
#78154
(SEND_VAR_NO_REF 并不总是发送引用)。
修复了错误
#78182
(按引用属性赋值期间出现段错误)。
修复了错误
#78212
(内置 Web 服务器中出现段错误)。
修复了错误
#78220
(无法访问 OneDrive 文件夹)。
修复了错误
#78226
(类型化属性的 __set 行为异常)。
修复了错误
#78239
(字符串转换期间的弃用通知转换为异常导致挂起)。
修复了错误
#78335
(包含循环的静态属性/变量报告为泄漏)。
修复了错误
#78340
(流包装器的包含未读取整个文件)。
修复了错误
#78344
(zend_check_protected 时出现段错误)。
修复了错误
#78356
(从 ArrayAccess 返回的数组被错误地解包为参数)。
修复了错误
#78379
(转换为对象会混淆 GC,导致崩溃)。
修复了错误
#78386
(PHP 7.4 上 fstat 模式具有意外值)。
修复了错误
#78396
(Shutdown 中的第二个 file_put_contents 会挂起脚本)。
修复了错误
#78406
(使用用户定义的流过滤器时文件包含出现问题)。
修复了错误
#78438
(反序列化深度嵌套结构时出现损坏)。
修复了错误
#78441
(由于 heredoc 标识符后跟数字导致解析错误)。
修复了错误
#78454
(连续的数字分隔符导致 OOM 错误)。
修复了错误
#78460
(PEAR 安装失败)。
修复了错误
#78531
(使用未定义变量作为对象时崩溃)。
修复了错误
#78535
(auto_detect_line_endings 值未解析为布尔值)。
修复了错误
#78604
(token_get_all() 未正确标记 FOO<?php(short_open_tag=0))。
修复了错误
#78614
(不再与 DTRACE 编译)。
修复了错误
#78620
(内存不足错误)。
修复了错误
#78632
(php74 中的 method_exists() 在检查私有方法方面与 php73 不同)。
修复了错误
#78644
(ZEND_UNSET_OBJ_SPEC_VAR_CONST_HANDLER 中出现 SEGFAULT)。
修复了错误
#78658
(使用 Closure::bindTo 时出现内存损坏)。
修复了错误
#78656
(解析错误被归类为最高日志级别)。
修复了错误
#78662
(stream_write 错误检测不佳)。
修复了错误
#78768
(typedef zend_property_info 的重新定义)。
修复了错误
#78788
(./configure 生成无效的 php_version.h)。
修复了 QM_ASSIGN 指令的使用错误。它不能返回 IS_VAR。作为副作用,这允许按引用传递左侧 list(),而不是编译时错误。
CLI
内置的 CLI 服务器现在会在日志文件中报告请求方法。
COM
弃用从 typelibs 注册不区分大小写的常量。
修复了错误
#78650
(new COM 崩溃)。
修复了错误
#78694
(追加到变体数组会导致段错误)。
CURL
修复了错误
#76480
(使用 curl_multi_wait() 以确保超时得到尊重)。
实现了 FR
#77711
(CURLFile 应支持 UNICODE 文件名)。
弃用 CURLPIPE_HTTP1。
弃用 curl_version() 的 $version 参数。
日期
将 timelib 更新至 2018.02。
修复了错误
#69044
(时间和微秒时间之间存在差异)。
修复了错误
#70153
(\DateInterval 反序列化错误)。
修复了错误
#75232
(DateTime 的 print_r 会产生副作用)。
修复了错误
#78383
(将 DateTime 转换为数组不再返回其属性)。
修复了错误
#78751
(序列化 DatePeriod 会转换 DateTimeImmutable)。
Exif
修复了错误
#78333
(由于错误的对齐和无效的转换导致 Exif 崩溃(总线错误))。
修复了错误
#78256
(exif_process_user_comment 上存在堆缓冲区溢出)。(CVE-2019-11042)
修复了错误
#78222
(exif_scan_thumbnail 上存在堆缓冲区溢出)。(CVE-2019-11041)
Fileinfo
修复了错误
#78075
(finfo_file 将 JSON 文件视为 text/plain)。
修复了错误
#78183
(finfo_file 显示 .tga 文件的错误 mime 类型)。
过滤器
过滤器扩展在 Unix 构建中不再具有 --with-pcre-dir,允许扩展再次使用 ./configure 作为共享编译。
为 FILTER_VALIDATE_FLOAT 添加了 min_range 和 max_range 选项。
FFI
添加了 FFI 扩展。
修复了错误
#78488
(ZEND_FUNCTION(ffi_trampoline) 中存在越界)。
修复了错误
#78543
(FFI\CData 上的 is_callable() 会抛出异常)。
修复了错误
#78716
(某些参数类型的函数名称处理错误)。
修复了错误
#78762
(FFI::cast() 失败可能会导致内存泄漏)。
修复了错误
#78761
(使用预加载和转换时,Zend 内存堆损坏)。
实现了 FR
#78270
(使用 FFI 支持 __vectorcall 约定)。
添加了缺失的 FFI::isNull()。
FPM
实现了 FR
#72510
(systemd 服务应得到加固)。
修复了错误
#74083
(多次重新加载后,主 PHP-fpm 会停止)。
修复了错误
#78334
(fpm 日志前缀消息包含错误的标准输出/标准错误符号)。
修复了错误
#78599
(fpm_main.c 中的 env_path_info 下溢可能导致 RCE)。(CVE-2019-11043)
GD
实现了散射滤镜 (IMG_FILTER_SCATTER)。
捆绑的 libgd 现在在 IMG_CROP_DEFAULT 方面与系统 libgd 的行为一致,从不回退到 IMG_CROP_SIDES。
imagecropauto() 的默认 $mode 参数已更改为 IMG_CROP_DEFAULT;现在不建议使用 -1。
为 imagescale() 添加了对保持纵横比的图像缩放至固定高度的支持。
添加了 TGA 读取支持。
修复了错误
#73291
(imagecropauto() $threshold 与外部 libgd 不同)。
修复了错误
#76324
(无法使用 pkg-config 检测最新版本的 freetype)。
修复了错误
#78314
(使用外部 gd 时缺少 freetype 支持/函数)。
GMP
修复了错误
#78574
(共享构建损坏)。
Hash
实现了 RFC:
哈希扩展现在是 PHP 的组成部分,无法禁用
。
实现了 FR
#71890
(crc32c 校验和算法)。
Iconv
修复了错误
#78342
(iconv //IGNORE 的配置测试中出现总线错误)。
修复了错误
#78642
(显示的 libiconv 版本错误)。
Libxml
修复了错误
#78279
(libxml_disable_entity_loader 设置在请求之间共享(cgi-fcgi))。
InterBase
取消捆绑 InterBase 扩展并将其移至 PECL。
Intl
将 ICU 的要求提高到 ≥ 50.1。
更改 ResourceBundle 以实现 Countable。
更改了 idn_to_ascii() 和 idn_to_utf8() 的 $variant 参数的默认值。
LDAP
弃用 ldap_control_paged_result_response 和 ldap_control_paged_result
LiteSpeed
更新到 LiteSpeed SAPI V7.5(修复了干净关机)。
更新到 LiteSpeed SAPI V7.4.3(将响应头计数限制从 100 增加到 1000,添加了崩溃处理程序以干净地关闭 PHP 请求,添加了 CloudLinux mod_lsapi 模式)。
修复了错误
#76058
(在“POST 数据无法缓冲”之后,使用 php://input 会创建巨大的临时文件)。
MBString
修复了错误
#77907
(mb 函数不尊重 default_encoding)。
修复了错误
#78579
(mb_decode_numericentity:参数数量不一致)。
修复了错误
#78609
(mb_check_encoding() 不再支持可字符串化的对象)。
MySQLi
修复了错误
#67348
(读取 $dbc->stat 会修改 $dbc->affected_rows)。
修复了错误
#76809
(使用持久连接时不尊重 SSL 设置)。
修复了错误
#78179
(MariaDB 服务器版本检测错误)。
修复了错误
#78213
(空行存储)。
MySQLnd
修复了 connect_attr 问题并添加了 _server_host 连接属性。
修复了错误
#60594
(mysqlnd 在 phpinfo 中显示 160 行统计信息)。
ODBC
修复了错误
#78473
(odbc_close() 关闭任意资源)。
Opcache
实现了
预加载 RFC
。
添加 opcache.preload_user INI 指令。
添加了新的 INI 指令 opcache.cache_id(仅限 Windows)。
修复了错误
#78106
(如果请求期间禁用 opcache,则路径解析失败)。
修复了错误
#78175
(预加载在预加载时和运行时出现段错误)。
修复了错误
#78202
(缓存命中的 Opcache 统计信息上限为 32 位 NUM)。
修复了错误
#78271
(if-else 的结果无效)。
修复了错误
#78341
(DFA 传递中未能检测到智能分支)。
修复了错误
#78376
(常量静态属性的预加载不正确)。
修复了错误
#78429
(opcache_compile_file(__FILE__); 出现段错误)。
修复了错误
#78512
(无法使预加载工作)。
修复了错误
#78514
(使用继承的类型化属性时预加载出现段错误)。
修复了错误
#78654
(对包含非 ASCII 字符的文件错误计算 opcache 校验和)。
OpenSSL
为流添加了 TLS 1.3 支持,包括新的 tlsv1.3 流。
添加了 openssl_x509_verify 函数。
openssl_random_pseudo_bytes() 现在在错误情况下抛出异常。
更改了默认配置路径(仅限 Windows)。
修复了错误
#78231
(导出套接字到流的 stream_socket_accept 出现段错误)。
修复了错误
#78391
(openssl_random_pseudo_bytes 中断言失败)。
修复了错误
#78775
(来自 HTTP 请求的 TLS 问题影响其他加密连接)。
Pcntl
修复了错误
#77335
(PHP 阻止 SIGALRM 指定 SA_RESTART)。
PCRE
实现了 FR
#77094
(在 preg_replace_callback 中支持标志)。
修复了错误
#72685
(在 UTF-8 模式下重复验证同一字符串的 UTF-8)。
修复了错误
#73948
(Preg_match_all 应该在尾随可选捕获组上返回 NULL)。
修复了错误
#78338
(PCRE 中的数组越界读取)。
修复了错误
#78349
(捆绑的 pcre2 库缺少 LICENCE 文件)。
PDO
实现了 FR
#71885
(允许转义问号占位符)。https://wiki.php.net/rfc/pdo_escape_placeholders
修复了错误
#77849
(禁用 PDO 处理程序/连接对象的克隆)。
实现了 FR
#78033
(PDO - 支持在 DSN 中指定的用户名和密码)。
PDO_Firebird
实现了 FR
#65690
(PDO_Firebird 也应该支持方言 1)。
实现了 FR
#77863
(PDO firebird 支持输入参数中的布尔类型)。
PDO_MySQL
修复了错误
#41997
(SP 调用产生额外的空结果集)。
修复了错误
#78623
(由“SP 调用产生额外的空结果集”引起的回归)。
PDO_OCI
支持 Oracle 数据库跟踪属性 ACTION、MODULE、CLIENT_INFO 和 CLIENT_IDENTIFIER。
实现了 FR
#76908
(PDO_OCI getColumnMeta() 未实现)。
PDO_SQLite
在 PDO_SQLite 中实现了 sqlite_stmt_readonly。
将 SQLite 的要求提高到 3.5.0。
修复了错误
#78192
(架构更改后重用语句时出现段错误)。
修复了错误
#78348
(从 pdo_sqlite.so 中删除 -lrt)。
Phar
修复了错误
#77919
(Phar RSHUTDOWN 中潜在的 UAF)。
phpdbg
修复了错误
#76596
(phpdbg 对 display_errors=stderr 的支持)。
修复了错误
#76801
(打开的文件过多)。
修复了错误
#77800
(phpdbg 在列出某些条件断点时出现段错误)。
修复了错误
#77805
(当 readline 为共享时,phpdbg 构建失败)。
Recode
取消捆绑 recode 扩展。
Reflection
修复了错误
#76737
(反序列化的反射对象已损坏,它们不应该可序列化)。
修复了错误
#78263
(\ReflectionReference::fromArrayElement() 返回 null,而项目是引用)。
修复了错误
#78410
(无法“手动”反序列化最终类并扩展内部类的类)。
修复了错误
#78697
(ReflectionClass::implementsInterface - 使用 traits 时错误消息不准确)。
修复了错误
#78774
(类型化属性上的 ReflectionNamedType 崩溃)。
Session
修复了错误
#78624
(用户定义的会话处理程序的 session_gc 返回值)。
SimpleXML
实现了 FR
#65215
(SimpleXMLElement 可以注册为实现 Countable)。
修复了错误
#75245
(不要设置仅包含空格的元素的内容)。
Sockets
修复了错误
#67619
(在 socket_write 上验证长度)。
修复了错误
#78665
(多播可能会导致内存泄漏)。
sodium
修复了错误
#77646
(sign_detached() 字符串未终止)。
修复了错误
#78510
(sodium_crypto_generichash_init() 返回的部分未初始化缓冲区)。
修复了错误
#78516
(password_hash(): 内存成本不在允许的范围内)。
SPL
修复了错误
#77518
(SeekableIterator::seek() 应根据文档接受 'int' 类型提示)。
修复了错误
#78409
(在没有构造函数的情况下创建 ArrayIterator 实例时出现段错误)。
修复了错误
#78436
(SplPriorityQueue EXTR_BOTH 模式下缺少 addref)。
修复了错误
#78456
(序列化 SplDoublyLinkedList 时出现段错误)。
SQLite3
取消捆绑 libsqlite。
将 SQLite 的要求提高到 3.7.4。
禁止 SQLite3、SQLite3Stmt 和 SQLite3Result 的(反)序列化。
添加了对 SQLite @name 符号的支持。
添加了 SQLite3Stmt::getSQL() 以检索语句的 SQL。
实现了 FR
#70950
(使 SQLite 在线备份 API 可用)。
标准
实现了 RFC
密码哈希注册表
。
实现了 RFC,其中 password_hash() 具有
来自 ext/sodium 的 argon2i(d) 实现
,当 PHP 在没有 libargon 的情况下构建时。
实现了 FR
#38301
(fputcsv 中的字段包围行为)。
实现了 FR
#51496
(fgetcsv 应该将空字符串作为转义符)。
修复了错误
#73535
(php_sockop_write() 在错误时返回 0,可用于触发拒绝服务)。
修复了错误
#74764
(Bindto IPv6 可与 file_get_contents 一起使用,但与 stream_socket_client 失败)。
修复了错误
#76859
(如果与数据生成过滤器一起使用,stream_get_line 会跳过数据)。
实现了 FR
#77377
(无法在 Windows 中处理 CTRL+C)。
修复了错误
#77930
(stream_copy_to_stream 应该更频繁地使用 mmap)。
实现了 FR
#78177
(使 proc_open 接受命令数组)。
修复了错误
#78208
(使用未知算法的 password_needs_rehash() 应始终返回 true)。
修复了错误
#78241
(touch() 在 64 位 PHP 中无法处理 2038 年后的日期)。
修复了错误
#78282
(atime 和 mtime 不匹配)。
修复了错误
#78326
(在使用固定长度缓冲区的 stream_get_contents() 上内存分配不当)。
修复了错误
#78346
(strip_tags 不再处理嵌套的 php 标签)。
修复了错误
#78506
(未报告 php_user_filter::filter() 中的错误)。
修复了错误
#78549
(由于嵌套序列化输入导致堆栈溢出)。
修复了错误
#78759
($GLOBALS 中的 array_search)。
测试
修复了错误
#78684
(PCRE bug72463_2 测试在 Linux 上发送电子邮件)。
Tidy
为 HTML5 元素添加了 TIDY_TAG_* 常量。
修复了错误
#76736
(tidy_get_head、tidy_get_html、tidy_get_root 和 tidy_getopt 的反射错误)。
WDDX
弃用并取消捆绑 WDDX 扩展。
Zip
修复了错误
#78641
(addGlob 可以修改给定的 remove_path 值)。
版本 7.3.33
2021年11月18日
XML
修复了错误
#79971
(特殊字符破坏了 xml 函数中的路径)。(CVE-2021-21707)
版本 7.3.32
2021年10月28日
FPM
修复了错误
#81026
(PHP-FPM 在根进程中存在 OOB 读写,可能导致权限提升)。(CVE-2021-21703)
版本 7.3.31
2021年9月23日
Zip
修复了错误
#81420
(ZipArchive::extractTo 在目标位置之外提取)。(CVE-2021-21706)
版本 7.3.30
2021年8月26日
Phar
修复了错误
#81211
:创建 PHAR 归档文件时会跟随符号链接。
版本 7.3.29
2021年7月1日
核心
修复了错误
#81122
:FILTER_VALIDATE_URL 中的 SSRF 绕过。(CVE-2021-21705)
PDO_Firebird
修复了错误
#76448
:firebird_info_cb 中的堆栈缓冲区溢出。(CVE-2021-21704)
修复了错误
#76449
:firebird_handle_doer 中的 SIGSEGV。(CVE-2021-21704)
修复了错误
#76450
:firebird_stmt_execute 中的 SIGSEGV。(CVE-2021-21704)
修复了错误
#76452
:在 firebird_fetch_blob 中解析 blob 数据时崩溃。(CVE-2021-21704)
版本 7.3.28
2021年4月29日
Imap
修复了错误
#80710
(imap_mail_compose() 标头注入)。
版本 7.3.27
2021年2月4日
SOAP
修复了错误
#80672
(SoapClient 中的空解引用)。(CVE-2021-21702)
版本 7.3.26
2021年1月7日
标准
修复了错误
#77423
(FILTER_VALIDATE_URL 接受具有无效用户信息的 URL)。(CVE-2020-7071)
修复了错误
#80457
(stream_get_contents() 在 maxlength=-1 或默认值时失败)。
版本 7.3.25
2020年11月26日
核心
修复了错误
#80280
(ADD_EXTENSION_DEP() 对于 ext/standard 和 ext/date 失败)。
修复了错误
#80258
(启用 Windows 重复数据删除,随机权限错误)。
COM
修复了错误
#62474
(com_event_sink 在某些参数上崩溃)。
DOM
修复了错误
#80268
(loadHTML() 在 NUL 字节处截断)。
IMAP
修复了错误
#64076
(imap_sort() 在失败时不返回 FALSE)。
修复了错误
#76618
(imap_reopen 时出现段错误)。
修复了错误
#80239
(imap_rfc822_write_address() 泄漏内存)。
修复了修复错误
#80220
造成的轻微回归。
修复了错误
#80242
(imap_mail_compose() 对于带有 rfc822 的多部分内容出现段错误)。
Intl
修复了错误
#80310
(带 icu4c 68.1 的 ext-intl:使用未声明的标识符“TRUE”)。
ODBC
修复了错误
#44618
(获取可能依赖于未初始化的数据)。
SNMP
修复了错误
#70461
(在 net-snmp 中不支持 md5 代码时禁用它)。
标准
修复了错误
#80266
(parse_url 静默丢弃端口号 0)。
版本 7.3.24
2020年10月29日
核心
修复了错误
#79423
(copy 命令复制文件的尺寸有限)。
日历
修复了错误
#80185
(jdtounix() 在 2037 年后失败)。
IMAP
修复了错误
#80213
(imap_mail_compose() 在某些 $bodies 上出现段错误)。
修复了错误
#80215
(imap_mail_compose() 可能会修改按值传递的参数)。
修复了错误
#80220
(imap_mail_compose() 可能会导致内存泄漏)。
修复了错误
#80223
(imap_mail_compose() 在格式错误的正文上泄漏信封)。
修复了错误
#80216
(imap_mail_compose() 不验证类型/编码)。
修复了错误
#80226
(imap_sort() 泄漏 sortpgm 内存)。
MySQLnd
修复了错误
#80115
(mysqlnd.debug 无法识别带有斜杠的绝对路径)。
修复了错误
#80107
(当启用压缩时,mysqli_query() 对于大约 16 MB 长的查询失败)。
ODBC
修复了错误
#78470
(odbc_specialcolumns() 不再接受 $nullable)。
修复了错误
#80147
(BINARY 字符串可能没有正确地以零结尾)。
修复了错误
#80150
(无法获取错误消息)。
修复了错误
#80152
(odbc_execute() 移动 $params 的内部指针)。
修复了错误
#46050
(odbc_next_result 破坏准备好的资源)。
OPcache
修复了错误
#80083
(优化器传递 6 删除用于 ibm_db2 数据绑定的变量)。
PDO_ODBC
修复了错误
#67465
(odbc_handle_preparer 中的空指针取消引用)。
标准
修复了错误
#80114
(parse_url 不接受端口为 0 的 URL)。
修复了错误
#76943
(stream_wrapper_restore() 错误不一致)。
修复了错误
#76735
(fopen 在无效模式下显示错误消息不正确)。
Tidy
修复了错误
#77040
(tidyNode::isHtml() 完全损坏)。
版本 7.3.23
2020年10月1日
核心
修复了错误
#80048
(错误
#69100
在 Windows 上尚未修复)。
修复了错误
#80049
(通过可变参数将整数强制转换为字符串时出现内存泄漏)。
修复了错误
#79699
(PHP 解析编码的 Cookie 名称,因此可以发送恶意的 `__Host-` Cookie)。(CVE-2020-7070)
日历
修复了错误
#80007
(unixtojd() 参数解析中潜在的类型混淆)。
COM
修复了错误
#64130
(按引用传递的 COM 对象参数不会更新)。
OPcache
修复了错误
#80002
(为新的内部字符串计算空闲空间错误)。
修复了错误
#79825
(当自定义操作码处理程序更改时,opcache.file_cache 会导致 SIGSEGV)。
OpenSSL
修复了错误
#79601
(对于 12 字节 IV 的 AES-CCM 加密中的密文/标签错误)。(CVE-2020-7069)
PDO
修复了错误
#80027
(在具有许多绑定参数的查询上使用 $query->fetch 时性能极差)。
SOAP
修复了错误
#47021
(SoapClient 遇到使用“Transfer-Encoding: chunked”传递的 WSDL)。
标准
修复了错误
#79986
(str_ireplace 中带有变音符号字符的错误)。
修复了错误
#80077
(getmxrr 测试错误)。
修复了错误
#72941
(修改 bucket->data 按引用传递不再起作用)。
修复了错误
#80067
(在 bindto 设置中省略端口会导致错误)。
版本 7.3.22
2020年9月3日
核心
修复了错误
#79884
(PHP_CONFIG_FILE_PATH 毫无意义)。
修复了错误
#77932
(文件扩展名区分大小写)。
修复了错误
#79806
(realpath() 错误地将链接解析为链接)。
修复了错误
#79895
(PHP_CHECK_GCC_ARG 不允许带有等号的标志)。
修复了错误
#79919
(define() 中的栈使用后作用域)。
修复了错误
#79934
(heredoc 中仅包含 CRLF 的行会导致解析错误)。
COM
修复了错误
#48585
(com_load_typelib 保留引用,在第二次调用时失败)。
Exif
修复了错误
#75785
(exif_read_data 中的许多错误)。
Gettext
修复了错误
#70574
(测试由于依赖于 gettext() 的 Linux 回退行为而失败)。
LDAP
修复了内存泄漏。
OPcache
修复了错误
#73060
(临时文件夹清理后,php 出现错误并失败)。
PDO
修复了错误
#64705
(当 PDO::__construct() 失败时,PDOException 的 errorInfo 属性为 null)。
标准
修复了错误
#79930
(当使用带有单个引用的数组调用 array_merge_recursive() 时,它会崩溃)。
修复了错误
#79944
(getmxrr 在 Alpine Linux 上始终返回 true)。
修复了错误
#79951
(str_replace 空字符串时的内存泄漏)。
XML
修复了错误
#79922
(多次调用 xml_parser_free() 后崩溃)。
版本 7.3.21
2020年8月6日
Apache
修复了错误
#79030
(将 apache2handler 的 php_apache_sapi_get_request_time 升级为返回 usec)。
核心
修复了错误
#79877
(getimagesize 函数在空字节后静默截断)。
修复了错误
#79778
(如果转储具有未解析静态变量的闭包,则出现断言失败)。
修复了错误
#79792
(如果空数组被销毁,则不会删除 HT 迭代器)。
COM
修复了错误
#63208
(BSTR 到 PHP 字符串的转换不是二进制安全的)。
修复了错误
#63527
(DCOM 不适用于用户名、密码参数)。
Curl
修复了错误
#79741
(curl_setopt CURLOPT_POSTFIELDS 在具有声明属性的对象上断言)。
Fileinfo
修复了错误
#79756
(finfo_file 崩溃 (FILEINFO_MIME))。
FTP
修复了错误
#55857
(ftp_size 在大文件上的问题)。
Mbstring
修复了错误
#79787
(mb_strimwidth 无法修剪字符串)。
Phar
修复了错误
#79797
(在 phar_parse_zipfile 函数中使用了已释放的哈希键)。(CVE-2020-7068)
标准
修复了错误
#70362
(无法使用 open_basedir 复制大型“data://”)。
修复了错误
#79817
(str_replace() 不处理 INDIRECT 元素)。
修复了错误
#78008
(dns_check_record() 在 Alpine 上始终返回 true)。
版本 7.3.20
2020年7月9日
核心
修复了错误
#79650
(php-win.exe 100% CPU 锁定)。
修复了错误
#79668
(get_defined_functions(true) 可能会丢失函数)。
修复了可能不受支持的 timercmp() 使用。
Exif
修复了错误
#79687
(索尼图片 - PHP 警告 - 制造商、型号、制造商备注)。
过滤器
修复了错误
#73527
(php_filter_strip 中的无效内存访问)。
GD
修复了错误
#79676
(imagescale 使用 IMG_BICUBIC 添加黑色边框)。
OpenSSL
修复了错误
#62890
(default_socket_timeout=-1 导致连接超时)。
PDO SQLite
修复了错误
#79664
(PDOStatement::getColumnMeta 在空结果集上失败)。
SPL
修复了错误
#79710
(在 GC 期间,错误处理程序中的可重现段错误涉及一个 SplFileObject)。
标准
修复了错误
#74267
(流和无效数据导致的段错误)。
版本 7.3.19
2020年6月11日
核心
修复了错误
#79566
(私有 SHM 在 Windows 上不是私有的)。
修复了错误
#79489
(.user.ini 没有继承)。
GD
修复了错误
#79615
(GD GIFEncode 中写入的 GIF 标头错误)。
MySQLnd
修复了错误
#79596
(MySQL FLOAT 在某些区域设置中截断为 int)。
Opcache
修复了错误
#79535
(PHP 在特定的 opcache.optimization_level 下崩溃)。
修复了错误
#79588
(布尔 opcache 设置忽略开/关值)。
标准
修复了错误
#79561
(dns_get_record() 使用 DNS_ALL 失败)。
版本 7.3.18
2020年5月14日
核心
修复了错误
#78875
(长文件名导致 OOM 且临时文件未清理)。(CVE-2019-11048)
修复了错误
#78876
(multipart/form-data 中的长变量导致 OOM 且临时文件未清理)。(CVE-2019-11048)
修复了错误
#79434
(PHP 7.3 和 PHP-7.4 在 !CS 常量上出现空指针解除引用导致崩溃)。
修复了错误
#79477
(将对象转换为数组会创建引用)。
修复了错误
#79470
(PHP 与第三方按需文件系统不兼容)。
修复了错误
#78784
(无法与 Git 仓库中的 VFS 内的文件交互)。
DOM
修复了错误
#78221
(DOMNode::normalize() 不会删除空文本节点)。
FCGI
修复了错误
#79491
(搜索 .user.ini 会扩展到根目录)。
MBString
修复了错误
#79441
(如果内部编码不受支持,则 mb_chr() 中出现段错误)。
OpenSSL
修复了错误
#79497
(stream_socket_client() 有时会抛出未知错误,且超时时间小于 1 秒)。
Phar
修复了错误
#79503
(重复元数据时出现内存泄漏)。
SimpleXML
修复了错误
#79528
(7.4.5 和 7.4.4 之间相同 xml 的对象不同)。
标准
修复了错误
#79468
(关闭带有附加流过滤器的流句柄时出现 SIGSEGV)。
版本 7.3.17
2020 年 4 月 16 日
核心
修复了错误
#79364
(复制空数组时,下一个键未指定)。
修复了错误
#78210
(无效的指针地址)。
CURL
修复了错误
#79199
(curl_copy_handle() 内存泄漏)。
日期
修复了错误
#79396
(DST 前移期间 DateTime 小时不正确)。
Iconv
修复了错误
#79200
(某些 iconv 函数会截断 Windows-1258)。
OPcache
修复了错误
#79412
(Opcache 出现故障并在特定脚本上使用 100% CPU)。
Session
修复了错误
#79413
(session_create_id() 对活动会话失败)。
Shmop
修复了错误
#79427
(shmop_open() 中出现整数溢出)。
SimpleXML
修复了错误
#61597
(SXE 属性可能缺少属性和内容)。
Spl
修复了错误
#75673
(SplStack::unserialize() 的行为)。
修复了错误
#79393
(空值合并运算符在 SplFixedArray 中失败)。
标准
修复了错误
#79330
(shell_exec() 在空字节后静默截断)。
修复了错误
#79465
(urldecode() 中出现越界读取)。(CVE-2020-7067)
修复了错误
#79410
(如果最后一段数据正好是 4095 字节且没有换行符,则 system() 会吞掉它)。
Zip
修复了错误
#79296
(ZipArchive::open 在空文件上失败)。
修复了错误
#79424
(php_zip_glob 在调用 globfree 后使用 gl_pathc)。
版本 7.3.16
2020 年 3 月 19 日
核心
修复了错误
#63206
(restore_error_handler 不会恢复以前的错误掩码)。
COM
修复了错误
#66322
(COMPersistHelper::SaveToFile 可能会保存到错误的位置)。
修复了错误
#79242
(COM 错误常量与 x86 上的 com_exception 代码不匹配)。
修复了错误
#79248
(遍历空 VT_ARRAY 会抛出 com_exception)。
修复了错误
#79299
(com_print_typeinfo 打印重复变量)。
修复了错误
#79332
(php_istreams 从未释放)。
修复了错误
#79333
(com_print_typeinfo() 泄漏内存)。
DOM
修复了错误
#77569
:(DomImplementation 中的写访问冲突)。
修复了错误
#79271
(DOMDocumentType::$childNodes 为 NULL)。
Enchant
修复了错误
#79311
(enchant_dict_suggest() 在大端架构上失败)。
EXIF
修复了错误
#79282
(exif 中使用未初始化的值)。(CVE-2020-7064)
MBstring
修复了错误
#79371
(mb_strtolower (UTF-32LE):php_unicode_tolower_full 中的堆栈缓冲区溢出)。(CVE-2020-7065)
MySQLi
修复了错误
#64032
(mysqli 报告不同的 client_version)。
PCRE
修复了错误
#79188
(preg_replace/preg_replace_callback 和 unicode 中的内存损坏)。
PDO_ODBC
修复了错误
#79038
(PDOStatement::nextRowset() 泄漏列值)。
Reflection
修复了错误
#79062
(具有 heredoc 默认值的属性对 getDocComment 返回 false)。
SQLite3
修复了错误
#79294
(::columnType() 可能会在 SQLite3Stmt::reset() 后失败)。
标准
修复了错误
#79329
(get_headers() 在空字节后静默截断)。(CVE-2020-7066)
修复了错误
#79254
(没有参数的 getenv() 未显示更改)。
修复了错误
#79265
(使用 fopen 进行 http 请求时,主机头的注入不当)。
版本 7.3.15
2020 年 2 月 20 日
核心
修复了错误
#71876
(内存损坏 htmlspecialchars(): 字符集“*”不受支持)。
修复了错误
#79146
(cscript 可能会在某些系统上运行失败)。
修复了错误
#78323
(在无效选项上返回代码 0)。
修复了错误
#76047
(访问已销毁的反向跟踪参数时出现使用后释放错误)。
CURL
修复了错误
#79078
(curl_multi_add_handle() 中存在假设的使用后释放错误)。
Intl
修复了错误
#79212
(NumberFormatter::format() 可能会检测到错误的类型)。
Libxml
修复了错误
#79191
(SoapClient 构造函数中的错误会禁用 DOMDocument::save())。
MBString
修复了错误
#79154
(mb_convert_encoding() 可以修改 $from_encoding)。
MySQLnd
修复了错误
#79084
(mysqlnd 可能会使用 MYSQLI_BOTH 获取错误的列索引)。
OpenSSL
修复了错误
#79145
(openssl 内存泄漏)。
Phar
修复了错误
#79082
(使用 Phar::buildFromIterator 添加到 tar 的文件具有所有访问权限)。(CVE-2020-7063)
修复了错误
#79171
(phar_extract_file 中的堆缓冲区溢出)。(CVE-2020-7061)
修复了错误
#76584
(PharFileInfo::decompress 不起作用)。
Reflection
修复了错误
#79115
(ReflectionClass::isCloneable 调用反射类的 __destruct)。
Session
修复了错误
#79221
(PHP 会话上传进度中的空指针取消引用)。(CVE-2020-7062)
SPL
修复了错误
#79151
(由 spl_dllist_it_helper_move_forward 引起的释放后使用堆)。
标准
修复了错误
#78902
(使用 stream_filter_append 时出现内存泄漏)。
测试
修复了错误
#78090
(bug45161.phpt 需要很长时间才能完成)。
XSL
修复了错误
#70078
(将节点作为参数的 XSL 回调会泄漏内存)。
版本 7.3.14
2020 年 1 月 23 日
核心
修复了错误
#78999
(使用函数结果作为临时变量时出现循环泄漏)。
CURL
修复了错误
#79033
(使用特定 url 和 post 时出现 Curl 超时错误)。
日期
修复了错误
#79015
(php_date.c 中的未定义行为)。
DBA
修复了错误
#78808
([LMDB] MDB_MAP_FULL:环境映射大小限制已达)。
Fileinfo
修复了错误
#74170
(mime_content_type 后本地化信息更改)。
GD
修复了错误
#78923
(使用透明度卷积图像时出现伪影)。
修复了错误
#79067
(gdTransformAffineCopy() 可能会使用未初始化的值)。
修复了错误
#79068
(gdTransformAffineCopy() 更改了插值方法)。
Libxml
修复了错误
#79029
(XMLReader/XMLWriter 中存在 Use After Free)。
Mbstring
修复了错误
#79037
(`mbfl_filt_conv_big5_wchar` 中存在全局缓冲区溢出)。(CVE-2020-7060)
OPcache
修复了错误
#79040
(由于 ASLR,警告操作码处理程序无法使用)。
Pcntl
修复了错误
#78402
(在错误消息中将 null 转换为字符串是不好的 DX)。
PDO_PgSQL
修复了错误
#78983
(pdo_pgsql config.w32 找不到 libpq-fe.h)。
修复了错误
#78980
(pgsqlGetNotify() 忽略了失效的连接)。
修复了错误
#78982
(pdo_pgsql 返回失效的持久连接)。
Session
修复了错误
#79091
(session_create_id() 中存在堆使用后释放)。
Shmop
修复了错误
#78538
(shmop 内存泄漏)。
标准
修复了错误
#79099
(php_strip_tags_ex 中存在越界读取)。(CVE-2020-7059)
修复了错误
#54298
(使用空的 additional_headers 会添加多余的 CRLF)。
版本 7.3.13
2019 年 12 月 18 日
Bcmath
修复了错误
#78878
(bc_shift_addsub 中的缓冲区下溢)。(CVE-2019-11046)
核心
修复了错误
#78862
(link() 在 Windows 上在空字节后静默截断)。(CVE-2019-11044)
修复了错误
#78863
(DirectoryIterator 类在空字节后静默截断)。(CVE-2019-11045)
修复了错误
#78943
(mail() 可能会释放引用计数为 1 的字符串两次)。(CVE-2019-11049)
修复了错误
#78787
(使用特性覆盖继承的私有影子属性时出现段错误)。
修复了错误
#78868
(使用不正确的 EG(fake_scope) 值调用 __autoload())。
修复了错误
#78296
(is_file 无法检测文件)。
EXIF
修复了错误
#78793
(exif 解析中的内存清理器下的释放后使用)。(CVE-2019-11050)
修复了错误
#78910
(exif 中的堆缓冲区溢出读取)(CVE-2019-11047)。
GD
修复了错误
#78849
(使用 -D SIGNED_COMPARE_SLOW 构建 GD 时出现错误)。
MBString
将捆绑的 Oniguruma 升级到 6.9.4。
OPcache
修复了潜在的与 ASLR 相关的无效操作码处理程序问题。
修复了 $x = (bool)$x; 与 opcache(应发出未声明变量通知)。
PCRE
修复了错误
#78853
(preg_match() 可能会返回大于 1 的整数)。
标准
修复了错误
#78759
($GLOBALS 中的 array_search)。
修复了错误
#77638
(var_export 特定类实例时出现段错误)。
修复了错误
#78840
(对 $GLOBALS 进行 implode 操作会导致崩溃)。
修复了错误
#78833
(pack 中的整数溢出导致越界访问)。
修复了错误
#78814
(strip_tags 允许标签名称中的 / => 白名单绕过)。
版本 7.3.12
2019年11月21日
核心
修复了错误
#78658
(使用 Closure::bindTo 时出现内存损坏)。
修复了错误
#78656
(解析错误被归类为最高日志级别)。
修复了错误
#78752
(如果在生成器堆栈帧被销毁时触发 GC,则会发生段错误)。
修复了错误
#78689
(Closure::fromCallable() 不处理 [Closure, '__invoke'])。
COM
修复了错误
#78694
(追加到变体数组会导致段错误)。
日期
修复了错误
#70153
(\DateInterval 反序列化错误)。
修复了错误
#78751
(序列化 DatePeriod 会转换 DateTimeImmutable)。
Iconv
修复了错误
#78642
(显示的 libiconv 版本错误)。
OpCache
修复了错误
#78654
(对包含非 ASCII 字符的文件错误计算 opcache 校验和)。
修复了错误
#78747
(OpCache 破坏了自定义扩展的结果)。
OpenSSL
修复了错误
#78775
(来自 HTTP 请求的 TLS 问题影响其他加密连接)。
Reflection
修复了错误
#78697
(ReflectionClass::ImplementsInterface - 使用特性时错误信息不准确)。
Sockets
修复了错误
#78665
(多播可能会导致内存泄漏)。
版本 7.3.11
2019年10月24日
核心
修复了错误
#78535
(auto_detect_line_endings 值未解析为布尔值)。
修复了错误
#78620
(内存不足错误)。
Exif
修复了错误
#78442
(从 PHP7 开始,exif_read_data 上的“非法组件”)(Kalle)
FPM
修复了错误
#78599
(fpm_main.c 中的 env_path_info 下溢可能导致 RCE)。(CVE-2019-11043)
修复了错误
#78413
(fastcgi_finish_request 后 request_terminate_timeout 不会生效)。
MBString
修复了错误
#78633
(mb_eregi 中的堆缓冲区溢出(读取))。
修复了错误
#78579
(mb_decode_numericentity:参数数量不一致)。
修复了错误
#78609
(mb_check_encoding() 不再支持可字符串化的对象)。
MySQLi
修复了错误
#76809
(使用持久连接时不尊重 SSL 设置)。
Mysqlnd
修复了错误
#78525
(在重用本机预处理语句时,pdo 中的内存泄漏)。
PCRE
修复了错误
#78272
(在 pcntl_fork() 之前调用 preg_match() 将冻结子进程)。
PDO_MySQL
修复了错误
#78623
(由“SP 调用产生额外的空结果集”引起的回归)。
Session
修复了错误
#78624
(用户定义的会话处理程序的 session_gc 返回值)。
标准
修复了错误
#76342
(file_get_contents 等待两次指定的超时时间)。
修复了错误
#78612
(当使用整数键且主题字符串较短时,strtr 会泄漏内存)。
修复了错误
#76859
(如果与数据生成过滤器一起使用,stream_get_line 会跳过数据)。
Zip
修复了错误
#78641
(addGlob 可以修改给定的 remove_path 值)。
版本 7.3.10
2019年9月26日
核心
修复了错误
#78220
(无法访问 OneDrive 文件夹)。
修复了错误
#77922
(在继承的影子属性上双重释放文档注释)。
修复了错误
#78441
(由于 heredoc 标识符后跟数字导致解析错误)。
修复了错误
#77812
(交互模式不支持 PHP 7.3 风格的 heredoc)。
FastCGI
修复了错误
#78469
(在 Windows 上使用命名管道时,不会调用 FastCGI on_accept 钩子)。
FPM
修复了错误
#78334
(fpm 日志前缀消息包含错误的标准输出/标准错误符号)。
Intl
确保在请求时,使用 idn_to_ascii() 和 idn_to_utf8() 使用 IDNA2003 规则。
MBString
修复了错误
#78559
(mb_eregi 中的堆缓冲区溢出)。
MySQLnd
修复了 connect_attr 问题并添加了 _server_host 连接属性。
ODBC
修复了错误
#78473
(odbc_close() 关闭任意资源)。
PDO_MySQL
修复了错误
#41997
(SP 调用产生额外的空结果集)。
sodium
修复了错误
#78510
(sodium_crypto_generichash_init() 返回的部分未初始化缓冲区)。
版本 7.3.9
2019年8月29日
核心
修复了错误
#78363
(zendparse 中的缓冲区溢出)。
修复了错误
#78379
(转换为对象会混淆 GC,导致崩溃)。
修复了错误
#78412
(生成器错误地将不可释放的 $this 报告为 GC 子项)。
Curl
修复了错误
#77946
(curl_multi_info_read() 返回的错误 cURL 资源)。
Exif
修复了错误
#78333
(由于错误的对齐和无效的转换导致 Exif 崩溃(总线错误))。
FPM
修复了错误
#77185
(FPM 主事件处理中的释放后使用)。
Iconv
修复了错误
#78342
(iconv //IGNORE 的配置测试中出现总线错误)。
LiteSpeed
更新到 LiteSpeed SAPI V7.5(修复了干净关机)。
MBString
修复了错误
#78380
(Oniguruma 6.9.3 修复了 CVE)。(CVE-2019-13224)
MySQLnd
修复了错误
#78179
(MariaDB 服务器版本检测错误)。
修复了错误
#78213
(空行存储)。
Opcache
修复了错误
#77191
(在使用静默时,dce_live_ranges() 中的断言失败)。
标准
修复了错误
#69100
(使用无效长度的 stream_copy_to_stream (文件 -> SSL 流) 导致总线错误)。
修复了错误
#78282
(atime 和 mtime 不匹配)。
修复了错误
#78326
(在使用固定长度缓冲区的 stream_get_contents() 上内存分配不当)。
修复了错误
#78346
(strip_tags 不再处理嵌套的 php 标签)。
版本 7.3.8
2019年8月1日
核心
添加了 syslog.filter=raw 选项。
修复了错误
#78212
(内置 Web 服务器中出现段错误)。
日期
修复了错误
#69044
(时间和微秒时间之间存在差异)。
将 timelib 更新至 2018.02。
EXIF
修复了错误
#78256
(exif_process_user_comment 上存在堆缓冲区溢出)。(CVE-2019-11042)
修复了错误
#78222
(exif_scan_thumbnail 上存在堆缓冲区溢出)。(CVE-2019-11041)
FTP
修复了错误
#78039
(使用 SSL 的 FTP 内存泄漏)。
Libxml
修复了错误
#78279
(libxml_disable_entity_loader 设置在请求之间共享(cgi-fcgi))。
LiteSpeed
更新到 LiteSpeed SAPI V7.4.3(将响应头计数限制从 100 增加到 1000,添加了崩溃处理程序以干净地关闭 PHP 请求,添加了 CloudLinux mod_lsapi 模式)。
修复了错误
#76058
(在“POST 数据无法缓冲”之后,使用 php://input 会创建巨大的临时文件)。
Openssl
修复了错误
#78231
(导出套接字到流的 stream_socket_accept 出现段错误)。
Opcache
修复了错误
#78341
(DFA 传递中未能检测到智能分支)。
修复了错误
#78189
(文件缓存删除了 uname 哈希的最后一个字符)。
修复了错误
#78202
(缓存命中的 Opcache 统计信息上限为 32 位 NUM)。
修复了错误
#78271
(if-else 的结果无效)。
修复了错误
#78291
(opcache_get_configuration 未列出所有指令)。
PCRE
修复了错误
#78338
(PCRE 中的数组越界读取)。
修复了错误
#78197
(configure 中的 PCRE2 版本检查对于“##.##-xxx”版本字符串失败)。
PDO_Sqlite
修复了错误
#78192
(架构更改后重用语句时出现段错误)。
Phar
修复了错误
#77919
(Phar RSHUTDOWN 中潜在的 UAF)。
Phpdbg
修复了错误
#78297
(包含不存在的文件内存泄漏)。
SQLite
升级到 SQLite 3.28.0。
标准
修复了错误
#78241
(touch() 在 64 位 PHP 中无法处理 2038 年后的日期)。
修复了错误
#78269
(password_hash 对 argon2 使用弱选项)。
版本 7.3.7
2019年7月4日
核心
修复了错误
#76980
(如果自动加载器抛出异常,则会跳过接口)。
DOM
修复了错误
#78025
(访问 DOMDocumentType 的属性时发生段错误)。
MySQLi
修复了错误
#77956
(当 mysqli.allow_local_infile = Off 时,使用有意义的错误消息)。
修复了错误
#38546
(bindParam 对布尔类型的处理不正确)。
MySQLnd
修复了错误
#77955
(来自 php-fpm 的 mysqlnd 中的随机分段错误)。
Opcache
修复了错误
#78015
(在 SCCP 中,对包含部分数组的表达式的评估不正确)。
修复了错误
#78106
(如果请求期间禁用 opcache,则路径解析失败)。
OpenSSL
修复了错误
#78079
(openssl_encrypt_ccm.phpt 在 OpenSSL 1.1.1c 下失败)。
phpdbg
修复了错误
#78050
(SegFault phpdbg + opcache 在包含文件两次时)。
Sockets
修复了错误
#78038
(当资源数组包含引用时,Socket_select 失败)。
Sodium
修复了错误
#78114
(从 eval 调用 sodium_* 函数时发生段错误)。
标准
修复了错误
#77135
(带有 EXTR_SKIP 的 Extract 应该跳过 $this)。
修复了错误
#77937
(preg_match 失败)。
Zip
修复了错误
#76345
(未找到 zip.h)。
版本 7.3.6
2019年5月30日
cURL
实现了 FR
#72189
(添加缺少的 CURL_VERSION_* 常量)。
日期
修复了错误
#77909
(DatePeriod::__construct() 使用无效的重复次数值)。
EXIF
修复了错误
#77988
(php_jpg_get16 上的堆缓冲区溢出)(CVE-2019-11040)。
FPM
修复了错误
#77934
(php-fpm kill -USR2 不起作用)。
修复了错误
#77921
(static.php.net 不再工作)。
GD
修复了错误
#77943
(imageantialias($image, false); 不起作用)。
修复了错误
#77973
(gdImageCreateFromXbm 中的未初始化读取)(CVE-2019-11038)。
Iconv
修复了错误
#78069
(由于整数溢出导致 iconv.c:_php_iconv_mime_decode() 中的越界读取)(CVE-2019-11039)。
JSON
修复了错误
#77843
(使用 json 序列化程序后释放)。
Opcache
修复了由于 PCRE 缓存和 opcache SHM 重置不一致导致的潜在崩溃。
PDO_MySQL
修复了错误
#77944
(LLP64 上 bigint 的错误元 pdo_type)。
Reflection
修复了错误
#75186
(Closure:::__invoke() 的反射不一致)。
Session
修复了错误
#77911
(session.sid_bits_per_character 的错误警告)。
SOAP
修复了错误
#77945
(使用 WSDL_CACHE_BOTH 构造 SoapClient 时发生分段错误)。
SPL
修复了错误
#77024
(SplFileObject::__toString() 可能会返回数组)。
SQLite
修复了错误
#77967
(通过文件 URI 绕过 open_basedir 限制)。
标准
修复了错误
#77931
(array_map 的警告提到了错误的类型)。
修复了错误
#78003
(自 PHP 7.3 以来,strip_tags 输出更改)。
版本 7.3.5
2019年5月2日
核心
修复了错误
#77903
(ArrayIterator 在 offsetSet 调用后停止迭代)。
CLI
修复了错误
#77794
(内置服务器中的错误日期标头格式)。
EXIF
修复了错误
#77950
(_estrndup 通过 exif_process_IFD_TAG 导致堆缓冲区溢出)(CVE-2019-11036)。
Interbase
修复了错误
#72175
(无法使用 php 7.x 创建多个 Interbase 连接)。
Intl
修复了错误
#77895
(如果 $locale = null,则 IntlDateFormatter::create 在严格模式下失败)。
litespeed
LiteSpeed SAPI 7.3.1,更好的进程管理,新的 API 函数 litespeed_finish_request()。
LDAP
修复了错误
#77869
(使用服务器控件时发生核心转储)(mcmic)
Mail
修复了错误
#77821
(TSendMail() 中潜在的堆损坏)。
mbstring
实现了 FR
#72777
(为 mbregex 函数实现正则表达式堆栈限制)。
MySQLi
修复了错误
#77773
(未缓冲的查询泄漏内存 - MySQLi / mysqlnd)。
PCRE
修复了错误
#77827
(preg_match 不忽略正则表达式标志中的 \r)。
PDO
修复了错误
#77849
(禁用 PDO 处理程序/连接对象的克隆)。
phpdbg
修复了错误
#76801
(打开的文件过多)。
修复了错误
#77800
(phpdbg 在列出某些条件断点时出现段错误)。
修复了错误
#77805
(当 readline 为共享时,phpdbg 构建失败)。
Reflection
修复了错误
#77772
(ReflectionClass::getMethods(null) 不起作用)。
修复了错误
#77882
(不同的行为:始终调用析构函数)。
标准
修复了错误
#77793
(在 extract() 中用自身覆盖引用时发生分段错误)。
修复了错误
#77844
(使用 INI_SCANNER_TYPED 的 parse_ini_string 中的空指针导致崩溃)。
修复了错误
#77853
(使用空干草堆时,substr_compare 行为不一致)。
版本 7.3.4
2019年4月4日
核心
修复了错误
#77738
(zend_compile_expr 中的空指针解除引用)。
修复了错误
#77660
(在 break 2147483648 上发生分段错误)。
修复了错误
#77652
(匿名类可能会丢失其接口信息)。
修复了错误
#77345
(垃圾回收中的循环引用导致堆栈溢出)。
修复了错误
#76956
(php.ini 中记录的 'syslog.filter' 值错误)。
Apache2Handler
修复了错误
#77648
(sapi/apache2handler/php_functions.c 中的 BOM)。
Bcmath
修复了错误
#77742
(bcpow() 实现与 gcc 编译器优化相关)。
CLI 服务器
修复了错误
#77722
(在本地主机上将错误的 IP 设置为 $_SERVER['REMOTE_ADDR'])。
COM
修复了错误
#77578
(php 卸载时崩溃)。
EXIF
修复了错误
#77753
(php_ifd_get32s 中的堆缓冲区溢出)。(CVE-2019-11034)
修复了错误
#77831
(exif_iif_add_value 中的堆缓冲区溢出)。(CVE-2019-11035)
FPM
修复了错误
#77677
(由于缺少 WCOREDUMP,FPM 无法在 AIX 上构建)。
GD
修复了错误
#77700
(将真彩色图像写为 GIF 时会忽略交错标志)。
MySQLi
修复了错误
#77597
(mysqli_fetch_field 使脚本挂起)。
Opcache
修复了错误
#77743
(对于具有相同后继的 jmpznz,PI 节点插入不正确)。
PCRE
修复了错误
#76127
(preg_split 在无效的 UTF-8 上不会引发错误)。
Phar
修复了错误
#77697
(在大端平台上崩溃)。
phpdbg
修复了错误
#77767
(phpdbg break 命令别名在帮助中列出与实际别名不匹配)。
sodium
修复了错误
#77646
(sign_detached() 字符串未终止)。
SQLite3
添加了 sqlite3.defensive INI 指令。
标准
修复了错误
#77664
(在自定义包装器中使用未定义常量时发生分段错误)。
修复了错误
#77669
(在覆盖提取数组时,extract() 中崩溃)。
修复了错误
#76717
(var_export() 不会为 PHP_INT_MIN 创建可解析的值)。
修复了错误
#77765
(FTP 流包装器应将目录设置为可执行)。
版本 7.3.3
2019 年 3 月 7 日
核心
修复了错误
#77589
(使用带数字部分的 parse_ini_string 时核心转储)。
修复了错误
#77329
(通过过长的错误消息导致缓冲区溢出)。
修复了错误
#77494
(禁用类会导致成员访问时发生段错误)。
修复了错误
#77498
(在声明静态属性时,自定义扩展分段错误)。
修复了错误
#77530
(解析 `(2)::class` 时 PHP 崩溃)。
修复了错误
#77546
(iptcembed 函数损坏)。
修复了错误
#77630
(跨设备的 rename() 可能会在处理过程中允许意外访问)。(CVE-2019-9637)
COM
修复了错误
#77621
(未正确报告已定义的常量)。
修复了错误
#77626
(php_com_import_typelib() 中的持久性混淆)。
EXIF
修复了错误
#77509
(exif_process_IFD_in_TIFF 中的未初始化读取)。(CVE-2019-9641)
修复了错误
#77540
(exif_process_SOFn 上的无效读取)。(CVE-2019-9640)
修复了错误
#77563
(exif_process_IFD_in_MAKERNOTE 中的未初始化读取)。(CVE-2019-9638)
修复了错误
#77659
(exif_process_IFD_in_MAKERNOTE 中的未初始化读取)。(CVE-2019-9639)
Mbstring
修复了错误
#77514
(mb_ereg_replace() 带有尾随反斜杠会添加空字节)。
MySQL
默认情况下禁用 LOCAL INFILE,可以使用 php.ini 指令 mysqli.allow_local_infile 启用 mysqli,或使用 pdo_mysql 的 PDO::MYSQL_ATTR_LOCAL_INFILE 属性启用。
OpenSSL
修复了错误
#77390
(在分段 TLS 记录的情况下,feof 可能会挂起 TLS 流)。
PDO_OCI
支持 Oracle 数据库跟踪属性 ACTION、MODULE、CLIENT_INFO 和 CLIENT_IDENTIFIER。
PHAR
修复了错误
#77396
(phar_create_or_parse_filename 中的空指针取消引用)。
修复了错误
#77586
(phar_tar_writeheaders_int() 缓冲区溢出)。
phpdbg
修复了错误
#76596
(phpdbg 对 display_errors=stderr 的支持)。
SPL
修复了错误
#51068
(DirectoryIterator glob:// 不支持当前路径相对查询)。
修复了错误
#77431
(openFile() 在空字节后静默截断)。
标准
修复了错误
#77552
(stat 函数中的未初始化 php_stream_statbuf)。
修复了错误
#77612
(如果 setcookie() 的所有选项都已填充,则会设置不正确的 SameSite 标头)。
版本 7.3.2
2019 年 2 月 7 日
核心
修复了错误
#77369
(通过精心制作的 DNS 响应使用负长度的 memcpy)。(CVE-2019-9022)
修复了错误
#77387
(打印 GLOBALS 时递归检测损坏)。
修复了错误
#77376
(“未定义函数”消息不再包含命名空间)。
修复了错误
#77357
(base64_encode/base64_decode 在嵌套 VM 上不起作用)。
修复了错误
#77339
(__callStatic 可能会获取错误的参数)。
修复了错误
#77317
(__DIR__、__FILE__、realpath() 揭示 subst 虚拟驱动器的物理路径)。
修复了错误
#77263
(使用 2 个 RecursiveFilterIterator 时发生段错误)。
修复了错误
#77447
(使用 ASAN 构建的 PHP 7.3 在 zend_cpu_supports_avx2 中崩溃)。
修复了错误
#77484
(在无效的工作目录中调用 realpath 时,Zend 引擎崩溃)。
Curl
修复了错误
#76675
(使用 H2 服务器推送时发生段错误)。
Fileinfo
修复了错误
#77346
(webm 文件被错误地检测为 application/octet-stream)。
FPM
修复了错误
#77430
(php-fpm 在 Main process exited, code=dumped, status=11/SEGV 时崩溃)。
GD
修复了错误
#73281
(imagescale(…, IMG_BILINEAR_FIXED) 可能会导致黑色边框)。
修复了错误
#73614
(gdImageFilledArc() 未正确绘制扇形)。
修复了错误
#77272
(imagescale() 可能会在失败时返回图像资源)。
修复了错误
#77391
(1bpp BMP 可能无法加载)。
修复了错误
#77479
(imagewbmp() 在图像非常大时发生段错误)。
ldap
修复了错误
#77440
(使用 ldaps 或 ldap_start_tls()=exception in libcrypto-1_1-x64.dll 的 ldap_bind)。
Mbstring
修复了错误
#77428
(mb_ereg_replace() 不会替换替换变量)。
修复了错误
#77454
(mb_scrub() 在空字节后静默截断)。
MySQLnd
修复了错误
#77308
(未缓冲查询内存泄漏)。
修复了错误
#75684
(在 mysqlnd_ext_plugin.h 中,插件方法族没有外部可见性)。
Opcache
修复了错误
#77266
(dce_live_ranges 中断言失败)。
修复了错误
#77257
(在 switch() 构造中分配的变量的值丢失)。
修复了错误
#77434
(php-fpm 工作进程在 zend_gc_addre 中发生段错误)。
修复了错误
#77361
(启用 opcache 时,64 位 AIX 上的配置失败)。
修复了错误
#77287
(Opcache 字面量压缩与 EXT 操作码不兼容)。
PCRE
修复了错误
#77338
(使用空字符串的 get_browser)。
PDO
修复了错误
#77273
(array_walk_recursive 破坏值类型导致 PDO 失败)。
PDO MySQL
修复了错误
#77289
(PDO MySQL 在持久连接时发生段错误)。
SOAP
修复了错误
#77410
(执行带空参数的方法时发生分段错误)。
Sockets
修复了错误
#76839
(socket_recvfrom 可能会在 MacOS 上返回无效的“from”地址)。
SPL
修复了错误
#77298
(在为反序列化的空 ArrayObject 添加属性时发生段错误)。
标准
修复了错误
#77395
(关于 array_multisort 的段错误)。
修复了错误
#77439
(在将项目插入现有数组时,parse_str 发生段错误)。
版本 7.3.1
2019 年 1 月 10 日
核心
修复了错误
#76654
(在 32 位 Intel 的 Mac OS X 上构建失败)。
修复了错误
#71041
(zend_signal_startup() 需要 ZEND_API)。
修复了错误
#76046
(PHP 在错误的行上生成“FE_FREE”操作码)。
修复了错误
#77291
(从特征继承的魔术方法可能会被忽略)。
CURL
修复了错误
#77264
(curl_getinfo 返回微秒而不是秒)。
COM
修复了错误
#77177
(序列化或反序列化 COM 对象会导致崩溃)。
Exif
修复了错误
#77184
(无符号有理数被写成有符号有理数)。
GD
修复了错误
#77195
(imagecreatefromjpeg() 的错误处理不正确)。
修复了错误
#77198
(自动裁剪精度不足)。
修复了错误
#77200
(imagecropauto(…, GD_CROP_SIDES) 裁剪左侧但不裁剪右侧)。
修复了错误
#77269
(imagescale 中未初始化的堆数据的 efree() 导致使用后释放)。(CVE-2016-10166)
修复了错误
#77270
(imagecolormatch 堆上越界写入)。(CVE-2019-6977)
MBString
修复了错误
#77367
(mb_split 中的负大小参数)。(CVE-2019-9025)
修复了错误
#77370
(mb 正则表达式函数中的缓冲区溢出 - fetch_token)。(CVE-2019-9023)
修复了错误
#77371
(mb 正则表达式函数中的堆缓冲区溢出 - compile_string_node)。(CVE-2019-9023)
修复了错误
#77381
(多字节 match_at 中的堆缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77382
(由于 expand_case_fold_string 中的长度不正确导致的堆缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77385
(fetch_token 中的缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77394
(多字节大小写折叠中的缓冲区溢出 - unicode)。(CVE-2019-9023)
修复了错误
#77418
(utf32be_mbc_to_code 中的堆溢出)。(CVE-2019-9023)
OCI8
修复了错误
#76804
(使用 OCI_CRED_EXT 的 oci_pconnect 不起作用)。
添加了 oci_set_call_timeout() 用于调用超时。
添加了 oci_set_db_operation() 用于 DBOP 端到端跟踪属性。
Opcache
修复了错误
#77215
(在一个块中多次最终化开关释放时,CFG 断言失败)。
修复了错误
#77275
(ArrayAccess->offsetGet 的 OPcache 优化问题)。
PCRE
修复了错误
#77193
(preg_replace_callback 中的无限循环)。
PDO
将传递给 PDOStatement::fetchColumn() 的无效索引处理为错误。
Phar
修复了错误
#77247
(phar_detect_phar_fname_ext 中的堆缓冲区溢出)。(CVE-2019-9021)
Soap
修复了错误
#77088
(使用带空选项的 SoapClient 时发生段错误)。
Sockets
修复了错误
#77136
(macOS 上不支持 IPV6_RECVPKTINFO 常量)。
Sodium
修复了错误
#77297
(SodiumException 在 PHP 7.3 上发生段错误)。
SPL
修复了错误
#77359
(spl_autoload 导致段错误)。
修复了错误
#77360
(class_uses 导致段错误)。
SQLite3
修复了错误
#77051
(SQLite3 上的重新绑定问题)。
Xmlrpc
修复了错误
#77242
(xmlrpc_decode() 中的堆越界读取)。(CVE-2019-9020)
修复了错误
#77380
(xmlrpc base64 代码中的全局越界读取)。(CVE-2019-9024)
版本 7.3.0
2018 年 12 月 6 日
核心
改进了 PHP GC。
重新设计了用 PHP 编写的旧 ext_skel 程序,运行:'php ext_skel.php' 以获取所有选项。这意味着没有依赖项,因此可以在 Windows 上开箱即用。
删除了对 BeOS 的支持。
将 PHP_VERSION 添加到 phpinfo() <title/> 中。
添加了 net_get_interfaces()。
实现了灵活的 heredoc 和 nowdoc 语法,根据 RFC https://wiki.php.net/rfc/flexible_heredoc_nowdoc_syntaxes。
添加了对 list() 和数组解构中引用的支持,根据 RFC https://wiki.php.net/rfc/list_reference_assignment。
提高了 NetBSD 和没有类似原生功能的系统上 ZEND_SECURE_ZERO 的有效性。
添加了 syslog.facility 和 syslog.ident INI 条目,用于自定义 syslog 日志记录。
修复了错误
#75683
(在 ZTS 模式下,zend_register_functions() 中的内存泄漏)。
修复了错误
#75031
(支持 temp/memory 流中的追加模式)。
修复了错误
#74860
(当 error_log 设置为“syslog”时,未捕获的异常格式不正确)。
修复了错误
#75220
(在父级上调用 is_callable 时发生段错误)。
修复了错误
#69954
(分布式 ini 文件中的损坏链接和未使用配置项)。
修复了错误
#74922
(组合类在具有重复的、相等的常量属性时出现致命错误)。
修复了错误
#63911
(相同的 Trait 方法在组合期间引发错误)。
修复了错误
#75677
(Clang 忽略可变参数函数上的 fastcall 调用约定)。
修复了错误
#54043
(消除内部异常和用户定义异常的不一致性)。
修复了错误
#53033
(数学运算将对象转换为整数)。
修复了错误
#73108
(内部类转换处理程序使用整数而不是浮点数)。
修复了错误
#75765
(当找不到基类时,出现致命错误而不是 Error 异常)。
修复了错误
#76198
(措辞:“iterable”不是标量类型)。
修复了错误
#76137
(config.guess/config.sub 未识别 RISC-V)。
修复了错误
#76427
(zend_objects_store_put 中出现段错误)。
修复了错误
#76422
(ftruncate 在大于 2GB 的文件上失败)。
修复了错误
#76509
(继承的静态属性可以通过引用与父类不同步)。
修复了错误
#76439
(未关闭的 HereDoc 中的行为发生了变化)。
修复了错误
#63217
(用作 ArrayAccess 偏移量的常量数字字符串变为整数)。
修复了错误
#33502
(某些无参数函数不检查参数数量)。
修复了错误
#76392
(错误重新定位 sapi/cli/php:不支持的重定位类型 37)。
不区分大小写的常量的声明和使用已弃用。
添加了 syslog.filter INI 条目以进行 syslog 过滤。
修复了错误
#76667
(使用除法赋值运算符和 __get + __set 时出现段错误)。
修复了错误
#76030
(RE2C_FLAGS 很少被遵守)(Cristian Rodríguez)。
修复了损坏的 zend_read_static_property(Laruence)。
修复了错误
#76773
(在父类上使用的 Trait 被子类忽略)。
修复了错误
#76767
(“asm”操作数在 zend_operators.h 中具有不可能的约束)。
修复了错误
#76752
(ZEND_COALESCE_SPEC_TMP_HANDLER 中崩溃 - _get_zval_ptr_tmp 中的断言失败)。
修复了错误
#76820
(Z_COPYABLE 定义无效)。
修复了错误
#76510
(file_exists() 停止对 phar:// 工作)。
修复了错误
#76869
(错误绕过受保护的方法访问权限检查)。
修复了错误
#72635
(类常量中使用的未定义类在 constexpr 中生成致命错误)。
修复了错误
#76947
(file_put_contents() 阻塞文件的目录(__DIR__))。
修复了错误
#76979
(define() 错误消息未提及资源作为有效值)。
修复了错误
#76825
(未定义符号 ___cpuid_count)。
修复了错误
#77110
(C++ 构建中未定义符号 zend_string_equal_val)。
修复了错误
#77231
(使用 convert.quoted-printable-encode 过滤器时出现段错误)。
BCMath
实现了 FR
#67855
(无法获取当前使用的比例)。
修复了错误
#66364
(BCMath bcmul 忽略 scale 参数)。
修复了错误
#75164
(split_bc_num() 毫无意义)。
修复了错误
#75169
(BCMath 错误/警告绕过 PHP 的错误处理)。
CLI
修复了错误
#44217
(在 stdout/stderr 关闭后输出会导致立即以状态 0 退出)。
修复了错误
#77111
(php-win.exe 损坏来自 cli 参数的 unicode 符号)。
cURL
公开 curl 7.50 到 7.61 的 curl 常量。
修复了错误
#74125
(修复在具有多架构支持的系统上查找 CURL)。
日期
实现了 FR
#74668
:添加 DateTime::createFromImmutable() 方法。
修复了错误
#75222
(DateInterval 微秒属性始终为 0)。
修复了错误
#68406
(对 DateTimeZone 对象调用 var_dump 会修改它)。
修复了错误
#76131
(date_create 的 arginfo 不匹配)。
将 timelib 更新到 2018.01RC1 以解决多个错误。
修复了错误
#75577
(DateTime::createFromFormat 不接受“v”格式说明符)。
修复了错误
#75642
(微秒的环绕行为不起作用)。
修复了错误
#77097
(当实际差值小于 1 秒时,DateTime::diff 给出错误的差值)。
DBA
修复了错误
#75264
(发出编译器警告)。
DOM
修复了错误
#76285
(DOMDocument::formatOutput 属性有时会被忽略)。
Fileinfo
修复了错误
#77095
(7.2/7.3 中的性能下降(与 7.1 相比))。
过滤器
添加了“add_slashes”清理模式(FILTER_SANITIZE_ADD_SLASHES)。
FPM
添加了 fpm_get_status 函数。
修复了错误
#62596
(PHP-FPM 缺少 getallheaders())。
修复了错误
#69031
(发送到 stdout/stderr 的长消息被错误地截断) - 添加了新的与日志相关的 FPM 配置选项:log_limit、log_buffering 和 decorate_workers_output。
ftp
修复了错误
#77151
(ftp_close(): 关闭时 SSL_read)。
GD
在 imagecreatefromstring() 中添加了对 WebP 的支持。
GMP
导出 GMP 对象的内部结构和访问器帮助程序。
添加了 gmp_binomial(n, k)。
添加了 gmp_lcm(a, b)。
添加了 gmp_perfect_power(a)。
添加了 gmp_kronecker(a, b)。
iconv
修复了错误
#53891
(iconv_mime_encode() 无法对 UTF-8 字符串进行 Q 编码)。
修复了错误
#77147
(修复 60494 忽略 ICONV_MIME_DECODE_CONTINUE_ON_ERROR)。
IMAP
修复了错误
#77153
(imap_open 允许通过邮箱参数运行任意 shell 命令)。(CVE-2018-19518)
修复了错误
#77020
(imap_mail 中的空指针解引用)。
Interbase
修复了错误
#75453
(ibase_[p]connect 的反射不正确)。
修复了错误
#76443
(php+php_interbase.dll 在 module_shutdown 时崩溃)。
intl
修复了错误
#75317
(UConverter::setDestinationEncoding 更改源而不是目标)。
修复了错误
#76829
(idn_to_utf8() 函数对域的验证不正确)。
JSON
添加了 JSON_THROW_ON_ERROR 标志。
LDAP
添加了 ldap_exop_refresh 帮助程序,用于使用 dds 覆盖的 EXOP REFRESH 操作。
添加了对发送和解析 ldap 控制的完全支持。
修复了错误
#49876
(修复 64 位发行版上的 LDAP 路径查找)。
libxml2
修复了错误
#75871
(在可用时使用 pkg-config)。
litespeed
修复了错误
#75248
(仅构建 litespeed SAPI 时不会创建二进制目录)。
修复了错误
#75251
(缺少程序前缀和后缀)。
MBstring
更新到 Oniguruma 6.9.0。
修复了错误
#65544
(mb 标题大小写转换 - 引号中的第一个单词未大写)。
修复了错误
#71298
(MB_CASE_TITLE 在使用卷曲的撇号/引号时行为异常)。
修复了错误
#73528
(zif_mb_send_mail 中崩溃)。
修复了错误
#74929
(与 5.3 在 Windows 上相比,7.1.1 版本的 mbstring 函数速度较慢)。
修复了错误
#76319
(使用无效的 UTF-8 的 mb_strtolower 导致分段错误)。
修复了错误
#76574
(使用未声明的标识符 INT_MAX 和 LONG_MAX)。
修复了错误
#76594
(由于 zend_ini.c OnUpdateLong 中的未对齐访问导致总线错误)。
修复了错误
#76706
(mbstring.http_output_conv_mimetypes 被忽略)。
修复了错误
#76958
(损坏的 UTF7-IMAP 转换)。
修复了错误
#77025
(mb_strpos 抛出未知编码或转换错误)。
修复了错误
#77165
(当参数给出空数组时,mb_check_encoding 崩溃)。
Mysqlnd
修复了错误
#76386
(预处理语句格式化程序从日期/时间列截断小数秒)。
ODBC
删除了对 ODBCRouter 的支持。
删除了对 Birdstep 的支持。
修复了错误
#77079
(odbc_fetch_object 具有不正确的类型签名)。
Opcache
修复了错误
#76466
(循环变量混淆)。
修复了错误
#76463
(var 具有数组键类型但没有值类型)。
修复了错误
#76446
(zend_variables.c:73: zend_string_destroy: 断言`!(zval_gc_flags((str)->gc))`失败)。
修复了错误
#76711
(启用 OPcache 会触发误报“非法字符串偏移量”)。
修复了错误
#77058
(opcache 中的类型推断会导致副作用)。
修复了错误
#77092
(array_diff_key() - 分段错误)。
OpenSSL
添加了 openssl_pkey_derive 函数。
添加 min_proto_version 和 max_proto_version ssl 流选项,以及与可能的 TLS 协议值相关的常量。
PCRE
实现了 https://wiki.php.net/rfc/pcre2-migration。
将 PCRE2 升级到 10.32。
修复了错误
#75355
(preg_quote() 不会引用 # 控制字符)。
修复了错误
#76512
(\w 不再包含 unicode 字符)。
修复了错误
#76514
(preg_match 中的回归导致它使用 PREG_JIT_STACKLIMIT_ERROR 失败)。
修复了错误
#76909
(7.3 和 < 7.3 之间的 preg_match 差异)。
PDO_DBlib
实现了 FR
#69592
(允许自动跳过 0 列的行集)。
在 \PDO 实例上公开 TDS 版本作为 \PDO::DBLIB_ATTR_TDS_VERSION 属性。
将 DATETIME2 列视为 DATETIME。
修复了错误
#74243
(允许 locales.conf 驱动日期时间格式)。
PDO_Firebird
修复了错误
#74462
(对于 FIREBIRD >= 3.0,PDO_Firebird 仅返回布尔值的 NULL 结果)。
PDO_OCI
修复了错误
#74631
(PHP-FPM 中的 PDO_PCO:在 PHP-FPM 设置 OCI 环境之前初始化它)。
PDO SQLite
添加了对其他打开标志的支持。
pgsql
为 pg_result_error() 添加了新的错误常量:PGSQL_DIAG_SCHEMA_NAME、PGSQL_DIAG_TABLE_NAME、PGSQL_DIAG_COLUMN_NAME、PGSQL_DIAG_DATATYPE_NAME、PGSQL_DIAG_CONSTRAINT_NAME 和 PGSQL_DIAG_SEVERITY_NONLOCALIZED。
修复了错误
#77047
(pg_convert 对“TIME WITHOUT TIMEZONE”数据类型具有错误的正则表达式)。
phar
修复了错误
#74991
(include_path 在某些情况下有 4096 个字符的限制)。
修复了错误
#65414
(在正确添加文件时处理前导斜杠)。
修复了错误
#77022
(PharData 始终以模式 0666 创建新文件)。
修复了错误
#77143
(phar_parse_pharfile 中的堆缓冲区溢出(读取:4))。(CVE-2018-20783)
readline
如果链接到 libreadline,则向 readline_info() 添加了 completion_append_character 和 completion_suppress_append 选项。
Session
修复了错误
#74941
(在发送标头后,会话无法启动)。
SimpleXML
修复了错误
#54973
(SimpleXML 对整数的转换不正确)。
修复了错误
#76712
(空字符串的赋值会创建多余的文本节点)。
Sockets
修复了错误
#67619
(在 socket_write 上验证长度)。
SOAP
修复了错误
#75464
(SoapClient::__setSoapHeaders 的反射错误)。
修复了错误
#70469
(即使使用 exceptions=1,SoapClient 也会生成 E_ERROR)。
修复了错误
#50675
(SoapClient 无法正确处理对象引用)。
修复了错误
#76348
(WSDL_CACHE_MEMORY 导致分段错误)。
修复了错误
#77141
(当 precision=-1 时,SOAP 中的符号问题)。
SPL
修复了错误
#74977
(追加 AppendIterator 会导致段错误)。
修复了错误
#75173
(AppendIterator::append 在 foreach 循环中的行为不正确)。
修复了错误
#74372
(使用语法错误的自动加载文件会使用下一个自动加载器,可能会隐藏解析错误)。
修复了错误
#75878
(RecursiveTreeIterator::setPostfix 具有错误的签名)。
修复了错误
#74519
(AppendIterator 的奇怪行为)。
修复了错误
#76131
(splarray 构造函数的 arginfo 不匹配)。
SQLite3
将捆绑的 libsqlite 更新到 3.24.0。
标准
添加了 is_countable() 函数。
添加了对 SameSite cookie 指令的支持,包括 setcookie()、setrawcookie() 和 session_set_cookie_params() 的备用签名。
删除 inet_ntop()/inet_pton() 中多余的警告。
修复了错误
#75916
(DNS_CAA 记录结果包含垃圾数据)。
修复了 unserialize(),以禁用通过手动制作的字符串创建不受支持的数据结构。
修复了错误
#75409
(除了 ENOSYS 之外,还接受 EFAULT 作为 getrandom() 缺失的指示符)。
修复了错误
#74719
(fopen() 应该接受 NULL 作为上下文)。
修复了错误
#69948
(setcookie 中未对路径/域名进行清理)。
修复了错误
#75996
(mt_rand 标头中的 URL 不正确)。
添加了 hrtime() 函数,以获取高分辨率时间。
修复了错误
#48016
(尽管 var_export() 使用了 stdClass::__setState,但它未定义)。
修复了错误
#76136
(stream_socket_get_name 应该将 IPv6 包含在括号中)。
修复了错误
#76688
(不允许在 options 数组后出现过多的参数)。
修复了错误
#76713
(由属性损坏导致的分段错误)。
修复了错误
#76755
(setcookie 不接受“double”类型作为过期时间)。
修复了错误
#76674
(改进 array_* 失败消息,显示传递的内容而不是数组)。
修复了错误
#76803
(ftruncate 会更改文件指针)。
修复了错误
#76818
(内存损坏和段错误)。
修复了错误
#77081
(ftruncate() 在 c 模式下更改查找指针)。
测试
实现了 FR
#62055
(使 run-tests.php 支持 --CGI-- 部分)。
Tidy
支持使用 tidyp 而不是 tidy。
修复了错误
#74707
(Tidy 对接受 tidy 的函数的 ReflectionFunction 参数计数不正确)。
修复了 tidy::__construct() 的 arginfo。
Tokenizer
修复了错误
#76437
(带有 TOKEN_PARSE 标记的 token_get_all 无法识别结束标记)。
修复了错误
#75218
(将解析的剩余无法捕获的致命错误更改为 ParseError)。
修复了错误
#76538
(带有 TOKEN_PARSE 标记的 token_get_all 无法识别带有换行符的结束标记)。
修复了错误
#76991
(多个无效的灵活 heredoc 字符串的标记不正确)。
XML
修复了错误
#71592
(外部实体处理永远不会失败)。
Zlib
为 compress.zlib 包装器添加了 zlib/level 上下文选项。
版本 7.2.34
2020年10月1日
核心
修复了错误
#79699
(PHP 解析编码的 Cookie 名称,因此可以发送恶意的 `__Host-` Cookie)。(CVE-2020-7070)
OpenSSL
修复了错误
#79601
(对于 12 字节 IV 的 AES-CCM 加密中的密文/标签错误)。(CVE-2020-7069)
版本 7.2.33
2020年8月6日
核心
修复了错误
#79877
(getimagesize 函数在空字节后静默截断)(cmb)
Phar
修复了错误
#79797
(在 phar_parse_zipfile 函数中使用了已释放的哈希键)。(CVE-2020-7068)
版本 7.2.32
2020年7月9日
Windows
使用已修补的 libcurl 重新构建官方 Windows 二进制文件。没有 PHP 源代码更改。
版本 7.2.31
2020年5月14日
核心
修复了错误
#78875
(长文件名导致 OOM 且临时文件未清理)。(CVE-2019-11048)
修复了错误
#78876
(multipart/form-data 中的长变量导致 OOM 且临时文件未清理)。(CVE-2019-11048)
版本 7.2.30
2020 年 4 月 16 日
标准
修复了错误
#79468
(关闭带有附加流过滤器的流句柄时出现 SIGSEGV)。
修复了错误
#79330
(shell_exec() 在空字节后静默截断)。
修复了错误
#79465
(urldecode() 中的 OOB 读取)。
版本 7.2.29
2020 年 3 月 19 日
核心
修复了错误
#79329
(get_headers() 在空字节后静默截断)(CVE-2020-7066)(cmb)
EXIF
修复了错误
#79282
(exif 中的未初始化值使用)(CVE-2020-7064)(Nikita)
版本 7.2.28
2020 年 2 月 20 日
DOM
修复了错误
#77569
:(DomImplementation 中的写访问冲突)。
Phar
修复了错误
#79082
(使用 Phar::buildFromIterator 添加到 tar 的文件具有所有访问权限)。(CVE-2020-7063)
Session
修复了错误
#79221
(PHP 会话上传进度中的空指针取消引用)。(CVE-2020-7062)
版本 7.2.27
2020 年 1 月 23 日
Mbstring
修复了错误
#79037
(`mbfl_filt_conv_big5_wchar` 中存在全局缓冲区溢出)。(CVE-2020-7060)
Session
修复了错误
#79091
(session_create_id() 中存在堆使用后释放)。
标准
修复了错误
#79099
(php_strip_tags_ex 中存在越界读取)。(CVE-2020-7059)
版本 7.2.26
2019 年 12 月 18 日
Bcmath
修复了错误
#78878
(bc_shift_addsub 中的缓冲区下溢)。(CVE-2019-11046)
核心
修复了错误
#78862
(link() 在 Windows 上在空字节后静默截断)。(CVE-2019-11044)
修复了错误
#78863
(DirectoryIterator 类在空字节后静默截断)。(CVE-2019-11045)
EXIF
修复了错误
#78793
(exif 解析中的内存清理器下的释放后使用)。(CVE-2019-11050)
修复了错误
#78910
(exif 中的堆缓冲区溢出读取)。(CVE-2019-11047)
GD
修复了错误
#78849
(使用 -D SIGNED_COMPARE_SLOW 构建 GD 时出现错误)。
Intl
修复了错误
#78804
(Locale::filterMatches 中的分段错误)。
OPcache
修复了 $x = (bool)$x; 与 opcache(应发出未声明变量通知)。
标准
修复了错误
#78759
($GLOBALS 中的 array_search)。
修复了错误
#78833
(pack 中的整数溢出导致越界访问)。
修复了错误
#78814
(strip_tags 允许标签名称中的 / => 白名单绕过)。
版本 7.2.25
2019年11月21日
核心
修复了错误
#78656
(解析错误被归类为最高日志级别)。
修复了错误
#78752
(如果在生成器堆栈帧被销毁时触发 GC,则会发生段错误)。
修复了错误
#78689
(Closure::fromCallable() 不处理 [Closure, '__invoke'])。
COM
修复了错误
#78694
(追加到变体数组会导致段错误)。
日期
修复了错误
#70153
(\DateInterval 反序列化错误)。
修复了错误
#78751
(序列化 DatePeriod 会转换 DateTimeImmutable)。
Iconv
修复了错误
#78642
(显示的 libiconv 版本错误)。(gedas at martynas,cmb)。
OpCache
修复了错误
#78654
(对包含非 ASCII 字符的文件错误计算 opcache 校验和)。
修复了错误
#78747
(OpCache 破坏了自定义扩展的结果)。
OpenSSL
修复了错误
#78775
(来自 HTTP 请求的 TLS 问题影响其他加密连接)。
Reflection
修复了错误
#78697
(ReflectionClass::ImplementsInterface - 使用特性时错误信息不准确)。
Sockets
修复了错误
#78665
(多播可能会导致内存泄漏)。
版本 7.2.24
2019年10月24日
核心
修复了错误
#78535
(auto_detect_line_endings 值未解析为布尔值)。
修复了错误
#78620
(内存不足错误)。
Exif
修复了错误
#78442
(从 PHP7 开始,exif_read_data 上的“非法组件”)(Kalle)
FPM
修复了错误
#78599
(fpm_main.c 中的 env_path_info 下溢可能导致 RCE)。(CVE-2019-11043)
MBString
修复了错误
#78579
(mb_decode_numericentity:参数数量不一致)。
修复了错误
#78609
(mb_check_encoding() 不再支持可字符串化的对象)。
MySQLi
修复了错误
#76809
(使用持久连接时不尊重 SSL 设置)。
PDO_MySQL
修复了错误
#78623
(由“SP 调用产生额外的空结果集”引起的回归)。
Session
修复了错误
#78624
(用户定义的会话处理程序的 session_gc 返回值)。
标准
修复了错误
#76342
(file_get_contents 等待两次指定的超时时间)。
修复了错误
#78612
(当使用整数键且主题字符串较短时,strtr 会泄漏内存)。
修复了错误
#76859
(如果与数据生成过滤器一起使用,stream_get_line 会跳过数据)。
Zip
修复了错误
#78641
(addGlob 可以修改给定的 remove_path 值)。
版本 7.2.23
2019年9月26日
核心
修复了错误
#78220
(无法访问 OneDrive 文件夹)。
修复了错误
#78412
(生成器错误地将不可释放的 $this 报告为 GC 子项)。
FastCGI
修复了错误
#78469
(在 Windows 上使用命名管道时,不会调用 FastCGI on_accept 钩子)。
MySQLnd
修复了 connect_attr 问题并添加了 _server_host 连接属性。
ODBC
修复了错误
#78473
(odbc_close() 关闭任意资源)。
PDO_MySQL
修复了错误
#41997
(SP 调用产生额外的空结果集)。
sodium
修复了错误
#78510
(sodium_crypto_generichash_init() 返回的部分未初始化缓冲区)。
SPL
修复了错误
#72884
(SplObject isCloneable() 返回 true 但克隆时出错)。
版本 7.2.22
2019年8月29日
核心
修复了错误
#78363
(zendparse 中的缓冲区溢出)。
修复了错误
#78379
(转换为对象会混淆 GC,导致崩溃)。
Curl
修复了错误
#77946
(curl_multi_info_read() 返回的错误 cURL 资源)。
Exif
修复了错误
#78333
(由于错误的对齐和无效的转换导致 Exif 崩溃(总线错误))。
Iconv
修复了错误
#78342
(iconv //IGNORE 的配置测试中出现总线错误)。
LiteSpeed
更新到 LiteSpeed SAPI V7.5(修复了干净关机)。
MySQLnd
修复了错误
#78179
(MariaDB 服务器版本检测错误)。
Opcache
修复了错误
#77191
(在使用静默时,dce_live_ranges() 中的断言失败)。
标准
修复了错误
#69100
(使用无效长度的 stream_copy_to_stream (文件 -> SSL 流) 导致总线错误)。
修复了错误
#78282
(atime 和 mtime 不匹配)。
修复了错误
#78326
(在使用固定长度缓冲区的 stream_get_contents() 上内存分配不当)。
版本 7.2.21
2019年8月1日
日期
修复了错误
#69044
(时间和微秒时间之间存在差异)。
EXIF
修复了错误
#78256
(exif_process_user_comment 上存在堆缓冲区溢出)。(CVE-2019-11042)
修复了错误
#78222
(exif_scan_thumbnail 上存在堆缓冲区溢出)。(CVE-2019-11041)
Fileinfo
修复了错误
#78183
(finfo_file 显示 .tga 文件的错误 mime 类型)。
FTP
修复了错误
#77124
(使用 SSL 的 FTP 内存泄漏)。
Libxml
修复了错误
#78279
(libxml_disable_entity_loader 设置在请求之间共享(cgi-fcgi))。
LiteSpeed
更新到 LiteSpeed SAPI V7.4.3(将响应头计数限制从 100 增加到 1000,添加了崩溃处理程序以干净地关闭 PHP 请求,添加了 CloudLinux mod_lsapi 模式)。
修复了错误
#76058
(在“POST 数据无法缓冲”之后,使用 php://input 会创建巨大的临时文件)。
Openssl
修复了错误
#78231
(导出套接字到流的 stream_socket_accept 出现段错误)。
OPcache
修复了错误
#78189
(文件缓存删除了 uname 哈希的最后一个字符)。
修复了错误
#78202
(缓存命中的 Opcache 统计信息上限为 32 位 NUM)。
修复了错误
#78291
(opcache_get_configuration 未列出所有指令)。
Phar
修复了错误
#77919
(Phar RSHUTDOWN 中潜在的 UAF)。
Phpdbg
修复了错误
#78297
(包含不存在的文件内存泄漏)。
PDO_Sqlite
修复了错误
#78192
(架构更改后重用语句时出现段错误)。
SQLite
升级到 SQLite 3.28.0。
标准
修复了错误
#78241
(touch() 在 64 位 PHP 中无法处理 2038 年后的日期)。
修复了错误
#78269
(password_hash 对 argon2 使用弱选项)。
XMLRPC
修复了错误
#78173
(XML-RPC 在编码期间会修改不可变对象)。
版本 7.2.20
2019年7月4日
核心
修复了错误
#76980
(如果自动加载器抛出异常,则会跳过接口)。
DOM
修复了错误
#78025
(访问 DOMDocumentType 的属性时发生段错误)。
MySQLi
修复了错误
#77956
(当 mysqli.allow_local_infile = Off 时,使用有意义的错误消息)。
修复了错误
#38546
(bindParam 对布尔类型的处理不正确)。
Opcache
修复了错误
#78106
(如果请求期间禁用 opcache,则路径解析失败)。
OpenSSL
修复了错误
#78079
(openssl_encrypt_ccm.phpt 在 OpenSSL 1.1.1c 下失败)。
Sockets
修复了错误
#78038
(当资源数组包含引用时,Socket_select 失败)。
标准
修复了错误
#77135
(带有 EXTR_SKIP 的 Extract 应该跳过 $this)。
修复了错误
#77937
(preg_match 失败)。
Zip
修复了错误
#76345
(未找到 zip.h)。
版本 7.2.19
2019年5月30日
日期
修复了错误
#77909
(DatePeriod::__construct() 使用无效的重复次数值)。
EXIF
修复了错误
#77988
(php_jpg_get16 上的堆缓冲区溢出)(CVE-2019-11040)。
FPM
修复了错误
#77934
(php-fpm kill -USR2 不起作用)。
修复了错误
#77921
(static.php.net 不再工作)。
GD
修复了错误
#77943
(imageantialias($image, false); 不起作用)。
修复了错误
#77973
(gdImageCreateFromXbm 中的未初始化读取)(CVE-2019-11038)。
Iconv
修复了错误
#78069
(由于整数溢出导致 iconv.c:_php_iconv_mime_decode() 中的越界读取)(CVE-2019-11039)。
JSON
修复了错误
#77843
(使用 json 序列化程序后释放)。
Opcache
修复了由于 PCRE 缓存和 opcache SHM 重置不一致导致的潜在崩溃。
PDO_MySQL
修复了错误
#77944
(LLP64 上 bigint 的错误元 pdo_type)。
Reflection
修复了错误
#75186
(Closure:::__invoke() 的反射不一致)。
Session
修复了错误
#77911
(session.sid_bits_per_character 的错误警告)。
SPL
修复了错误
#77024
(SplFileObject::__toString() 可能会返回数组)。
SQLite
修复了错误
#77967
(通过文件 URI 绕过 open_basedir 限制)。
版本 7.2.18
2019年5月2日
CLI
修复了错误
#77794
(内置服务器中的错误日期标头格式)。
EXIF
修复了错误
#77950
(_estrndup 通过 exif_process_IFD_TAG 导致堆缓冲区溢出)(CVE-2019-11036)。
Interbase
修复了错误
#72175
(无法使用 php 7.x 创建多个 Interbase 连接)。
Intl
修复了错误
#77895
(如果 $locale = null,则 IntlDateFormatter::create 在严格模式下失败)。
litespeed
LiteSpeed SAPI 7.3.1,更好的进程管理,新的 API 函数 litespeed_finish_request()。
Mail
修复了错误
#77821
(TSendMail() 中潜在的堆损坏)。
PCRE
修复了错误
#77827
(preg_match 不忽略正则表达式标志中的 \r)。
PDO
修复了错误
#77849
(禁用 PDO 处理程序/连接对象的克隆)。
phpdbg
修复了错误
#76801
(打开的文件过多)。
修复了错误
#77800
(phpdbg 在列出某些条件断点时出现段错误)。
修复了错误
#77805
(当 readline 为共享时,phpdbg 构建失败)。
Reflection
修复了错误
#77772
(ReflectionClass::getMethods(null) 不起作用)。
修复了错误
#77882
(不同的行为:始终调用析构函数)。
标准
修复了错误
#77680
(ftp 流包装器上的递归 mkdir 不正确)。
修复了错误
#77844
(使用 INI_SCANNER_TYPED 的 parse_ini_string 中的空指针导致崩溃)。
修复了错误
#77853
(使用空干草堆时,substr_compare 行为不一致)。
版本 7.2.17
2019年4月4日
核心
修复了错误
#77738
(zend_compile_expr 中的空指针解除引用)。
修复了错误
#77660
(在 break 2147483648 上发生分段错误)。
修复了错误
#77652
(匿名类可能会丢失其接口信息)。
修复了错误
#77676
(在 AIX 上构建共享扩展时无法运行测试)。
Bcmath
修复了错误
#77742
(bcpow() 实现与 gcc 编译器优化相关)。
COM
修复了错误
#77578
(php 卸载时崩溃)。
日期
修复了错误
#50020
(DateInterval:createDateFromString() 静默失败)。
修复了错误
#75113
(添加了 DatePeriod::getRecurrences() 方法)。
EXIF
修复了错误
#77753
(php_ifd_get32s 中的堆缓冲区溢出)。(CVE-2019-11034)
修复了错误
#77831
(exif_iif_add_value 中的堆缓冲区溢出)。(CVE-2019-11035)
FPM
修复了错误
#77677
(由于缺少 WCOREDUMP,FPM 无法在 AIX 上构建)。
GD
修复了错误
#77700
(将真彩色图像写为 GIF 时会忽略交错标志)。
MySQLi
修复了错误
#77597
(mysqli_fetch_field 使脚本挂起)。
Opcache
修复了错误
#77691
(Opcache 为内联数组推送赋值传递错误的值)。
修复了错误
#77743
(对于具有相同后继的 jmpznz,PI 节点插入不正确)。
phpdbg
修复了错误
#77767
(phpdbg break 命令别名在帮助中列出与实际别名不匹配)。
sodium
修复了错误
#77646
(sign_detached() 字符串未终止)。
SQLite3
添加了 sqlite3.defensive INI 指令。
标准
修复了错误
#77664
(在自定义包装器中使用未定义常量时发生分段错误)。
修复了错误
#77669
(在覆盖提取数组时,extract() 中崩溃)。
修复了错误
#76717
(var_export() 不会为 PHP_INT_MIN 创建可解析的值)。
修复了错误
#77765
(FTP 流包装器应将目录设置为可执行)。
版本 7.2.16
2019 年 3 月 7 日
核心
修复了错误
#77589
(使用带数字部分的 parse_ini_string 时核心转储)。
修复了错误
#77630
(跨设备的 rename() 可能会在处理过程中允许意外访问)。(CVE-2019-9637)
COM
修复了错误
#77621
(未正确报告已定义的常量)。
EXIF
修复了错误
#77509
(exif_process_IFD_in_TIFF 中的未初始化读取)。(CVE-2019-9641)
修复了错误
#77540
(exif_process_SOFn 上的无效读取)。(CVE-2019-9640)
修复了错误
#77563
(exif_process_IFD_in_MAKERNOTE 中的未初始化读取)。(CVE-2019-9638)
修复了错误
#77659
(exif_process_IFD_in_MAKERNOTE 中的未初始化读取)。(CVE-2019-9639)
PDO_OCI
支持 Oracle 数据库跟踪属性 ACTION、MODULE、CLIENT_INFO 和 CLIENT_IDENTIFIER。
PHAR
修复了错误
#77396
(phar_create_or_parse_filename 中的空指针取消引用)。
SPL
修复了错误
#51068
(DirectoryIterator glob:// 不支持当前路径相对查询)。
修复了错误
#77431
(openFile() 在空字节后静默截断)。
标准
修复了错误
#77552
(stat 函数中的未初始化 php_stream_statbuf)。
MySQL
默认情况下禁用 LOCAL INFILE,可以使用 php.ini 指令 mysqli.allow_local_infile 启用 mysqli,或使用 pdo_mysql 的 PDO::MYSQL_ATTR_LOCAL_INFILE 属性启用。
版本 7.2.15
2019 年 2 月 7 日
核心
修复了错误
#77339
(__callStatic 可能会获取错误的参数)。
修复了错误
#77494
(禁用类会导致成员访问时发生段错误)。
修复了错误
#77530
(解析 `(2)::class` 时 PHP 崩溃)。
Curl
修复了错误
#76675
(使用 H2 服务器推送时发生段错误)。
GD
修复了错误
#73281
(imagescale(…, IMG_BILINEAR_FIXED) 可能会导致黑色边框)。
修复了错误
#73614
(gdImageFilledArc() 未正确绘制扇形)。
修复了错误
#77272
(imagescale() 可能会在失败时返回图像资源)。
修复了错误
#77391
(1bpp BMP 可能无法加载)。
修复了错误
#77479
(imagewbmp() 在图像非常大时发生段错误)。
ldap
修复了错误
#77440
(使用 ldaps 或 ldap_start_tls()=exception in libcrypto-1_1-x64.dll 的 ldap_bind)。
Mbstring
修复了错误
#77454
(mb_scrub() 在空字节后静默截断)。
MySQLnd
修复了错误
#75684
(在 mysqlnd_ext_plugin.h 中,插件方法族没有外部可见性)。
Opcache
修复了错误
#77361
(启用 opcache 时,64 位 AIX 上的配置失败)。
OpenSSL
修复了错误
#77390
(在分段 TLS 记录的情况下,feof 可能会挂起 TLS 流)。
PDO
修复了错误
#77273
(array_walk_recursive 破坏值类型导致 PDO 失败)。
Sockets
修复了错误
#76839
(socket_recvfrom 可能会在 MacOS 上返回无效的“from”地址)。
标准
修复了错误
#77395
(关于 array_multisort 的段错误)。
修复了错误
#77439
(在将项目插入现有数组时,parse_str 发生段错误)。
版本 7.2.14
2019 年 1 月 10 日
核心
修复了错误
#77369
(通过精心制作的 DNS 响应使用负长度的 memcpy)。(CVE-2019-9022)
修复了错误
#71041
(zend_signal_startup() 需要 ZEND_API)。
修复了错误
#76046
(PHP 在错误的行上生成“FE_FREE”操作码)。
COM
修复了错误
#77177
(序列化或反序列化 COM 对象会导致崩溃)。
日期
修复了错误
#77097
(当实际差值小于 1 秒时,DateTime::diff 给出错误的差值)。
Exif
修复了错误
#77184
(无符号有理数被写成有符号有理数)。
GD
修复了错误
#77269
(imagescale 中未初始化的堆数据的 efree() 导致使用后释放)。(CVE-2016-10166)
修复了错误
#77270
(imagecolormatch 堆上越界写入)。(CVE-2019-6977)
修复了错误
#77195
(imagecreatefromjpeg() 的错误处理不正确)。
修复了错误
#77198
(自动裁剪精度不足)。
修复了错误
#77200
(imagecropauto(…, GD_CROP_SIDES) 裁剪左侧但不裁剪右侧)。
IMAP
修复了错误
#77020
(imap_mail 中的空指针解引用)。
Mbstring
修复了错误
#77370
(mb 正则表达式函数中的缓冲区溢出 - fetch_token)。(CVE-2019-9023)
修复了错误
#77371
(mb 正则表达式函数中的堆缓冲区溢出 - compile_string_node)。(CVE-2019-9023)
修复了错误
#77381
(多字节 match_at 中的堆缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77382
(由于 expand_case_fold_string 中的长度不正确导致的堆缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77385
(fetch_token 中的缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77394
(多字节大小写折叠中的缓冲区溢出 - unicode)。(CVE-2019-9023)
修复了错误
#77418
(utf32be_mbc_to_code 中的堆溢出)。(CVE-2019-9023)
OCI8
修复了错误
#76804
(使用 OCI_CRED_EXT 的 oci_pconnect 不起作用)。
添加了 oci_set_call_timeout() 用于调用超时。
添加了 oci_set_db_operation() 用于 DBOP 端到端跟踪属性。
Opcache
修复了错误
#77215
(在一个块中多次最终化开关释放时,CFG 断言失败)。
PDO
将传递给 PDOStatement::fetchColumn() 的无效索引处理为错误。
Phar
修复了错误
#77247
(phar_detect_phar_fname_ext 中的堆缓冲区溢出)。(CVE-2019-9021)
Sockets
修复了错误
#77136
(macOS 上不支持 IPV6_RECVPKTINFO 常量)。
SQLite3
修复了错误
#77051
(SQLite3 上的重新绑定问题)。
Xmlrpc
修复了错误
#77242
(xmlrpc_decode() 中的堆越界读取)。(CVE-2019-9020)
修复了错误
#77380
(xmlrpc base64 代码中的全局越界读取)。(CVE-2019-9024)
版本 7.2.13
2018 年 12 月 6 日
ftp
修复了错误
#77151
(ftp_close(): 关闭时 SSL_read)。
CLI
修复了错误
#77111
(php-win.exe 损坏来自 cli 参数的 unicode 符号)。
Fileinfo
修复了错误
#77095
(7.2/7.3 中的性能下降(与 7.1 相比))。
iconv
修复了错误
#77147
(修复 60494 忽略 ICONV_MIME_DECODE_CONTINUE_ON_ERROR)。
核心
修复了错误
#77231
(使用 convert.quoted-printable-encode 过滤器时出现段错误)。
IMAP
修复了错误
#77153
(imap_open 允许通过邮箱参数运行任意 shell 命令)。(CVE-2018-19518)
ODBC
修复了错误
#77079
(odbc_fetch_object 具有不正确的类型签名)。
Opcache
修复了错误
#77058
(opcache 中的类型推断会导致副作用)。
修复了错误
#77092
(array_diff_key() - 分段错误)。
Phar
修复了错误
#77022
(PharData 始终以模式 0666 创建新文件)。
修复了错误
#77143
(phar_parse_pharfile 中的堆缓冲区溢出(读取:4))。(CVE-2018-20783)
PGSQL
修复了错误
#77047
(pg_convert 对“TIME WITHOUT TIMEZONE”数据类型具有错误的正则表达式)。
SOAP
修复了错误
#50675
(SoapClient 无法正确处理对象引用)。
修复了错误
#76348
(WSDL_CACHE_MEMORY 导致分段错误)。
修复了错误
#77141
(当 precision=-1 时,SOAP 中的符号问题)。
Sockets
修复了错误
#67619
(在 socket_write 上验证长度)。
版本 7.2.12
2018年11月8日
核心
修复了错误
#76846
(内存限制错误后,在关闭函数中出现段错误)。
修复了错误
#76946
(未检测到生成器中的循环引用)。
修复了错误
#77035
(phpize 和 ./configure 会创建冗余的 .deps 文件)。
修复了错误
#77041
(buildconf 应该将错误消息输出到 stderr)(Mizunashi Mana)
日期
将 timelib 升级到 2017.08。
修复了错误
#75851
(使用日期格式“c”、“o”、“r”和“y”时,年份分量溢出)。
修复了错误
#77007
(`diff()` 中的小数未正确标准化)。
FCGI
修复了错误
#76948
(在 Windows 中关闭/重启或结束会话失败)。
修复了错误
#76954
(apache_response_headers 从标头名称中删除最后一个字符)。
FTP
修复了错误
#76972
(由于强制 ssl 套接字关闭导致数据截断)。
intl
修复了错误
#76942
(U_ARGUMENT_TYPE_MISMATCH)。
Reflection
修复了错误
#76936
(在处理反射错误时,对象无法访问其私有属性)。
修复了错误
#66430
(ReflectionFunction::invoke 不会以对象范围调用闭包)。
Sodium
一些 base64 输出被截断;这种情况不再发生。
现在,即使安装了旧版本的 libsodium,sodium_pad() 也支持块大小 >= 256 字节。
修复了错误
#77008
(当尝试填充空输入时,sodium_pad() 可能会读取(但不会返回或写入)未初始化的内存)。
标准
修复了错误
#76965
(INI_SCANNER_RAW 不会去除尾随空格)。
Tidy
修复了错误
#77027
(tidy::getOptDoc() 在 Windows 上不可用)。
XML
修复了错误
#30875
(xml_parse_into_struct() 不会解析实体)。
添加了对获取 SKIP_TAGSTART 和 SKIP_WHITE 选项的支持。
XMLRPC
修复了错误
#75282
(xmlrpc_encode_request() 崩溃)。
版本 7.2.11
2018年10月11日
核心
修复了错误
#76800
(如果在循环期间修改了数组,则 foreach 不一致)。
修复了错误
#76901
(SPL 迭代器传递方法上的 method_exists 会破坏内存)。
CURL
修复了错误
#76480
(使用 curl_multi_wait() 以确保超时得到尊重)。
iconv
修复了错误
#66828
(iconv_mime_encode Q 编码比应有的长)。
Opcache
修复了错误
#76832
(ZendOPcache.MemoryBase 定期被操作系统删除)。
修复了错误
#76796
(在 opcache 中编译时评估禁用的函数会导致段错误)。
POSIX
修复了错误
#75696
(posix_getgrnam 无法打印组的详细信息)。
Reflection
修复了错误
#74454
(使用 ReflectionMethod 时抛出错误的异常)。
标准
修复了错误
#73457
(当 fopen FTP 包装器无法打开数据连接时,错误消息错误)。
修复了错误
#74764
(Bindto IPv6 可与 file_get_contents 一起使用,但与 stream_socket_client 失败)。
修复了错误
#75533
(当 $carry 是大型数组时,array_reduce 速度很慢)。
XMLRPC
修复了错误
#76886
(无法使用 expat 构建 xmlrpc)。
Zlib
修复了错误
#75273
(php_zlib_inflate_filter() 可能不会更新 bytes_consumed)。
版本 7.2.10
2018年9月13日
核心
修复了错误
#76754
(扩展类中的父私有常量内存泄漏)。
修复了错误
#72443
(生成启用的扩展)。
修复了错误
#75797
(在非调试模式下使用 class_alias() 时内存泄漏)。
Apache2
修复了错误
#76582
(由于标头 Transfer-Encoding: chunked 导致的 XSS)。(CVE-2018-17082)
Bz2
修复了 bzcompress 的 arginfo。
gettext
修复了错误
#76517
(LDFLAGS 的恢复不正确)。
iconv
修复了错误
#68180
(iconv_mime_decode 可能会在标头中返回额外的字符)。
修复了错误
#63839
(iconv_mime_decode_headers 函数正在跳过标头)。
修复了错误
#60494
(iconv_mime_decode 会忽略特殊字符)。
修复了错误
#55146
(iconv_mime_decode_headers() 跳过了一些标头)。
intl
修复了错误
#74484
(使用 11+ 个命名占位符时,MessageFormatter::formatMessage 内存损坏)。
libxml
修复了错误
#76777
(libxml_set_external_entity_loader 回调的“public id”参数未定义)。
mbstring
修复了错误
#76704
(mb_detect_order 返回值根据参数类型而异)。
Opcache
修复了错误
#76747
(Opcache 将包含“test.pharma.tld”的路径视为 phar 文件)。
OpenSSL
修复了错误
#76705
(在 stream_context_create() 中无法使用 ssl => peer_fingerprint)。
phpdbg
修复了错误
#76595
(phpdbg 手册页包含过时的信息)。
SPL
修复了错误
#68825
(DirectoryIterator::getLinkTarget() 中的异常)。
修复了错误
#68175
(RegexIterator pregFlags 为 NULL 而不是 0)。
标准
修复了错误
#76778
(如果回调抛出异常,array_reduce 会泄漏内存)。
zlib
修复了错误
#65988
(当将包含/zlib/样式的目录传递给 --with-zlib 配置选项时,Zlib 版本检查失败)。
修复了错误
#76709
(最小所需的 zlib 库版本为 1.2.0.4)。
版本 7.2.9
2018年8月16日
日历
修复了错误
#52974
(jewish.c:在使用 GBK 字符集的 Windows 下编译错误)。
过滤器
修复了错误
#76366
(用于过滤的子数组中的引用会破坏过滤器)。
PDO_Firebird
修复了错误
#76488
(获取 BLOB 字段时出现内存泄漏)。
PDO_PgSQL
修复了错误
#75402
(使用 PDO::CURSOR_SCROLL 选项时可能出现内存泄漏)。
SQLite3
修复了错误
#76665
(SQLite3Stmt::bindValue() 使用 SQLITE3_FLOAT 时不会进行类型转换)。
标准
修复了错误
#73817
(get_html_translation_table 中的条目不正确)。
修复了错误
#68553
(array_column:$index_key 中的空值在结果中变为递增键)。
修复了错误
#76643
(使用 `output_add_rewrite_var` 时出现段错误)。
Zip
修复了错误
#76524
(ZipArchive 内存泄漏(OVERWRITE 标志和空归档))。
版本 7.2.8
2018年7月19日
核心
修复了错误
#76534
(PHP 在“字符串引用上的非法字符串偏移量以及错误处理程序”时挂起)。
修复了错误
#76520
(通过 HTTP 执行时,对象创建会泄漏内存)。
修复了错误
#76502
(混合异常和错误的链无法正确序列化)。
日期
修复了错误
#76462
(未定义属性:DateInterval::$f)。
EXIF
修复了错误
#76409
(_php_stream_free 中的堆使用后释放)。(CVE-2018-12882)
修复了错误
#76423
(整数溢出导致 exif.c 的 exif_thumbnail_extract 中的堆溢出)。(CVE-2018-14883)
修复了错误
#76557
(读取 exif 数据时出现堆缓冲区溢出(读取大小为 48))。(CVE-2018-14851)
FPM
修复了错误
#73342
(通过将 stdin 更改为非阻塞来利用 php-fpm 的漏洞)。
GMP
修复了错误
#74670
(反序列化 GMP 和其他类时出现整数下溢)。
intl
修复了错误
#76556
(BreakIterator 的 get_debug_info 处理程序显示错误的类型)。
mbstring
修复了错误
#76532
(mb_strimwidth 中的整数溢出和过度内存使用)。
Opcache
修复了错误
#76477
(Opcache 导致返回空值)。
PGSQL
修复了错误
#76548
(pg_fetch_result 未获取下一行)。
phpdbg
修复了关于可选/必需参数的 arginfo。
Reflection
修复了错误
#76536
(在错误处理程序中抛出异常时,PHP 崩溃并出现核心转储)。
修复了错误
#75231
(ReflectionProperty#getValue() 在继承类中工作不正确)。
标准
修复了错误
#76505
(array_merge_recursive() 正在复制子数组键)。
修复了错误
#71848
(getimagesize 使用 $imageinfo 返回 false)。
Win32
修复了错误
#76459
(windows linkinfo 缺少 openbasedir 检查)。(CVE-2018-15132)
ZIP
修复了错误
#76461
(定义了 OPSYS_Z_CPM 而不是 OPSYS_CPM)。
版本 7.2.7
2018年6月21日
核心
修复了错误
#76337
(启用 opcache + 扩展使用 zend_register_class_alias 时出现段错误)。
CLI 服务器
修复了错误
#76333
(如果根路径包含特殊字符,则 PHP 内置服务器找不到文件)。
OpenSSL
修复了错误
#76296
(openssl_pkey_get_public 不尊重 open_basedir)。
修复了错误
#76174
(openssl 扩展在使用 LibreSSL 2.7 时无法构建)。
SPL
修复了错误
#76367
(NoRewindIterator 段错误 11)。
标准
修复了错误
#76410
(zend_mm_alloc_small 中的 SIGV)。
修复了错误
#76335
(使用非 ASCII 路径时出现“link():错误的文件描述符”)。
版本 7.2.6
2018年5月24日
EXIF
修复了错误
#76164
(exif_read_data zend_mm_heap 损坏)。
FPM
修复了错误
#76075
--with-fpm-acl 在 FreeBSD 上错误地尝试查找 libacl。
intl
修复了错误
#74385
(Locale::parseLocale() 在某些参数下出现故障)。
Opcache
修复了错误
#76205
(运行 Infinitewp 时,PHP-FPM 出现零星崩溃)。
修复了错误
#76275
(反序列化空的 try_catch_array 时,文件缓存出现断言失败)。
修复了错误
#76281
(Opcache 导致错误的“未定义变量”错误)。
Reflection
修复了 array_replace(_recursive) 和 array_merge(_recursive) 的 arginfo。
Session
修复了错误
#74892
(URL 重写(trans_sid)在以“#”开头的 URL 上不起作用)。
版本 7.2.5
2018年4月26日
核心
修复了错误
#75722
(将 valgrind 检测转换为配置选项)。
日期
修复了错误
#76131
(date_create 的 arginfo 不匹配)。
Exif
修复了错误
#76130
(exif_iif_add_value 中的堆缓冲区溢出(读取:1786))。(CVE-2018-10549)
FPM
修复了错误
#68440
(错误:重新加载失败:execvp() 失败:参数列表过长)。
修复了 FPM 重新加载时对 getenv 结果的错误写入。
GD
修复了错误
#52070
(imagedashedline() - 虚线有时不可见)。
iconv
修复了错误
#76249
(流过滤器 convert.iconv 在无效序列上导致无限循环)。(CVE-2018-10546)
intl
修复了错误
#76153
(Intl 编译在使用 icu4c 61.1 时失败)。
ldap
修复了错误
#76248
(恶意 LDAP 服务器响应导致崩溃)。(CVE-2018-10548)
mbstring
修复了错误
#75944
(错误的 cp1251 检测)。
修复了错误
#76113
(mbstring 在使用 Oniguruma 6.8.1 时无法构建)。
ODBC
修复了错误
#76088
(ODBC 函数在 Windows 上默认不可用)。
Opcache
修复了错误
#76094
(使用 opcache 时出现访问冲突)。
Phar
修复了错误
#76129
(CVE-2018-5712 的修复可能不完整)。(CVE-2018-10547)
phpdbg
修复了错误
#76143
(内存损坏:任意 NUL 覆盖)。
SPL
修复了错误
#76131
(splarray 构造函数的 arginfo 不匹配)。
标准
修复了错误
#74139
(mail.add_x_header 默认值与文档不一致)。
修复了错误
#75996
(mt_rand 标头中的 URL 不正确)。
版本 7.2.4
2018年3月29日
核心
修复了错误
#76025
(在错误处理程序中抛出异常时出现段错误)。
修复了错误
#76044
(FreeBSD 上的 ./configure 中出现“date: illegal option -- -”)。
FPM
修复了错误
#75605
(可转储的 FPM 子进程允许绕过 opcache 访问控制)。(CVE-2018-10545)
FTP
修复了 ftp_pasv 的 arginfo。
GD
修复了错误
#73957
(imagescale() 中的带符号整数转换)。
修复了错误
#76041
(空指针访问导致 php 崩溃)。
修复了 imagesetinterpolation 的 arginfo。
iconv
修复了错误
#75867
(释放未初始化的指针)。
Mbstring
修复了错误
#62545
(某些字符集中的 Unicode 映射错误)。
Opcache
修复了错误
#75969
(由于块传递错误优化导致的活动范围 DCE 中的断言失败)。
OpenSSL
修复了 openssl_* 的 arginfos。
PCNTL
修复了错误
#75873
(pcntl_wexitstatus 在大端平台 (s390x) 上返回不正确的值)。
Phar
修复了错误
#76085
(目录名称包含 \n 时,buildFromIterator 中出现段错误)。
标准
修复了错误
#75961
(奇怪的引用行为)。
修复了一些 arginfos。
修复了错误
#76068
(parse_ini_string 无法解析“[foo]\nbar=1|>baz”并出现段错误)。
版本 7.2.3
2018年3月1日
核心
修复了错误
#75864
(“stream_isatty”在 s390x 上返回错误的值)。
Apache2Handler
修复了错误
#75882
(仅通过配置即可在线程安全 php 中轻松导致段错误)。
日期
修复了错误
#75857
(格式化时时区被截断)。
修复了错误
#75928
(`DateTimeZone::listIdentifiers()` 的参数 2 应该接受 `null`)。
修复了错误
#68406
(对 DateTimeZone 对象调用 var_dump 会修改它)。
LDAP
修复了错误
#49876
(修复 64 位发行版上的 LDAP 路径查找)。
libxml2
修复了错误
#75871
(在可用时使用 pkg-config)。
PGSQL
修复了错误
#75838
(pg_escape_bytea() 中的内存泄漏)。
Phar
修复了错误
#54289
(Phar::extractTo() 不接受要提取的特定目录)。
修复了错误
#65414
(在正确添加文件时处理前导斜杠)。
修复了错误
#65414
(在正确添加文件时处理前导斜杠)。
ODBC
修复了错误
#73725
(无法检索 varchar(max) 类型的值)。
Opcache
修复了错误
#75729
(安装 Bitrix 时 opcache 出现段错误)。
修复了错误
#75893
(file_get_contents $http_response_header 变量在使用 opcache 时出现故障)。
修复了错误
#75938
(模数未存储在变量中)。
SPL
修复了错误
#74519
(AppendIterator 的奇怪行为)。
标准
修复了错误
#75916
(DNS_CAA 记录结果包含垃圾数据)。
修复了错误
#75981
(解析 HTTP 响应时出现堆栈缓冲区溢出)。(CVE-2018-7584)
版本 7.2.2
2018年2月1日
核心
修复了错误
#75742
(内部类静态成员中可能存在内存泄漏)。
修复了错误
#75679
(路径 260 个字符问题)。
修复了错误
#75614
(shell 脚本中的一些不可移植的 ==)。
修复了错误
#75786
(对通过引用传递的生成器使用扩展运算符时出现段错误)。
修复了错误
#75799
(get_defined_functions 的参数是可选的)。
修复了错误
#75396
(生成器内部的 Exit 导致致命错误)。
FCGI
修复了错误
#75794
(当第二个参数为 false 时,getenv() 在 Windows 7.2.1 上崩溃)。
IMAP
修复了错误
#75774
(imap_append 堆损坏)。
Opcache
修复了错误
#75720
(SHM 运行满后,文件缓存未填充)。
修复了错误
#75687
(变量 8 (TMP) 具有数组键类型但没有值类型)。
修复了错误
#75698
(使用 @ 会导致 php7.2-fpm 崩溃)。
修复了错误
#75579
(内部字符串缓冲区溢出可能导致崩溃)。
PDO
修复了错误
#75616
(PDO 扩展不允许在 Darwin 上构建为共享库)。
PDO MySQL
修复了错误
#75615
(PDO Mysql 模块无法构建为模块)。
PGSQL
修复了错误
#75671
(连接到 cockroach 时,pg_version() 崩溃)。
Readline
修复了错误
#75775
(readline_read_history 在文件为空时出现段错误)。
SAPI
修复了错误
#75735
([embed SAPI] sapi_register_post_entry 中出现段错误)。
SOAP
修复了错误
#70469
(即使使用 exceptions=1,SoapClient 也会生成 E_ERROR)。
修复了错误
#75502
(zend_string_release 中出现段错误)。
SPL
修复了错误
#75717
(RecursiveArrayIterator 不会通过引用遍历数组)。
修复了错误
#75242
(RecursiveArrayIterator 没有父类的常量)。
修复了错误
#73209
(RecursiveArrayIterator 不会迭代对象属性)。
标准
修复了错误
#75781
(substr_count 结果不正确)。
修复了错误
#75653
(array_values 在空数组上不起作用)。
Zip
在 phpinfo 中显示标题(构建时间)和库(运行时)版本(使用 libzip >= 1.3.1)。
版本 7.2.1
2018年1月4日
核心
修复了错误
#75573
(7.1.12 和 7.0.26 中出现段错误)。
修复了错误
#75384
(PHP 似乎与 OneDrive 按需文件不兼容)。
修复了错误
#75525
(vcruntime140.dll 中出现访问冲突)。
修复了错误
#74862
(定义私有 __clone 时无法克隆实例)。
修复了错误
#75074
(当 is_file() 用于长度超过 260 个字符的字符串时,php 进程崩溃)。
CLI 服务器
修复了错误
#73830
(目录不存在)。
FPM
修复了错误
#64938
(libxml_disable_entity_loader 设置在请求之间共享)。
GD
修复了错误
#75571
(gdImageCreateFromGifCtx 中潜在的无限循环)。(CVE-2018-5711)
Opcache
修复了错误
#75608
(“类型推断期间发生缩窄”错误)。
修复了错误
#75579
(内部字符串缓冲区溢出可能导致崩溃)。
修复了错误
#75570
(“类型推断期间发生缩窄”错误)。
修复了错误
#75556
(无效操作码 138/1/1)。
PCRE
修复了错误
#74183
(错误发生后 preg_last_error 未返回错误代码)。
Phar
修复了错误
#74782
(.phar 404 页面中的反射型 XSS)。(CVE-2018-5712)
标准
修复了错误
#75511
(fread 未释放未使用的缓冲区)。
修复了错误
#75514
(mt_rand 在 32 位系统上返回的值超出 [$min,$max]+ 范围)(Remi)
修复了错误
#75535
(不恰当地解析 HTTP 响应导致 PHP 段错误)。(CVE-2018-14884)
修复了错误
#75409
(除了 ENOSYS 之外,还接受 EFAULT 作为 getrandom() 缺失的指示符)。
修复了错误
#73124
(php_ini_scanned_files() 未正确报告)。
修复了错误
#75574
(如果参数包含非 ASCII Unicode 字符,则 putenv 无法正常工作)。
Zip
修复了错误
#75540
(使用 libzip 1.3.1 时发生段错误)。
版本 7.2.0
2017 年 11 月 30 日
BCMath
修复了错误
#46564
(bcmod 截断小数部分)。
CLI
修复了错误
#74849
(进程在 PhpStorm 中作为交互式 shell 启动)。
修复了错误
#74979
(使用 -f 标志时打开交互式 shell 而不是执行脚本)。
CLI 服务器
修复了错误
#60471
(使用路由器脚本时随机出现“无效请求(意外 EOF)”)。
核心
添加了 ZEND_COUNT、ZEND_GET_CLASS、ZEND_GET_CALLED_CLASS、ZEND_GET_TYPE、ZEND_FUNC_NUM_ARGS、ZEND_FUNC_GET_ARGS 指令,以实现相应的内置函数。
“Countable” 接口已从 SPL 移动到核心。
添加了 ZEND_IN_ARRAY 指令,通过在翻转数组中进行哈希查找,实现了优化的 in_array() 内置函数。
删除了 IS_TYPE_IMMUTABLE(它与 COPYABLE & !REFCOUNTED 相同)。
删除了 sql.safe_mode 指令。
删除了对 Netware 的支持。
将 ReflectionClass::isIterateable() 重命名为 ReflectionClass::isIterable()(为 BC 保留原始名称别名)。
修复了错误
#54535
(WSA 清理在 MSHUTDOWN 之前执行)。
实现了 FR
#69791
(通过额外标头禁止邮件标头注入)(Yasuo)
实现了 FR
#49806
(Windows 的 proc_nice())。
修复交叉编译时的 pthreads 检测(ffontaine)
修复了由析构函数中抛出的异常引起的内存泄漏。(Bob,Dmitry)。
修复了错误
#73215
(uniqid() 应使用更好的随机源)。
实现了 FR
#72768
(为 php.exe 添加 ENABLE_VIRTUAL_TERMINAL_PROCESSING 标志)。
实现了“在对象/数组转换中转换数字键”RFC,修复了错误
#53838
、
#61655
、
#66173
、
#70925
、
#72254
等。
实现了“弃用并删除裸词(未加引号)字符串”RFC。
将最低支持的 Windows 版本提高到 Windows 7/Server 2008 R2。
在 array_keys/array_values() 中实现了次要优化。
添加了 PHP_OS_FAMILY 常量以确定我们所在的 OS。
修复了错误
#73987
(方法兼容性检查查看原始定义而不是父类)。
修复了错误
#73991
(JSON_OBJECT_AS_ARRAY 未被尊重)。
修复了错误
#74053
(当析构函数生成另一个对象时,在关闭时损坏类条目)。
修复了错误
#73971
(扫描目录时,文件名限制为 Win32 上的 MAX_PATH)。
修复了错误
#72359
、错误
#72451
、错误
#73706
、错误
#71115
和其他与 TS 构建中内部字符串处理相关的错误。
仅对组使用列表实现了“列表语法中的尾随逗号”RFC。
修复了错误
#74269
(可以使用不同的松散相等值覆盖特征属性)。
修复了错误
#61970
(在子类中限制 __construct() 的访问级别会导致致命错误)。
修复了错误
#63384
(无法用抽象方法覆盖抽象方法)。
修复了错误
#74607
(特征强制执行不同的继承规则)。
修复了抽象 Unix 域套接字名称的错误解析。
将 PHP_OS_FAMILY 值从“OSX”更改为“Darwin”。
允许在 ini 文件中按名称加载 PHP/Zend 扩展(extension=<name>)。
添加了对象类型注释。
修复了错误
#74815
(启动时 INI 条目的组合导致崩溃)。
修复了错误
#74836
(数组中以零为前缀的数字索引上的 isset 已损坏)。
添加了新的 VM 指令 ISSET_ISEMPTY_CV 和 UNSET_CV。之前它们是使用 ZEND_QUICK_SET 标志作为 ISSET_ISEMPTY_VAR 和 UNSET_VAR 变体实现的。
修复了错误
#49649
(unserialize() 未处理属性可见性的更改)。
修复了错误
#74866
(extension_dir = "./ext" 现在使用当前目录作为基目录)。
实现了 FR
#74963
(改进了获取非对象属性时的错误消息)。
修复了错误
#75142
(buildcheck.sh 中用于 autoconf 版本的检查需要更新到 v2.64)。
修复了错误
#74878
(ZTS 构建中的数据竞争)。
修复了错误
#75515
(“stream_copy_to_stream”不再流式传输)。
cURL
修复了错误
#75093
(未检测到 OpenSSL 支持)。
更好地修复了
#74125
(使用 pkg-config 而不是 curl-config)。
日期
修复了错误
#55407
(无法为 DateTime::createFromFormat 创建原型)。
实现了 FR
#71520
(将 DateTime 常量添加到 DateTimeInterface 接口)。
修复了错误
#75055
(timelib_meridian() 中的越界读取)。(CVE-2017-16642)
修复了错误
#75149
(typedefs ttinfo 和 t1info 的重新定义)。
修复了错误
#75222
(DateInterval 微秒属性始终为 0)。
Dba
修复了错误
#72885
(flatfile:dba_fetch() 无法读取已替换的条目)。
DOM
实现了 FR
#74837
(为 DomNodeList 和 DOMNamedNodeMap 实现 Countable)。
EXIF
添加了对以下格式的供应商特定标签的支持:Samsung、DJI、Panasonic、Sony、Pentax、Minolta、Sigma/Foveon、AGFA、Kyocera、Ricoh 和 Epson。
修复了错误
#72682
(exif_read_data() 无法读取某些图像的所有数据)。
修复了错误
#71534
(exif_read_data() 中的类型混淆导致调试模式下的堆溢出)。
修复了错误
#68547
(Exif 标头组件值检查错误)。
修复了错误
#66443
(损坏的 EXIF 标头:某些相机的最大目录嵌套级别已达到)。
修复了 Redhat 错误 #1362571(PHP 未为 exif_read_data 函数返回完整的结果)。
实现了 FR
#65187
(exif_read_data/thumbnail:添加对流资源的支持)。
弃用了 read_exif_data() 别名。
修复了错误
#74428
(exif_read_data():使用正确的 exif 格式时出现“非法 IFD 大小”警告)。
修复了错误
#72819
(不再读取 EXIF 缩略图)。
修复了错误
#62523
(当调用 exif_read_data 时,php 崩溃并出现段错误)。
修复了错误
#50660
(exif_read_data():非法 IFD 偏移量(使用其他 exif 阅读器可以正常工作))。
Fileinfo
将捆绑的 libmagic 升级到 5.31。
FPM
限制 fpm 慢日志跟踪调用者的配置。
修复了错误
#75212
(php_value 的行为类似于 php_admin_value)。
FTP
为目录的结构化列表实现 MLSD。
添加了 ftp_append() 函数。
GD
实现了 imageresolution 作为 getter 和 setter(Christoph)
修复了错误
#74744
(gd.h:gdErrorMethod 中缺少用于 va_list 的 stdarg.h include)。
修复了错误
#75111
(通过精心制作的 .bmp 图像泄露内存或拒绝服务)。
GMP
修复了错误
#70896
(gmp_fact() 静默忽略非整数输入)。
Hash
将 HashContext 从资源更改为对象。
禁止将非加密哈希函数与 HMAC 和 PBKDF2 一起使用。
修复了错误
#75284
(sha3 在大端机器上不受支持)。
IMAP
修复了错误
#72324
(imap_mailboxmsginfo() 返回错误的大小)。
Intl
修复了错误
#63790
(使用可能不可用的 Spoofchecker 进行测试)。
修复了错误
#75378
([REGRESSION] IntlDateFormatter::parse() 不会更改 $position 参数)。
JSON
为 json_encode 和 json_decode 添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 选项,以忽略或替换无效的 UTF-8 字节序列 - 它解决了请求
#65082
。
修复了错误
#75185
(json_decode() 使用 JSON_INVALID_UTF8_IGNORE 或 JSON_INVALID 时发生缓冲区溢出)。
修复了错误
#68567
(JSON_PARTIAL_OUTPUT_ON_ERROR 可能会导致 JSON 具有空键)。
LDAP
实现了 FR
#69445
(对 LDAP EXOP 操作的支持)
修复了对 ldap_get_option 中的 LDAP_OPT_SERVER_CONTROLS 和 LDAP_OPT_CLIENT_CONTROLS 的支持
修复了为客户端或服务器控件将空数组传递给 ldap_set_option 的问题。
Mbstring
实现了 FR
#66024
(mb_chr() 和 mb_ord())。
实现了 FR
#65081
(mb_scrub())。
实现了 FR
#69086
(mb_convert_encoding() 的增强功能,可以很好地处理多字节替换字符)。
为 mb_convert_encoding() 添加了数组输入支持。
为 mb_check_encoding() 添加了数组输入支持。
修复了错误
#69079
(mb_substitute_character 的增强功能)。
更新到 oniguruma 版本 6.3.0。
修复了错误
#69267
(mb_strtolower 在标题大小写字符上失败)。
Mcrypt
已弃用的 mcrypt 扩展已移至 PECL。
Opcache
添加了基于使用单静态赋值 (SSA) 形式的数据流分析的全局优化传递:稀疏条件常量传播 (SCCP)、死代码消除 (DCE) 和删除未使用的局部变量(Nikita,Dmitry)
修复了不正确的常量条件跳转消除。
修复了错误
#75230
(使用 opcache 时无效操作码 49/1/8)。
修复了错误(断言在生成扩展信息时失败)。
修复了错误(Phi 源代码移除)。
修复了错误
#75370
(Web 服务器在有效的 PHP 文本上挂起)。
修复了错误
#75357
(加载 WordPress wp-admin 时发生段错误)。
OpenSSL
对默认的 ssl:// 和 tls:// 协商使用 TLS_ANY。
修复 openssl_spki_new() 中的泄漏。
添加了 openssl_pkcs7_read() 和 pk7 参数到 openssl_pkcs7_verify()。
添加 ssl security_level 流选项以支持 OpenSSL 安全级别。(Jakub Zelenka)。
允许在单独的文件中设置 SNI 证书和私钥。
修复了错误
#74903
(openssl_pkcs7_encrypt() 使用与之前不同的 EOL)。
自动加载 OpenSSL 配置文件。
PCRE
添加了对 PCRE JIT 快速路径 API 的支持。
修复了错误
#61780
(匹配结果中 PCRE 捕获不一致)。
修复了错误
#74873
(轻微的 BC 兼容性中断:PCRE_JIT 更改了 preg_match() 的输出)。
修复了错误
#75089
(preg_grep() 在第一个输入字符串后没有报告 PREG_BAD_UTF8_ERROR)。
修复了错误
#75223
(7.2 中 PCRE JIT 损坏)。
修复了错误
#75285
(当系统 libpcre 没有 jit 支持时构建中断)。
phar
修复了错误
#74196
(phar 未正确处理包含点的名称)。
PDO
修复了错误
#73234
(模拟语句让值决定参数类型)。
为模拟预处理添加“发送的 SQL”到调试转储。
为国家字符集字符串添加参数类型。
PDO_DBlib
修复了错误
#73396
(bigint 列作为字符串返回)。
将 DB 库版本公开为 \PDO 实例上的 \PDO::DBLIB_ATTR_VERSION 属性。
添加对错误
#72969
的测试覆盖率。
PDO_OCI
修复了错误
#74537
(将 --with-pdo-oci 配置选项与 --with-oci8 语法对齐)。
PDO_Sqlite
切换到 sqlite3_prepare_v2() 和 sqlite3_close_v2() 函数 (rasmus)
PHPDBG
将 extended_value 添加到操作码转储输出。
Session
修复了错误
#73461
(禁止会话保存处理程序递归)。
PR
GH-2233
删除了与 register_globals 相关的代码,并且“!”可用作 $_SESSION 键名。
改进了错误
#73100
的修复。“用户”保存处理程序只能由 session_set_save_handler() 设置。
修复了错误
#74514
(5 个会话函数在只读/获取器模式下调用时错误地发出警告)。
修复了错误
#74936
(session_cache_expire/cache_limiter/save_path() 在读取模式下触发警告)。
修复了错误
#74941
(在发送标头后,会话无法启动)。
Sodium
新的加密扩展
添加了 libsodium > 1.0.13 的缺失绑定。
SPL
修复了错误
#71412
(ArrayIterator::__construct 的 arginfo 不正确)。
添加了 spl_object_id()。
SQLite3
实现写入 Blob。
更新到 Sqlite 3.20.1。
标准
修复了错误
#69442
(启用 PTS 时 fd 关闭不正确)。
修复了错误
#74300
(unserialize 接受浮点数指数部分的两个加号/减号)。
与 libargon2 版本 20161029 和 20160821 兼容。
修复了错误
#74737
(mysqli_get_client_info 反射信息)。
添加对将扩展名作为参数传递给 dl() 的支持。
修复了错误
#74851
(没有 more_entropy 的 uniqid() 性能很差)。
修复了错误
#74103
(反序列化无效数组大小时的堆使用后释放)。(CVE-2017-12932)
修复了错误
#75054
(在执行反序列化时发现了拒绝服务漏洞)。
修复了错误
#75170
(64 位机器上的 mt_rand() 偏差)。
修复了错误
#75221
(Argon2i 始终在末尾抛出 NUL)。
流
将 ssl/single_dh_use 和 ssl/honor_cipher_order 的默认值设置为 true。
XML
将 utf8_encode() 和 utf8_decode() 移至 Standard 扩展。
XMLRPC
在捆绑的 libxmlrpc 中使用 Zend MM 进行分配 (Joe)
ZIP
添加对加密归档的支持。
捆绑的 libzip 已弃用,建议使用 --with-libzip 选项。
修复了错误
#73803
(ZipArchive 的反射未显示公共属性)。
ZipArchive 实现可计数,添加了 ZipArchive::count() 方法。
修复 php_stream_context_get_option 调用中的段错误。
修复了错误
#75143
(新的方法 setEncryptionName() 似乎不存在于 ZipArchive 中)。
zlib
公开了 inflate_get_status() 和 inflate_get_read_len() 函数。
版本 7.1.33
2019年10月24日
FPM
修复了错误
#78599
(fpm_main.c 中的 env_path_info 下溢可能导致 RCE)。(CVE-2019-11043)
版本 7.1.32
2019年8月29日
mbstring
修复了 CVE-2019-13224(不允许 onig_new_deluxe 使用不同的编码)(stas)
pcre
修复了错误
#75457
(pcrelib 中的堆使用后释放)(cmb)
版本 7.1.31
2019年8月1日
SQLite
升级到 SQLite 3.28.0。
EXIF
修复了错误
#78256
(exif_process_user_comment 上存在堆缓冲区溢出)。(CVE-2019-11042)
修复了错误
#78222
(exif_scan_thumbnail 上存在堆缓冲区溢出)。(CVE-2019-11041)
Phar
修复了错误
#77919
(Phar RSHUTDOWN 中潜在的 UAF)。
版本 7.1.30
2019年5月30日
EXIF
修复了错误
#77988
(php_jpg_get16 上的堆缓冲区溢出)(CVE-2019-11040)。
GD
修复了错误
#77973
(gdImageCreateFromXbm 中的未初始化读取)(CVE-2019-11038)。
Iconv
修复了错误
#78069
(由于整数溢出导致 iconv.c:_php_iconv_mime_decode() 中的越界读取)(CVE-2019-11039)。
SQLite
修复了错误
#77967
(通过文件 URI 绕过 open_basedir 限制)。
版本 7.1.29
2019年5月2日
EXIF
修复了错误
#77950
(_estrndup 通过 exif_process_IFD_TAG 导致堆缓冲区溢出)(CVE-2019-11036)。
Mail
修复了错误
#77821
(TSendMail() 中潜在的堆损坏)。
版本 7.1.28
2019年4月4日
EXIF
修复了错误
#77753
(php_ifd_get32s 中的堆缓冲区溢出)。(CVE-2019-11034)
修复了错误
#77831
(exif_iif_add_value 中的堆缓冲区溢出)。(CVE-2019-11035)
SQLite3
添加了 sqlite3.defensive INI 指令。
版本 7.1.27
2019 年 3 月 7 日
核心
修复了错误
#77630
(跨设备的 rename() 可能会在处理过程中允许意外访问)。(CVE-2019-9637)
EXIF
修复了错误
#77509
(exif_process_IFD_in_TIFF 中的未初始化读取)。(CVE-2019-9641)
修复了错误
#77540
(exif_process_SOFn 上的无效读取)。(CVE-2019-9640)
修复了错误
#77563
(exif_process_IFD_in_MAKERNOTE 中的未初始化读取)。(CVE-2019-9638)
修复了错误
#77659
(exif_process_IFD_in_MAKERNOTE 中的未初始化读取)。(CVE-2019-9639)
PHAR
修复了错误
#77396
(phar_create_or_parse_filename 中的空指针取消引用)。
修复了错误
#77586
(phar_tar_writeheaders_int() 缓冲区溢出)。
SPL
修复了错误
#77431
(openFile() 在空字节后静默截断)。
版本 7.1.26
2019 年 1 月 10 日
核心
修复了错误
#77369
(通过精心制作的 DNS 响应使用负长度的 memcpy)。(CVE-2019-9022)
GD
修复了错误
#77269
(imagescale 中未初始化的堆数据的 efree() 导致使用后释放)。(CVE-2016-10166)
修复了错误
#77270
(imagecolormatch 堆上越界写入)。(CVE-2019-6977)
IMAP
修复了错误
#77020
(imap_mail 中的空指针解引用)。
Mbstring
修复了错误
#77370
(mb 正则表达式函数中的缓冲区溢出 - fetch_token)。(CVE-2019-9023)
修复了错误
#77371
(mb 正则表达式函数中的堆缓冲区溢出 - compile_string_node)。(CVE-2019-9023)
修复了错误
#77381
(多字节 match_at 中的堆缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77382
(由于 expand_case_fold_string 中的长度不正确导致的堆缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77385
(fetch_token 中的缓冲区溢出)。(CVE-2019-9023)
修复了错误
#77394
(多字节大小写折叠中的缓冲区溢出 - unicode)。(CVE-2019-9023)
修复了错误
#77418
(utf32be_mbc_to_code 中的堆溢出)。(CVE-2019-9023)
Phar
修复了错误
#77247
(phar_detect_phar_fname_ext 中的堆缓冲区溢出)。(CVE-2019-9021)
Xmlrpc
修复了错误
#77242
(xmlrpc_decode() 中的堆越界读取)。(CVE-2019-9020)
修复了错误
#77380
(xmlrpc base64 代码中的全局越界读取)。(CVE-2019-9024)
版本 7.1.25
2018 年 12 月 6 日
核心
修复了错误
#71041
(zend_signal_startup() 需要 ZEND_API)。
修复了错误
#77231
(使用 convert.quoted-printable-encode 过滤器时出现段错误)。
ftp
修复了错误
#77151
(ftp_close(): 关闭时 SSL_read)。
iconv
修复了错误
#77147
(修复 60494 忽略 ICONV_MIME_DECODE_CONTINUE_ON_ERROR)。
IMAP
修复了错误
#77153
(imap_open 允许通过邮箱参数运行任意 shell 命令)。(CVE-2018-19518)
ODBC
修复了错误
#77079
(odbc_fetch_object 具有不正确的类型签名)。
Opcache
修复了错误
#77058
(opcache 中的类型推断会导致副作用)。
Phar
修复了错误
#77022
(PharData 始终以模式 0666 创建新文件)。
修复了错误
#77143
(phar_parse_pharfile 中的堆缓冲区溢出(读取:4))。(CVE-2018-20783)
PGSQL
修复了错误
#77047
(pg_convert 对“TIME WITHOUT TIMEZONE”数据类型具有错误的正则表达式)。
SOAP
修复了错误
#76348
(WSDL_CACHE_MEMORY 导致分段错误)。
修复了错误
#77141
(当 precision=-1 时,SOAP 中的符号问题)。
Sockets
修复了错误
#67619
(在 socket_write 上验证长度)。
版本 7.1.24
2018年11月8日
核心
修复了错误
#76946
(未检测到生成器中的循环引用)。
修复了错误
#77035
(phpize 和 ./configure 会创建冗余的 .deps 文件)。
修复了错误
#77041
(buildconf 应该将错误消息输出到 stderr)(Mizunashi Mana)
日期
修复了错误
#75851
(使用日期格式“c”、“o”、“r”和“y”时,年份分量溢出)。
FCGI
修复了错误
#76948
(在 Windows 中关闭/重启或结束会话失败)。
修复了错误
#76954
(apache_response_headers 从标头名称中删除最后一个字符)。
FTP
修复了错误
#76972
(由于强制 ssl 套接字关闭导致数据截断)。
intl
修复了错误
#76942
(U_ARGUMENT_TYPE_MISMATCH)。
标准
修复了错误
#76965
(INI_SCANNER_RAW 不会去除尾随空格)。
Tidy
修复了错误
#77027
(tidy::getOptDoc() 在 Windows 上不可用)。
XML
修复了错误
#30875
(xml_parse_into_struct() 不会解析实体)。
添加了对获取 SKIP_TAGSTART 和 SKIP_WHITE 选项的支持。
版本 7.1.23
2018年10月11日
核心
修复了错误
#76901
(SPL 迭代器传递方法上的 method_exists 会破坏内存)。
修复了错误
#76846
(内存限制错误后,在关闭函数中出现段错误)。
CURL
修复了错误
#76480
(使用 curl_multi_wait() 以确保超时得到尊重)。
iconv
修复了错误
#66828
(iconv_mime_encode Q 编码比应有的长)。
Opcache
修复了错误
#76832
(ZendOPcache.MemoryBase 定期被操作系统删除)。
POSIX
修复了错误
#75696
(posix_getgrnam 无法打印组的详细信息)。
Reflection
修复了错误
#74454
(使用 ReflectionMethod 时抛出错误的异常)。
标准
修复了错误
#73457
(当 fopen FTP 包装器无法打开数据连接时,错误消息错误)。
修复了错误
#74764
(Bindto IPv6 可与 file_get_contents 一起使用,但与 stream_socket_client 失败)。
修复了错误
#75533
(当 $carry 是大型数组时,array_reduce 速度很慢)。
Zlib
修复了错误
#75273
(php_zlib_inflate_filter() 可能不会更新 bytes_consumed)。
版本 7.1.22
2018年9月13日
核心
修复了错误
#76754
(扩展类中的父私有常量内存泄漏)。
修复了错误
#72443
(生成启用的扩展)。
Apache2
修复了错误
#76582
(由于标头 Transfer-Encoding: chunked 导致的 XSS)。(CVE-2018-17082)
Bz2
修复了 bzcompress 的 arginfo。
gettext
修复了错误
#76517
(LDFLAGS 的恢复不正确)。
iconv
修复了错误
#68180
(iconv_mime_decode 可能会在标头中返回额外的字符)。
修复了错误
#63839
(iconv_mime_decode_headers 函数正在跳过标头)。
修复了错误
#60494
(iconv_mime_decode 会忽略特殊字符)。
修复了错误
#55146
(iconv_mime_decode_headers() 跳过了一些标头)。
intl
修复了错误
#74484
(使用 11+ 个命名占位符时,MessageFormatter::formatMessage 内存损坏)。
libxml
修复了错误
#76777
(libxml_set_external_entity_loader 回调的“public id”参数未定义)。
mbstring
修复了错误
#76704
(mb_detect_order 返回值根据参数类型而异)。
Opcache
修复了错误
#76747
(Opcache 将包含“test.pharma.tld”的路径视为 phar 文件)。
OpenSSL
修复了错误
#76705
(在 stream_context_create() 中无法使用 ssl => peer_fingerprint)。
phpdbg
修复了错误
#76595
(phpdbg 手册页包含过时的信息)。
SPL
修复了错误
#68825
(DirectoryIterator::getLinkTarget() 中的异常)。
修复了错误
#68175
(RegexIterator pregFlags 为 NULL 而不是 0)。
标准
修复了错误
#76778
(如果回调抛出异常,array_reduce 会泄漏内存)。
zlib
修复了错误
#65988
(当将包含/zlib/样式的目录传递给 --with-zlib 配置选项时,Zlib 版本检查失败)。
修复了错误
#76709
(最小所需的 zlib 库版本为 1.2.0.4)。
版本 7.1.21
2018年8月16日
日历
修复了错误
#52974
(jewish.c:在使用 GBK 字符集的 Windows 下编译错误)。
过滤器
修复了错误
#76366
(用于过滤的子数组中的引用会破坏过滤器)。
PDO_Firebird
修复了错误
#76488
(获取 BLOB 字段时出现内存泄漏)。
PDO_PgSQL
修复了错误
#75402
(使用 PDO::CURSOR_SCROLL 选项时可能出现内存泄漏)。
SQLite3
修复了错误
#76665
(SQLite3Stmt::bindValue() 使用 SQLITE3_FLOAT 时不会进行类型转换)。
标准
修复了错误
#68553
(array_column:$index_key 中的空值在结果中变为递增键)。
修复了错误
#73817
(get_html_translation_table 中的条目不正确)。
修复了错误
#76643
(使用 `output_add_rewrite_var` 时出现段错误)。
Zip
修复了错误
#76524
(ZipArchive 内存泄漏(OVERWRITE 标志和空归档))。
版本 7.1.20
2018年7月19日
核心
修复了错误
#76534
(PHP 在“字符串引用上的非法字符串偏移量以及错误处理程序”时挂起)。
修复了错误
#76502
(混合异常和错误的链无法正确序列化)。
日期
修复了错误
#76462
(未定义属性:DateInterval::$f)。
exif
修复了错误
#76423
(整数溢出导致 exif.c 的 exif_thumbnail_extract 中的堆溢出)。(CVE-2018-14883)
修复了错误
#76557
(读取 exif 数据时出现堆缓冲区溢出(读取大小为 48))。(CVE-2018-14851)
FPM
修复了错误
#73342
(通过将 stdin 更改为非阻塞来利用 php-fpm 的漏洞)。
GMP
修复了错误
#74670
(反序列化 GMP 和其他类时出现整数下溢)。
intl
修复了错误
#76556
(BreakIterator 的 get_debug_info 处理程序显示错误的类型)。
mbstring
修复了错误
#76532
(mb_strimwidth 中的整数溢出和过度内存使用)。
PGSQL
修复了错误
#76548
(pg_fetch_result 未获取下一行)。
phpdbg
修复了关于可选/必需参数的 arginfo。
Reflection
修复了错误
#76536
(在错误处理程序中抛出异常时,PHP 崩溃并出现核心转储)。
修复了错误
#75231
(ReflectionProperty#getValue() 在继承类中工作不正确)。
标准
修复了错误
#76505
(array_merge_recursive() 正在复制子数组键)。
修复了错误
#71848
(getimagesize 使用 $imageinfo 返回 false)。
Win32
修复了错误
#76459
(windows linkinfo 缺少 openbasedir 检查)。(CVE-2018-15132)
版本 7.1.19
2018年6月22日
CLI 服务器
修复了错误
#76333
(如果根路径包含特殊字符,则 PHP 内置服务器找不到文件)。
OpenSSL
修复了错误
#76296
(openssl_pkey_get_public 不尊重 open_basedir)。
修复了错误
#76174
(openssl 扩展在使用 LibreSSL 2.7 时无法构建)。
SPL
修复了错误
#76367
(NoRewindIterator 段错误 11)。
标准
修复了错误
#76335
(使用非 ASCII 路径时出现“link():错误的文件描述符”)。
修复了错误
#76383
($GLOBALS 上的 array_map 返回 IS_INDIRECT)。
版本 7.1.18
2018年5月24日
FPM
修复了错误
#76075
--with-fpm-acl 在 FreeBSD 上错误地尝试查找 libacl。
intl
修复了错误
#74385
(Locale::parseLocale() 在某些参数下出现故障)。
Opcache
修复了错误
#76205
(运行 Infinitewp 时,PHP-FPM 出现零星崩溃)。
修复了错误
#76275
(反序列化空的 try_catch_array 时,文件缓存出现断言失败)。
修复了错误
#76281
(Opcache 导致错误的“未定义变量”错误)。
Reflection
修复了 array_replace(_recursive) 和 array_merge(_recursive) 的 arginfo。
版本 7.1.17
2018年4月26日
日期
修复了错误
#76131
(date_create 的 arginfo 不匹配)。
Exif
修复了错误
#76130
(exif_iif_add_value 中的堆缓冲区溢出(读取:1786))。(CVE-2018-10549)
FPM
修复了错误
#68440
(错误:重新加载失败:execvp() 失败:参数列表过长)。
修复了 FPM 重新加载时对 getenv 结果的错误写入。
GD
修复了错误
#52070
(imagedashedline() - 虚线有时不可见)。
iconv
修复了错误
#76249
(流过滤器 convert.iconv 在无效序列上导致无限循环)。(CVE-2018-10546)
intl
修复了错误
#76153
(Intl 编译在使用 icu4c 61.1 时失败)。
ldap
修复了错误
#76248
(恶意 LDAP 服务器响应导致崩溃)。(CVE-2018-10548)
mbstring
修复了错误
#75944
(错误的 cp1251 检测)。
修复了错误
#76113
(mbstring 在使用 Oniguruma 6.8.1 时无法构建)。
Phar
修复了错误
#76129
(CVE-2018-5712 的修复可能不完整)。(CVE-2018-10547)
phpdbg
修复了错误
#76143
(内存损坏:任意 NUL 覆盖)。
SPL
修复了错误
#76131
(splarray 构造函数的 arginfo 不匹配)。
标准
修复了错误
#75996
(mt_rand 标头中的 URL 不正确)。
版本 7.1.16
2018年3月29日
核心
修复了错误
#76025
(在错误处理程序中抛出异常时出现段错误)。
修复了错误
#76044
(FreeBSD 上的 ./configure 中出现“date: illegal option -- -”)。
FPM
修复了错误
#75605
(可转储的 FPM 子进程允许绕过 opcache 访问控制)。(CVE-2018-10545)
GD
修复了错误
#73957
(imagescale() 中的带符号整数转换)。
ODBC
修复了错误
#76088
(ODBC 函数在 Windows 上默认不可用)。
Opcache
修复了错误
#76074
(opcache 在 for 循环中破坏变量)。
Phar
修复了错误
#76085
(目录名称包含 \n 时,buildFromIterator 中出现段错误)。
标准
修复了错误
#74139
(mail.add_x_header 默认值与文档不一致)。
修复了错误
#76068
(parse_ini_string 无法解析“[foo]\nbar=1|>baz”并出现段错误)。
版本 7.1.15
2018年3月1日
Apache2Handler
修复了错误
#75882
(仅通过配置即可在线程安全 php 中轻松导致段错误)。
日期
修复了错误
#75857
(格式化时时区被截断)。
修复了错误
#75928
(`DateTimeZone::listIdentifiers()` 的参数 2 应该接受 `null`)。
修复了错误
#68406
(对 DateTimeZone 对象调用 var_dump 会修改它)。
PGSQL
修复了错误
#75838
(pg_escape_bytea() 中的内存泄漏)。
ODBC
修复了错误
#73725
(无法检索 varchar(max) 类型的值)。
LDAP
修复了错误
#49876
(修复 64 位发行版上的 LDAP 路径查找)。
libxml2
修复了错误
#75871
(在可用时使用 pkg-config)。
Phar
修复了错误
#65414
(在正确添加文件时处理前导斜杠)。
SPL
修复了错误
#74519
(AppendIterator 的奇怪行为)。
标准
修复了错误
#75916
(DNS_CAA 记录结果包含垃圾数据)。
修复了错误
#75981
(解析 HTTP 响应时出现堆栈缓冲区溢出)。(CVE-2018-7584)
版本 7.1.14
2018年2月1日
核心
修复了错误
#75679
(路径 260 个字符问题)。
修复了错误
#75786
(对通过引用传递的生成器使用扩展运算符时出现段错误)。
修复了错误
#75799
(get_defined_functions 的参数是可选的)。
修复了错误
#75396
(生成器内部的 Exit 导致致命错误)。
修复了错误
#75079
(self 关键字导致在特征中的闭包中生成不正确的 TypeError)。
FCGI
修复了错误
#75794
(当第二个参数为 false 时,getenv() 在 Windows 7.2.1 上崩溃)。
IMAP
修复了错误
#75774
(imap_append 堆损坏)。
Opcache
修复了错误
#75720
(SHM 运行满后,文件缓存未填充)。
修复了错误
#75579
(内部字符串缓冲区溢出可能导致崩溃)。
PGSQL
修复了错误
#75671
(连接到 cockroach 时,pg_version() 崩溃)。
Readline
修复了错误
#75775
(readline_read_history 在文件为空时出现段错误)。
SAPI
修复了错误
#75735
([embed SAPI] sapi_register_post_entry 中出现段错误)。
SOAP
修复了错误
#70469
(即使使用 exceptions=1,SoapClient 也会生成 E_ERROR)。
修复了错误
#75502
(zend_string_release 中出现段错误)。
SPL
修复了错误
#75717
(RecursiveArrayIterator 不会通过引用遍历数组)。
修复了错误
#75242
(RecursiveArrayIterator 没有父类的常量)。
修复了错误
#73209
(RecursiveArrayIterator 不会迭代对象属性)。
标准
修复了错误
#75781
(substr_count 结果不正确)。
版本 7.1.13
2018年1月4日
核心
修复了错误
#75573
(7.1.12 和 7.0.26 中出现段错误)。
修复了错误
#75384
(PHP 似乎与 OneDrive 按需文件不兼容)。
修复了错误
#74862
(定义私有 __clone 时无法克隆实例)。
修复了错误
#75074
(当 is_file() 用于长度超过 260 个字符的字符串时,php 进程崩溃)。
CLI 服务器
修复了错误
#60471
(使用路由器脚本时随机出现“无效请求(意外 EOF)”)。
修复了错误
#73830
(目录不存在)。
FPM
修复了错误
#64938
(libxml_disable_entity_loader 设置在请求之间共享)。
GD
修复了错误
#75571
(gdImageCreateFromGifCtx 中潜在的无限循环)。(CVE-2018-5711)
Opcache
修复了错误
#75608
(“类型推断期间发生缩窄”错误)。
修复了错误
#75579
(内部字符串缓冲区溢出可能导致崩溃)。
修复了错误
#75570
(“类型推断期间发生缩窄”错误)。
PCRE
修复了错误
#74183
(错误发生后 preg_last_error 未返回错误代码)。
Phar
修复了错误
#74782
(.phar 404 页面中的反射型 XSS)。(CVE-2018-5712)
标准
修复了错误
#75511
(fread 未释放未使用的缓冲区)。
修复了错误
#75514
(mt_rand 在 32 位系统上返回的值超出 [$min,$max]+ 范围)(Remi)
修复了错误
#75535
(不恰当地解析 HTTP 响应导致 PHP 段错误)。(CVE-2018-14884)
修复了错误
#75409
(除了 ENOSYS 之外,还接受 EFAULT 作为 getrandom() 缺失的指示符)。
修复了错误
#73124
(php_ini_scanned_files() 未正确报告)。
修复了错误
#75574
(如果参数包含非 ASCII Unicode 字符,则 putenv 无法正常工作)。
Zip
修复了错误
#75540
(使用 libzip 1.3.1 时发生段错误)。
版本 7.1.12
2017年11月23日
核心
修复了错误
#75420
(在 BP_VAR_IS 的 __isset 中修改属性名称时崩溃)。
修复了错误
#75368
(mmap/munmap 在不幸的分配上产生垃圾)。
CLI
修复了错误
#75287
(在关闭函数中执行 chdir 后内置 Web 服务器崩溃)。
Enchant
修复了错误
#53070
(如果未设置路径,enchant_broker_get_path 会崩溃)。
修复了错误
#75365
(Enchant 仍然报告版本 1.1.0)。
Exif
修复了错误
#75301
(Exif 扩展具有内置修订版本)。
GD
修复了错误
#65148
(imagerotate 可能会更改图像尺寸)。
修复了错误
#75437
(imagewebp 的反射错误)。
intl
修复了错误
#75317
(UConverter::setDestinationEncoding 更改源而不是目标)。
interbase
修复了错误
#75453
(ibase_[p]connect 的反射不正确)。
Mysqli
修复了错误
#75434
(mysqli_fetch_all 函数的反射错误)。
OCI8
修复了 valgrind 问题。
OpenSSL
修复了错误
#75363
(openssl_x509_parse 泄漏内存)。
修复了错误
#75307
(openssl_open 函数的反射错误)。
Opcache
修复了错误
#75373
(警告内部错误:大小计算错误)。
PGSQL
修复了错误
#75419
(pg_close() 错误地清除/链接了默认链接)。
SOAP
修复了错误
#75464
(SoapClient::__setSoapHeaders 的反射错误)。
Zlib
修复了错误
#75299
(inflate_init 和 inflate_add 的反射错误)。
版本 7.1.11
2017年10月26日
核心
修复了错误
#75241
(zend_mm_alloc_small() 中的空指针取消引用)。
修复了错误
#75236
(打印错误消息时出现无限循环)。
修复了错误
#75252
(在一个请求中出现两个解析错误时,令牌格式不正确)。
修复了错误
#75220
(在父级上调用 is_callable 时发生段错误)。
修复了错误
#75290
(内部函数的闭包的调试信息包含垃圾参数名称)。
日期
修复了错误
#75055
(timelib_meridian() 中的越界读取)。(CVE-2017-16642)
Apache2Handler
修复了错误
#75311
(错误:“zend_hash_key”在 apache2handler 中没有名为“arKey”的成员)。
Hash
修复了错误
#75303
(sha3 在 bigendian 上挂起)。
Intl
修复了错误
#75318
(UConverter::getAliases() 的参数不是可选的)。
litespeed
修复了错误
#75248
(仅构建 litespeed SAPI 时不会创建二进制目录)。
修复了错误
#75251
(缺少程序前缀和后缀)。
mcrypt
修复了错误
#72535
(arcfour 加密流过滤器导致 php 崩溃)。
MySQLi
修复了错误
#75018
(读取位类型字段时数据损坏)。
OCI8
修复了引用计数错误。
Opcache
修复了错误
#75255
(请求挂起且未完成)。
PCRE
修复了错误
#75207
(应用了 CVE-2016-1283 的上游补丁)。
PDO_mysql
修复了错误
#75177
(类型“bit”作为意外字符串获取)。
SPL
修复了错误
#73629
(SplDoublyLinkedList::setIteratorMode 掩盖内部标志)。
版本 7.1.10
2017年9月28日
核心
修复了错误
#75042
(run-tests.php 在 EXTENSION 块中存在问题)。
BCMath
修复了错误
#44995
(如果 scale != 0,bcpowmod() 失败)。
修复了错误
#46781
(BC 数学错误地处理了负零)。
修复了错误
#54598
(如果模数为 1,bcpowmod() 可能会返回 1)。
修复了错误
#75178
(bcpowmod() 对非整数底数或模数的行为异常)。
CLI 服务器
修复了错误
#70470
(内置服务器截断了跨越 TCP 数据包的标头)。
CURL
修复了错误
#75093
(未检测到 OpenSSL 支持)。
GD
修复了错误
#75124
(gdImageGrayScale() 可能会生成颜色)。
修复了错误
#75139
(libgd/gd_interpolation.c:1786: 可疑的 if ?)。
Gettext
修复了错误
#73730
(textdomain(null) 在严格模式下抛出异常)。
Intl
修复了错误
#75090
(IntlGregorianCalendar 没有父类的常量)。
修复了错误
#75193
(collator_convert_object_to_string 中的段错误)。
PDO_OCI
修复了错误
#74631
(PHP-FPM 中的 PDO_PCO:在 PHP-FPM 设置 OCI 环境之前初始化它)。
SPL
修复了错误
#75155
(当附加另一个 AppendIterator 时,AppendIterator::append() 会中断)。
修复了错误
#75173
(AppendIterator::append 在 foreach 循环中的行为不正确)。
标准
修复了错误
#75152
(parse_iv 中的带符号整数溢出)。
修复了错误
#75097
(如果您的主机名长度为 64 个字符,则 gethostname 失败)。
版本 7.1.9
2017年8月31日
核心
修复了错误
#74947
(扫描程序在 INF 数字上出现段错误)。
修复了错误
#74954
(zend_generator_resume() 中的空指针取消引用和段错误)。
修复了错误
#74725
(html_errors=1 中断了未处理的异常)。
修复了错误
#75063
(主 CWD 初始化了错误的代码页)。
修复了错误
#75349
(NAN 比较)。
cURL
修复了错误
#74125
(修复在具有多架构支持的系统上查找 CURL)。
日期
修复了错误
#75002
(timelib_time_clone 中的空指针取消引用)。
Intl
修复了错误
#74993
(某些 locale_* 函数的反射错误)。
Mbstring
修复了错误
#71606
(使用 HTML-ENTITIES 编码的 mb_strcut 出现段错误)。
修复了错误
#62934
(mb_convert_kana() 未转换迭代标记)。
修复了错误
#75001
(mb_eregi_replace 的反射错误)。
MySQLi
修复了错误
#74968
(在使用抽象类调用 mysqli_result::fetch_object 时,PHP 崩溃)。
OCI8
公开了 oci_unregister_taf_callback() (Tianfang Yang)
Opcache
修复了错误
#74980
(类型推断期间发生了缩小)。
phar
修复了错误
#74991
(include_path 在某些情况下有 4096 个字符的限制)。
Reflection
修复了错误
#74949
(_function_string 中的空指针取消引用)。
Session
修复了错误
#74892
(URL 重写(trans_sid)在以“#”开头的 URL 上不起作用)。
修复了错误
#74833
(SID 常量使用错误的模块编号创建)。
SimpleXML
修复了错误
#74950
(simplexml_element_getDocNamespaces 中的空指针取消引用)。
SPL
修复了错误
#75049
(spl_autoload_unregister 无法处理 spl_autoload_functions 结果)。
修复了错误
#74669
(ArrayIterator 的反序列化已损坏)。
修复了错误
#74977
(追加 AppendIterator 会导致段错误)。
修复了错误
#75015
(递归迭代器析构函数中的崩溃)。
标准
修复了错误
#75075
(使用 X* 的 unpack 导致无限循环)。
修复了错误
#74103
(反序列化无效数组大小时的堆使用后释放)。(CVE-2017-12932)
修复了错误
#75054
(在执行反序列化时发现了拒绝服务漏洞)。
WDDX
修复了错误
#73793
(WDDX 使用错误的小数分隔符)。
XMLRPC
修复了错误
#74975
(带有已声明属性的类的 xmlrpc 序列化不正确)。
版本 7.1.8
2017年8月3日
核心
修复了错误
#74832
(使用已注册的函数名加载 PHP 扩展会导致崩溃)。
修复了错误
#74780
(当查询字符串包含冒号时,parse_url() 中断)。
修复了错误
#74761
(在某些系统上出现“预期一元运算符”错误)。
修复了错误
#73900
(unserialize() SplFixedArray 中的释放后使用)。
修复了错误
#74923
(在遍历网络共享时崩溃)。
修复了错误
#74913
(修复了不正确的 poll.h 包含)。
修复了错误
#74906
(修复了不正确的 errno.h 包含)。
日期
修复了错误
#74852
(property_exists 在未知的 DateInterval 属性上返回 true)。
OCI8
修复了错误
#74625
(oci_bind_array_by_name 中的整数溢出)。
Opcache
修复了错误
#74623
(使用 HTMLPurifier 时类型推断中的无限循环)。
OpenSSL
修复了错误
#74798
(如果内容中使用了 \x0a,则 pkcs7_en/decrypt 无法工作)。
添加了 OPENSSL_DONT_ZERO_PAD_KEY 常量以防止密钥填充并修复错误
#71917
(openssl_open() 在信封 < 16 字节时返回垃圾数据)和错误
#72362
(OpenSSL Blowfish 加密对于短密钥不正确)。
PDO
修复了错误
#69356
(PDOStatement::debugDumpParams() 截断查询)。
SPL
修复了错误
#73471
(PHP 使用 AppendIterator 时冻结)。
SQLite3
修复了错误
#74883
(SQLite3::__construct() 使用无效标志产生“内存不足”异常)。
Wddx
修复了错误
#73173
(wddx_unserialize 时出现巨大的内存泄漏)。
修复了错误
#74145
(wddx 解析空布尔标签导致 SIGSEGV)。(CVE-2017-11143)
zlib
修复了错误
#73944
(inflate_init() 的字典选项不起作用)。
版本 7.1.7
2017年7月6日
核心
修复了错误
#74738
(未正确解析多个 [PATH=] 和 [HOST=] 部分)。
修复了错误
#74658
(数组属性中的未定义常量导致属性损坏)。
修复了抽象 Unix 域套接字名称的错误解析。
修复了错误
#74603
(PHP INI 解析堆栈缓冲区溢出漏洞)。(CVE-2017-11628)
修复了错误
#74101
(在 zval_get_type 中的反序列化堆使用后释放 (READ: 1))。(CVE-2017-12934)
修复了错误
#74111
(来自反序列化的堆缓冲区过读 (READ: 1) finish_nested_data)。(CVE-2017-12933)
修复了错误
#74819
(wddx_deserialize() 通过 php_parse_date() 进行堆越界读取)。(CVE-2017-11145)
日期
修复了错误
#74639
(为 DatePeriod 和 DateInterval 实现克隆)。
DOM
修复了错误
#69373
(对已删除的 XPath 查询结果的引用)。
GD
修复了错误
#74435
(缓冲区过读到未初始化的内存)。(CVE-2017-7890)
Intl
修复了错误
#73473
(msgfmt_parse_message 中的堆栈缓冲区溢出)。(CVE-2017-11362)
修复了错误
#74705
(Collator::getSortKey 和 collator_get_sort_key 上的错误反射)。
Mbstring
添加了 oniguruma 上游修复 (CVE-2017-9224、CVE-2017-9226、CVE-2017-9227、CVE-2017-9228、CVE-2017-9229)
OCI8
添加 TAF 回调 (PR
GH-2459
)。
Opcache
修复了错误
#74663
(使用 opcache.memory_protect 和 validate_timestamp 时的段错误)。
将 opcache.enable_cli 回退到默认的禁用状态。
OpenSSL
修复了错误
#74720
(如果内容中使用了 \x1a,则 pkcs7_en/decrypt 无法工作)。
修复了错误
#74651
(zif_openssl_seal() 中的 memcpy 中的负大小参数 (-1))。(CVE-2017-11144)
PDO_OCI
在 --with-pdo-oci 配置选项中支持 Instant Client 12.2。
Reflection
修复了错误
#74673
(将 Reflection 对象强制转换为具有未定义常量的字符串时的段错误)。
SPL
修复了错误
#74478
(空合并运算符在 SplFixedArray 中失败)。
FTP
修复了错误
#74598
(ftp:// 包装器忽略上下文参数)。
PHAR
修复了错误
#74386
(Phar::__construct 反射不正确)。
SOAP
修复了错误
#74679
(使用 WSDL_CACHE_MEMORY 的数组转换不正确)。
流
修复了错误
#74556
(stream_socket_get_name() 返回 '\0')。
版本 7.1.6
2017年6月7日
核心
修复了错误
#74600
(_zend_hash_add_or_update_i 中的崩溃 (SIGSEGV))。
修复了错误
#74546
(ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST 中的 SIGILL)。
修复了错误
#74589
(__DIR__ 对 Unicode 字符不正确)。
intl
修复了错误
#74468
(Collator::sortWithSortKeys 上的错误反射)。
MySQLi
修复了错误
#74547
(mysqli::change_user() 在 strict_types 下不接受 null 作为 $database 参数)。
Opcache
修复了错误
#74596
(启用 opcache.revalidate_path 时出现 SIGSEGV)。
phar
修复了错误
#51918
(Phar::webPhar() 不处理通过 PUT 和 DELETE 方法发送的请求)。
Readline
修复了错误
#74490
(readline() 将光标移动到行的开头)。
标准
修复了错误
#74510
(win32/sendmail.c 锚定 CC 标头但不锚定 BCC)。
xmlreader
修复了错误
#74457
(XMLReader::expand 上的错误反射)。
版本 7.1.5
2017年5月11日
核心
修复了错误
#74408
(无限循环绕过执行时间限制)。
修复了错误
#74353
(在 bash 脚本 trap 代码中终止时出现段错误)。
修复了错误
#74340
(魔术函数 __get 在 php 7.1.x 中的行为不同)。
修复了错误
#74188
(空合并运算符对未声明的静态类属性失败)。
修复了错误
#74444
(在某些情况下,多个捕获会冻结)。
修复了错误
#74410
(stream_select() 在 Windows Nanoserver 上已损坏)。
修复了错误
#74337
(php-cgi.exe 在 Facebook 回调时崩溃)。
日期
修复了错误
#74404
(DateTimeZone::getTransitions 上的错误反射)。
修复了错误
#74080
(为 RFC7231 格式日期时间添加常量)。
DOM
修复了错误
#74416
(DOMNode::cloneNode 上的错误反射)。
Fileinfo
修复了错误
#74379
(libmagic/apprentice.c 中的语法错误编译错误)。
GD
修复了错误
#74343
(使用系统 gd2 库在 solaris 11 上编译失败)。
MySQLnd
修复了错误
#74376
(在错误/连接丢失时对持久结果的无效释放)。
Intl
修复了错误
#65683
(Intl 不支持 DateTimeImmutable)。
修复了错误
#74298
(IntlDateFormatter->format() 不返回微秒/分数)。
修复了错误
#74433
(Normalizer 方法的错误反射)。
修复了错误
#74439
(Locale 方法的错误反射)。
Opcache
修复了错误
#74456
(在 CLI 模式下运行脚本时出现分段错误)。
修复了错误
#74431
(foreach 无限循环)。
修复了错误
#74442
(Opcached 版本生成嵌套数组)。
OpenSSL
修复了错误
#73833
(openssl_pkey_get_private 中不允许使用空字符)。
修复了错误
#73711
(在生成 DSA 或 DH 密钥时,openssl_pkey_new 中出现段错误)。
修复了错误
#74341
(openssl_x509_parse 无法解析没有秒的 ASN.1 UTCTime)。
phar
修复了错误
#74383
(phar 方法参数反射更正)。
Readline
修复了错误
#74489
(readline() 在交互式控制台模式下立即返回 false)。
标准
修复了错误
#72071
(setcookie 允许 max-age 为负数)。
修复了错误
#74361
(array_rand() 中的压缩违反 COW)。
流
修复了错误
#74429
(具有唯一持久性标识符的远程套接字 URI 已损坏)。
版本 7.1.4
2017年4月13日
核心
修复了错误
#74149
(静态嵌入 SAPI 链接错误)。
修复了错误
#73370
(在使用 USE_ZEND_ALLOC=0 时错误地退出“内存不足”)。
修复了错误
#73960
(使用引用返回的实例方法调用静态方法时的泄漏)。
修复了错误
#69676
(类常量中 self::FOO 的解析不正确)。
修复了错误
#74265
(7.0.17 版本发布后的构建问题:对 `isfinite` 的未定义引用)。
修复了错误
#74302
(yield fromLABEL 过于贪婪)。
Apache
回退了错误
#61471
的补丁,修复了错误
#74318
。
日期
修复了错误
#72096
(1970 年之前的日期的 Swatch 时间值不正确)。
DOM
修复了错误
#74004
(LIBXML_NOWARNING 标志在 loadHTML* 上被忽略)。
iconv
修复了错误
#74230
(iconv 无法在代理上失败)。
Opcache
修复了错误
#74250
(PHP 5.6/7 中具有大型类的 OPcache 编译性能下降)。
OpenSSL
修复了错误
#72333
(在非阻塞 SSL 套接字上 fwrite() 不起作用)。
PDO MySQL
修复了错误
#71003
(将 MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT 公开到 PDO 接口)。
SPL
修复了错误
#74058
(ArrayObject 无法注意到更改)。
SQLite
修复了错误
#74217
(允许创建确定性 sqlite 函数)。
流
修复了错误
#74216
(在无效的 IP 地址端口上正确失败)。
zlib
修复了错误
#74240
(deflate_add 可以分配过多的内存)。
版本 7.1.3
2017年3月16日
核心
修复了错误
#74157
(嵌套生成器出现段错误)。
修复了错误
#74164
(当无效值动态传递给类型提示的按引用参数时,PHP 挂起)。
修复了错误
#74093
(n+2 秒的执行时间限制超过未写入 error_log)。
修复了错误
#73989
(PHP 7.1 在 Symfony 测试套件中出现段错误)。
修复了错误
#74084
(越界读取 - zend_mm_alloc_small)。
修复了错误
#73807
(处理大型 POST 请求时的性能问题)。(CVE-2017-11142)
修复了错误
#73998
(array_key_exists 在由 get_object_vars 创建的数组上失败)。
修复了错误
#73954
(NAN 检查在 Alpine Linux 上使用 musl 时失败)。
修复了错误
#73677
(使用启用 gcc ASAN 构建生成 phar.phar 内核转储)。
Apache
修复了错误
#61471
(不完整的 POST 不会超时,而是传递给 PHP)。
日期
修复了错误
#73837
(“new DateTime()”有时会返回 1 秒前的值)。
FPM
修复了错误
#69860
(php-fpm 进程计费在使用 keepalive 时出现故障)。
Hash
修复了错误
#73127
(如果输入数据包含较长的 0xFF 序列,gost-crypto 哈希值不正确)。
GD
修复了错误
#74031
(imagepng 的 ReflectionFunction 缺少最后两个参数)。
Mysqlnd
修复了错误
#74021
(fetch_array 数据损坏。数据大于 MEDIUMBLOB)。
Opcache
修复了错误
#74019
(使用 list() 导致段错误)。
OpenSSL
修复了错误
#74022
(PHP Fast CGI 在读取 pfx 文件时崩溃)。
修复了错误
#74099
(openssl_encrypt() 存在内存泄漏)。
标准
修复了错误
#74005
(mail.add_x_header 导致违反 RFC 的单独换行符)。
修复了错误
#74041
(length=0 时 substr_count 出现故障)。
修复了错误
#73118
(对于匿名类,is_callable 可调用名称报告误导性的值)。
修复了错误
#74105
(当 getrandom 不可用时,Linux 上的 PHP 应使用 /dev/urandom)。
流
修复了错误
#73496
(zend_inline_hash_func 中的无效内存访问)。
修复了错误
#74090
(stream_get_contents maxlength>-1 返回空字符串)。
版本 7.1.2
2017 年 2 月 16 日
核心
改进了 GENERATOR_CREATE 操作码处理程序。
修复了错误
#73877
(readlink() 对 UTF-8 路径返回垃圾数据)。
修复了错误
#73876
(在赋值操作扩展中导出 **= 时崩溃)。
修复了错误
#73962
(与西里尔字母目录相关的符号链接错误)。
修复了错误
#73969
(debug_print_backtrace 中的段错误)。
修复了错误
#73994
(unpack 的 arginfo 不正确)。
修复了错误
#73973
(debug_zval_dump 中的断言错误)。
DOM
修复了错误
#54382
(getAttributeNodeNS 无法获取 xmlns* 属性)。
DTrace
修复了错误
#73965
(禁用时报告 DTrace 已启用)。
FCGI
修复了错误
#73904
(php-cgi 无法加载 -c 指定的 php.ini 文件)。
修复了错误
#72898
(phpinfo() 中未包含 PHP_FCGI_CHILDREN)。
FPM
修复了错误
#69865
(php-fpm 在使用 syslog 时不会关闭 stderr)。
GD
修复了错误
#73968
(XBM 读取过早失败)。
GMP
修复了错误
#69993
(gmp.h 的测试需要测试机器包含文件)。
Hash
添加了 hash_hkdf() 函数。
修复了错误
#73961
(hash sha3 源代码中的环境构建依赖项)。
Intl
修复了错误
#73956
(链接使用 CC 而不是 CXX)。
LDAP
修复了错误
#73933
(ldap_mod_replace 和 opcache 存在错误/段错误)。
MySQLi
修复了错误
#73949
(mysqli_fetch_object 中的内存泄漏)。
Mysqlnd
修复了错误
#69899
(使用 mysqlnd 在 free_result() 后执行 close() 时出现段错误)。
Opcache
修复了错误
#73983
(在 CLI + opcache 中使用 phar 完成工作时崩溃)。
OpenSSL
修复了错误
#71519
(将十六进制序列添加到返回值数组中)。
修复了错误
#73692
(在 Win 上使用 openssl 1.1.0 编译 ext/openssl)。
修复了错误
#73978
(openssl_decrypt 触发 PDO 中的错误)。
PDO_Firebird
实现了 FR
#72583
(所有数据都作为字符串获取)。
PDO_PgSQL
修复了错误
#73959
(对于错误的序列名称,lastInsertId 无法抛出异常)。
Phar
修复了错误
#70417
(PharData::compress() 不会关闭临时文件)。
posix
修复了错误
#71219
(配置脚本错误地检查 ttyname_r)。
Session
修复了错误
#69582
(CLI 中 root 无法读取会话)。
SPL
修复了错误
#73896
(spl_autoload() 在调用魔术 _call() 时崩溃)。
标准
修复了错误
#69442
(启用 PTS 时 fd 关闭不正确)。
修复了错误
#47021
(SoapClient 遇到使用“Transfer-Encoding: chunked”传递的 WSDL)。
修复了错误
#72974
(AIX 上 imap 是未定义的服务)。
修复了错误
#72979
(money_format 在 AIX 上存储错误的长度)。
修复了错误
#73374
(基数为 0 的 intval() 应检测二进制)。
修复了错误
#69061
(mail.log = syslog 包含双重信息)。
ZIP
修复了错误
#70103
(ZipArchive::addGlob 忽略 remove_all_path 选项)。
版本 7.1.1
2017 年 1 月 19 日
核心
修复了错误
#73792
(无效的 foreach 循环导致脚本挂起)。
修复了错误
#73686
(将 settype() 处理后的值添加到 ArrayObject 会导致引用)。
修复了错误
#73663
(使用 list() 创建的变量会出现“Invalid opcode 65/16/8”错误)。
修复了错误
#73727
(zend_bitset.h 中 ZEND_MM_BITSET_LEN 是“未定义的符号”)。
修复了错误
#73753
(反序列化的数组指针没有前进)。
修复了错误
#73783
(启用 Zend 信号时 SIG_IGN 不起作用)。
修复了错误
#73825
(在 finish_nested_data() 中反序列化时出现堆越界读取)。(CVE-2016-10161)
修复了错误
#73831
(反序列化 PHP 对象时出现空指针取消引用)。(CVE-2016-10162)
修复了错误
#73832
(在反序列化中使用未初始化的内存)。(CVE-2017-5340)
修复了错误
#73092
(调整对象属性哈希表大小时,反序列化出现 use-after-free)。(CVE-2016-7479)
CLI
修复了错误
#72555
(Windows 上的 CLI 输出(日语))。
COM
修复了错误
#73679
(使用无效代码页时,DOTNET 读取访问冲突)。
DOM
修复了错误
#67474
(在默认命名空间上使用 getElementsByTagNameNS 过滤)。
EXIF
修复了错误
#73737
(解析标签格式时出现浮点异常)。(CVE-2016-10158)
GD
修复了错误
#73869
(gd_io.c 中的带符号整数溢出)。(CVE-2016-10168)
修复了错误
#73868
(gdImageCreateFromGd2Ctx() 中的 DOS 漏洞)。(CVE-2016-10167)
mbstring
修复了错误
#73646
(mb_ereg_search_init 空指针取消引用)。
MySQLi
修复了错误
#73462
(持久连接未设置 $connect_errno)。
mysqlnd
优化了对 BIT 字段的处理 - 减少内存复制并降低内存使用量。
修复了错误
#73800
(MYSQLI_OPT_INT_AND_FLOAT_NATIVE 偶尔出现段错误)。
opcache
修复了错误
#73789
(switch/case 代码块中类常量的奇怪行为)。
修复了错误
#73746
(返回字符串的方法返回 UNKNOWN:0 而不是字符串)。
修复了错误
#73654
(zend_call_function 中的段错误)。
修复了错误
#73668
(除以 -1 时,opcache 中出现“SIGFPE Arithmetic exception”错误)。
修复了错误
#73847
(将变量重新定义为数组时出现递归)。
PDO Firebird
修复了错误
#72931
(PDO_FIREBIRD 与 Firebird 3.0 无法在返回语句上工作)。
Phar
修复了错误
#73773
(加载恶意 phar 时出现段错误)。(CVE-2017-11147)
修复了错误
#73768
(加载恶意 phar 时出现内存损坏)。(CVE-2016-10160)
修复了错误
#73764
(加载恶意 phar 存档时崩溃)。(CVE-2016-10159)
phpdbg
修复了错误
#73794
(使用 run 和 # 命令分隔符时崩溃(内存不足))。
修复了错误
#73704
(phpdbg 在包含 shebang 的文件中显示错误的行)。
SQLite3
回退了修复错误
#73530
(取消设置结果集可能会重置其他结果集)的修复。
标准
修复了错误
#73594
(dns_get_record 不会填充 $additional 输出参数)。
修复了错误
#70213
(在双类查找上共享反序列化上下文)。
修复了错误
#73154
(序列化带有 __sleep 函数的对象导致崩溃)。
修复了错误
#70490
(get_browser 函数速度非常慢)。
修复了错误
#73265
(启动时加载 browscap.ini 会导致高内存使用)。
(将主题添加到邮件日志)。
修复了错误
#31875
(get_defined_functions 添加参数以排除禁用的函数)。
zlib
修复了错误
#73373
(deflate_add 无法验证输出是否未被截断)。
版本 7.1.0
2016 年 12 月 1 日
核心
添加了可空类型。
添加了基于 e-SSA 形式的 DFA 优化框架。
添加了专门的操作码处理程序(例如 ZEND_ADD_LONG_NO_OVERFLOW)。
添加了 [] = 作为 list() = 的替代构造。
添加了 void 返回类型。
在字符串偏移量语法和各种字符串函数中添加了对负字符串偏移量的支持。
添加了一种 list() 构造的形式,其中可以指定键。
实现了安全的执行超时处理,防止在“Maximum execution time exceeded”错误后出现随机崩溃。
实现了 RFC `支持类常量可见性`。
实现了 RFC `捕获多种异常类型`。
实现了使用动态错误级别的 syslog 日志记录。
实现了 FR
#72614
(支持通过 phpize 构建扩展时使用“nmake test”)。
实现了 RFC: 可迭代。
实现了 RFC: Closure::fromCallable (Danack)
实现了 RFC: 将“缺少参数”警告替换为“\ArgumentCountError”异常。
实现了 RFC: 修复 $this 变量的行为不一致问题。
修复了错误
#73585
(“Internal Zend error - Missing class information”日志缺少类名)。
修复了内存泄漏(使用 Spl 哈希时的空合并运算符)。
修复了错误
#72736
(使用 mysqli / PDO 获取大型数据集时性能下降)。
修复了错误
#72978
(反序列化中的 Use After Free 漏洞)。(CVE-2016-9936)
修复了错误
#72482
(由 gdImageAALine 溢出导致的非法写入/读取访问)。
修复了错误
#72696
(在真彩色图像上,imagefilltoborder 出现堆栈溢出)。(CVE-2016-9933)
修复了错误
#73350
(Exception::__toString() 导致循环引用)。
修复了错误
#73329
((Float)"Nano" == NAN)。
修复了错误
#73288
(__clone > Exception.toString > __get 中的段错误)。
修复了
#73240
(number_format 中的越界写入)。
修复交叉编译时的 pthreads 检测(ffontaine)
修复了错误
#73337
(try/catch 在同一操作中包含两个异常时无法工作)。
修复了错误
#73156
(在未定义函数上出现段错误)。
修复了错误
#73163
(如果错误处理程序在默认值中访问未定义的常量时抛出异常,PHP 会挂起)。
修复了错误
#73172
(解析错误:无效的数字文字)。
修复了错误
#73181
(没有第二个参数时,parse_str() 会导致崩溃)。
修复了错误
#73025
(zend_virtual_cwd.c 中 virtual_popen 的堆缓冲区溢出)。
修复了错误
#73058
(salt “太”长时 crypt 出现故障)。
修复了错误
#72944
(zval_delref_p 中的空指针取消引用)。
修复了错误
#72943
(字符串上的 assign_dim 不会重置 hval)。
修复了错误
#72598
(array_slice() 后引用丢失)。
修复了错误
#72703
(由 password_verify 触发的 BF_crypt 中的越界全局内存读取)。
修复了错误
#72813
(__get 通过引用返回时出现段错误)。
修复了错误
#72767
(尝试扩展无限运算符时,PHP 出现段错误)。
现在,对于 arg_info 类型检查的 TypeError 消息将在参数或返回类型接受 null 时显示“必须是...或 null”。
修复了错误
#72857
(stream_socket_recvfrom 读取访问冲突)。
修复了错误
#72663
(在反序列化中创建意外对象且不调用 __wakeup())。
修复了错误
#72681
(PHP 会话数据注入漏洞)。
修复了错误
#72742
(内存分配器无法将小块重新分配到大块)。
修复了 URL 重写器。它不会无条件地重写“//example.com/”URL。已实现 URL 重写目标主机白名单。
修复了错误
#72641
(phpize(在 Windows 上)忽略 PHP_PREFIX)。
修复了错误
#72683
(getmxrr 损坏)。
修复了错误
#72629
(捕获的异常赋值给变量会忽略引用)。
修复了错误
#72594
(调用包含的匿名类的早期实例会导致致命错误)。
修复了错误
#72581
(反序列化后,Exception 中的先前属性未定义)。
修复了错误
#72543
(与 PHP 5 相比,引用的行为不同)。
修复了错误
#72347
(VERIFY_RETURN 类型转换在 finally 中可见)。
修复了错误
#72216
(使用 finally 进行引用返回不安全)。
修复了错误
#72215
(如果在 finally 中修改了变量,则返回值错误)。
修复了错误
#71818
(当数组在析构函数中被修改时内存泄漏)。
修复了错误
#71539
(如果 RHS 重新散列,则在 $arr[$a] =& $arr[$b] 上出现内存错误)。
添加了新的常量 PHP_FD_SETSIZE。
向 getopt() 添加了 optind 参数。
为日志添加了 PHP 到 SAPI 错误严重性映射。
修复了错误
#71911
(在 Windows 上使用 phpize 构建扩展时无法设置 --enable-debug)。
修复了错误
#29368
(当从构造函数抛出异常时会调用析构函数)。
实现了 RFC:RNG 修复。
根据 RFC 6531 实现了电子邮件验证。
修复了错误
#72513
(virtual_file_ex 中的基于栈的缓冲区溢出漏洞)。
修复了错误
#72573
(一些 PHP 库和应用程序错误地信任 HTTP_PROXY)。
修复了错误
#72523
(反射的 dtrace 问题(测试失败))。
修复了错误
#72508
(递归函数调用和“switch”语句后的奇怪引用)。
修复了错误
#72441
(段错误:RFC list_keys)。
修复了错误
#72395
(list() 回归)。
修复了错误
#72373
(生成器函数带有声明的返回类型完成后出现 TypeError)。
修复了错误
#69489
(如果回退到临时目录,tempnam() 应该发出通知)。
修复了 Windows 上的 UTF-8 和长路径支持。
修复了错误
#53432
(通过空字符串上的字符串索引访问进行赋值会转换为数组)。
修复了错误
#62210
(异常可能会泄漏临时变量)。
修复了错误
#62814
(可以加强子类成员的可见性)。
修复了错误
#69989
(生成器不参与循环 GC)。
修复了错误
#70228
(如果在 finally 块中返回则出现内存泄漏)。
修复了错误
#71266
(在 foreach 等中缺少属性 HT 的分离)。
修复了错误
#71604
(中止的生成器在嵌套的 finally 后继续)。
修复了错误
#71572
(来自空字符串的字符串偏移量赋值会插入空字节)。
修复了错误
#71897
(标识符中允许使用 ASCII 0x7F 删除控制字符)。
修复了错误
#72188
(嵌套的 try/finally 块丢失返回值)。
修复了错误
#72213
(finally 在嵌套异常上泄漏)。
修复了错误
#47517
(php-cgi.exe 缺少 UAC 清单)。
更改语句和 fcall 扩展处理程序以接受帧。
获取数字字符串的数字运算符在给出格式错误的数字字符串时现在会发出 E_NOTICEs 或 E_WARNINGs。
(int)、intval()(其中 $base 为 10 或未指定)、settype()、decbin()、decoct()、dechex()、整数运算符和其他转换现在始终尊重数字字符串中的科学记数法。
在八进制转义序列溢出时引发编译时警告。
Apache2handler
在 Apache 2.4+ 中启用每个模块的日志记录。
BCmath
修复了错误
#73190
(memcpy 负参数 _bc_new_num_ex)。
Bz2
修复了错误
#72837
(bzdecompress 中的整数溢出导致堆损坏)。
修复了错误
#72613
(bzread() 中的错误处理不足)。
日历
修复整数溢出(Joshua Rogers)
修复了错误
#67976
(cal_days_month() 对于法式日历的最后一个月份失败)。
修复了错误
#71894
(AddressSanitizer:zif_cal_from_jd 中的全局缓冲区溢出)。
CLI 服务器
修复了错误
#73360
(无法在根目录下使用 Unicode 字符工作)。
修复了错误
#71276
(内置 Web 服务器不发送 Date 标头)。
COM
修复了错误
#73126
(无法通过引用传递参数 1)。
修复了错误
#69579
(扩展特性中的无效释放)。
修复了错误
#72922
(从 PHP 调用的 COM 不返回输出参数)。
修复了错误
#72569
(PHP7 中的 DOTNET/COM 数组参数损坏)。
修复了错误
#72498
(variant_date_from_timestamp 空指针解除引用)。
Curl
实现对处理 HTTP/2 服务器推送的支持。
添加 curl_multi_errno()、curl_share_errno() 和 curl_share_strerror() 函数。
修复了错误
#72674
(curl_escape 中的堆溢出)。
修复了错误
#72541
(size_t 溢出导致堆损坏)。(Stas)。
修复了错误
#71709
(curl_setopt 使用空的 CURLOPT_HTTPHEADER 导致段错误)。
修复了错误
#71929
(CURLINFO_CERTINFO 数据解析错误)。
日期
修复了错误
#69587
(DateInterval 属性和 isset)。
修复了错误
#73426
(使用“z”格式字符的 createFromFormat 会导致时间错误)。
修复了错误
#45554
(u 格式字符的行为不一致)。
修复了错误
#48225
(DateTime 解析器没有为“now”设置微秒)。
修复了错误
#52514
(DateTime 类中缺少微秒)。
修复了错误
#52519
(DateInterval 中缺少微秒)。
修复了错误
#60089
(DateTime::createFromFormat() U 在 u 后会删除微秒)。
修复了错误
#64887
(允许使用亚秒级项目修改 DateTime)。
修复了错误
#68506
(微秒变得有用所需的通用 DateTime 改进)。
修复了错误
#73109
(timelib_meridian 没有正确解析点)。
修复了错误
#73247
(DateTime 构造函数没有初始化微秒属性)。
修复了错误
#73147
(PHP7 反序列化中的使用后释放)。
修复了错误
#73189
(memcpy 负大小参数 php_resolve_path)。
修复了错误
#66836
(DateTime::createFromFormat 'U' 在 1970 年之前的日期解析失败)。
DateTime 或 DatePeriod 对象的无效序列化数据现在将从 __wakeup() 或 __set_state() 中抛出一个 Error 实例,而不是导致致命错误。
来自序列化数据的时区初始化失败现在将从 __wakeup() 或 __set_state() 中抛出一个 Error 实例,而不是导致致命错误。
导出 date_get_interface_ce() 以供扩展使用。
修复了错误
#63740
(strtotime 似乎同时使用星期日和星期一作为一周的开始)。
Dba
修复了错误
#70825
(无法使用 ini 文件中的组获取多个值)。
数据修改函数(例如:dba_insert())现在会抛出一个 Error 实例,而不是在键不包含两个元素时触发可捕获的致命错误。
DOM
修复了错误
#73150
(dom_document_save_html 中缺少 NULL 检查)。
修复了错误
#66502
(DOM 文档悬空引用)。
无效的模式或 RelaxNG 验证上下文将抛出一个 Error 实例,而不是导致致命错误。
尝试注册不扩展相应基类的节点类现在将抛出一个 Error 实例,而不是导致致命错误。
尝试读取无效属性或写入只读属性将抛出一个 Error 实例,而不是导致致命错误。
DTrace
默认情况下禁用 PHP 调用跟踪(它会产生很大的开销)。可以使用环境变量 USE_ZEND_DTRACE=1 再次启用它。
EXIF
修复了错误
#72735
(三星图片缩略图未读取(大小为零))。
修复了错误
#72627
(exif_process_IFD_in_TIFF 中的内存泄漏)。
修复了错误
#72603
(exif_process_IFD_in_MAKERNOTE 中的越界读取)。
修复了错误
#72618
(exif_process_user_comment 中的空指针解除引用)。
过滤器
修复了错误
#72972
(FILTER_FLAG_NO_RES_RANGE 和 FILTER_FLAG_NO_PRIV_RANGE 的错误过滤器)。
修复了错误
#73054
(将对象传递给 int 过滤器时忽略默认选项)。
修复了错误
#71745
(FILTER_FLAG_NO_RES_RANGE 涵盖范围不包括整个 127.0.0.0/8)。
FPM
修复了错误
#72575
(使用 --allow-to-run-as-root 应该忽略缺少的用户)。
FTP
修复了错误
#70195
(无法使用 ftp_put 将文件上传到使用 require_ssl_reuse 的 FTPES)。
实现了 FR
#55651
(忽略返回的 FTP PASV 地址的选项)。
GD
修复了错误
#73213
(imageline() 带抗锯齿的整数溢出)。
修复了错误
#73272
(imagescale() 不受 imagesetinterpolation() 的影响,但会影响它)。
修复了错误
#73279
(gdImageScaleBilinearPalette() 中的整数溢出)。
修复了错误
#73280
(GD dynamicGetbuf 中的栈缓冲区溢出)。
修复了错误
#50194
(imagettftext 在没有 alphablending 的透明背景上损坏)。
修复了错误
#73003
(gd_webp.c 的 gdImageWebpCtx 中的整数溢出)。
修复了错误
#53504
(imagettfbbox 为边界框提供错误的值)。
修复了错误
#73157
(如果给出 4 个参数,imagegd2() 会忽略第 3 个参数)。
修复了错误
#73155
(imagegd2() 在边界上写入错误的块大小)。
修复了错误
#73159
(imagegd2():无法识别的格式可能导致文件损坏)。
修复了错误
#73161
(imagecreatefromgd2() 可能会泄漏内存)。
修复了错误
#67325
(imagetruecolortopalette:调色板中重复白色)。
修复了错误
#66005
(imagecopy 不支持真彩色图像上的 1 位透明度)。
修复了错误
#72913
(imagecopy() 在调色板图像上丢失单色透明度)。
修复了错误
#68716
(_php_image_convert() 中可能存在的资源泄漏)。
修复了错误
#72709
(imagesetstyle() 导致空 $styles 的 OOB 读取)。
修复了错误
#72697
(select_colors 写入越界)。
修复了错误
#72730
(imagegammacorrect 允许任意写入访问)。
修复了错误
#72596
(imagetypes 函数不会宣传 WEBP 支持)。
修复了错误
#72604
(imagearc() 忽略完整圆弧的厚度)。
修复了错误
#70315
(500 服务器错误,但页面已完全呈现)。
修复了错误
#43828
(混合模式下真彩色 imagearc 的透明度损坏)。
修复了错误
#72512
(gdImageTrueColorToPaletteBody 允许任意写入/读取访问)。
修复了错误
#72519
(imagegif/output 越界访问)。
修复了错误
#72558
(_gdContributionsAlloc() 中的整数溢出错误)。
修复了错误
#72482
(由 gdImageAALine 溢出导致的非法写入/读取访问)。
修复了错误
#72494
(imagecropauto 越界访问)。
修复了错误
#72404
(imagecreatefromjpeg 在自拍上失败)。
修复了错误
#43475
(粗体样式的线条具有混乱的图案)。
修复了错误
#53640
(XBM 图像要求宽度为 8 的倍数)。
修复了错误
#64641
(imagefilledpolygon 无法绘制水平线)。
Hash
添加了 SHA3 固定模式算法(224、256、384 和 512 位)。
添加了 SHA512/256 和 SHA512/224 算法。
iconv
修复了错误
#72320
(iconv_substr 对空字符串返回 false)。
IMAP
修复了错误
#73418
("_php_imap_mail" 中的整数溢出导致崩溃)。
超过 16385 字节的电子邮件地址将抛出 Error 实例,而不是导致致命错误。
Interbase
修复了错误
#73512
(无法找到 firebird 头文件,因为未使用 fb_config 输出)。
Intl
修复了错误
#73007
(添加区域设置长度检查)。
修复了错误
#73218
(为 ICU 整数溢出添加缓解措施)。
修复了错误
#65732
(grapheme_*() 在 CR LF 序列上不符合 Unicode)。
修复了错误
#73007
(添加区域设置长度检查)。
修复了错误
#72639
(实例化扩展 IntlCalendar 并添加属性的类时出现段错误)。
修复了错误
#72658
(如果未找到匹配项,则 Locale::lookup() / locale_lookup() 挂起)。
部分修复了
#72506
(idn_to_ascii 对于 UTS #46 对长域名不正确)。
修复了错误
#72533
(locale_accept_from_http 越界访问)。
在扩展 Collator 的类中调用父构造函数之前调用父方法将抛出 Error 实例,而不是导致可恢复的致命错误。
克隆 Transliterator 对象现在如果克隆内部转换器失败,将抛出 Error 实例,而不是导致致命错误。
添加了 IntlTimeZone::getWindowsID() 和 IntlTimeZone::getIDForWindowsID()。
修复了错误
#69374
(IntlDateFormatter formatObject 返回错误的 utf8 值)。
修复了错误
#69398
(当时间样式为 NONE 时,IntlDateFormatter formatObject 返回错误的值)。
JSON
引入了编码器结构体而不是全局结构体,修复了与漂亮打印缩进相关的错误
#66025
和
#73254
。
修复了错误
#73113
(抛出 JsonSerializable 时出现段错误)。
在 json_encode 失败时实现了更早的返回,修复了错误
#68992
(JsonSerializable 抛出的堆栈异常)和
#70275
(在递归错误时,json_encode 可能会占用所有系统内存)。
实现了 FR
#46600
(对象中的“_empty_”键)。
导出了 JSON 解析器 API,包括 json_parser_method,可用于在解析 JSON 时实现自定义逻辑。
当 JSON_UNESCAPED_UNICODE 作为 json_encode 选项提供时,转义 U+2028 和 U+2029,并添加 JSON_UNESCAPED_LINE_TERMINATORS 以恢复之前的行为。
LDAP
现在,为 ldap_batch_modify() 提供未知的修改类型将抛出 Error 实例,而不是导致致命错误。
Mbstring
修复了错误
#73532
(mb_eregi 中的空指针取消引用)。
修复了错误
#66964
(mb_convert_variables() 无法检测递归)。
修复了错误
#72992
(mbstring.internal_encoding 不会继承 default_charset)。
修复了错误
#66797
(mb_substr 仅接受 32 位有符号整数)。
修复了错误
#72711
(`mb_ereg` 在失败时不会清除 `$regs` 参数)。
修复了错误
#72691
(如果匹配零宽度,则 mb_ereg_search 会引发警告)。
修复了错误
#72693
(如果匹配零宽度,则 mb_ereg_search 会递增搜索位置)。
修复了错误
#72694
(mb_ereg_search_setpos 不接受字符串的最后一个位置)。
修复了错误
#72710
(`mb_ereg` 在正则表达式编译错误时导致缓冲区溢出)。
弃用 mb_ereg_replace() eval 选项。
修复了错误
#69151
(mb_ereg 应拒绝格式错误的字节序列)。
修复了错误
#72405
(mb_ereg_replace - mbc_to_code (oniguruma) - oob 读取访问)。
修复了错误
#72399
(MBString (search_re) 中的 Use-After-Free)。
如果提供了无效的 PHP 表达式并且使用了“e”选项,则 mb_ereg() 和 mb_eregi() 现在将抛出 ParseError 实例。
Mcrypt
弃用 ext/mcrypt。
修复了错误
#72782
(由于整数溢出导致的堆溢出)。
修复了错误
#72551
,错误
#72552
(从 size_t 到 int 的不正确转换导致 mdecrypt_generic 中的堆溢出)。
如果无法初始化 mcrypt,则 mcrypt_encrypt() 和 mcrypt_decrypt() 将抛出 Error 实例,而不是导致致命错误。
Mysqli
尝试读取无效属性或写入只读属性将抛出一个 Error 实例,而不是导致致命错误。
Mysqlnd
修复了错误
#64526
(将缺失的 mysqlnd.* 参数添加到 php.ini-*)。
修复了错误
#71863
(使用 MariaDB 时,带有“Unknown column”错误的 EXPLAIN 导致段错误)。
修复了错误
#72701
(mysqli_get_host_info() 输出错误)。
OCI8
修复了错误
#71148
(在 PHP 7 上覆盖绑定引用)。
修复了隐式结果集的无效句柄错误。
修复了错误
#72524
(绑定空值会触发 ORA-24816 错误)。
ODBC
修复了错误
#73448
(odbc_errormsg 返回垃圾数据,始终为 513 字节)。
Opcache
修复了错误
#73583
(当条件声明的类和函数具有相同的名称时,出现段错误)。
修复了错误
#69090
(检查缓存文件的权限)
修复了错误
#72982
(zend_accel_blacklist_update_regexp() 函数中的内存泄漏)。
修复了错误
#72949
(opcache 错误消息中的错别字)。
修复了错误
#72762
(在启用 opcache 的情况下解析文件时出现无限循环)。
修复了错误
#72590
(使用 kill_all_lockers 重启 Opcache 不起作用)。
OpenSSL
修复了错误
#73478
(openssl_pkey_new() 使用 Diffie Hellman 生成错误的公钥/私钥)。
修复了错误
#73276
(openssl_random_pseudo_bytes 函数中发生崩溃)。
修复了错误
#73072
(无效路径 SNI_server_certs 导致段错误)。
修复了错误
#72360
(使用 OpenSSL 1.1.0 时,ext/openssl 构建失败)。
将最小版本提升到 1.0.1。
放弃对 SSL2 的支持。
实现了 FR
#61204
(为 OpenSSL 添加椭圆曲线支持)。
实现了 FR
#67304
(为 openssl_encrypt 和 openssl_decrypt 添加了 AEAD 支持 [CCM 和 GCM 模式])。
实现了将错误存储到全局队列中并清理 OpenSSL 错误队列(解决了错误
#68276
和
#69882
)。
Pcntl
实现了无需 TICKS 的异步信号处理。
添加了 pcntl_signal_get_handler(),它返回特定信号的当前信号处理程序。解决了 FR
#72409
。
将 siginfo 添加到 pcntl_signal() 处理程序参数中(Bishop Bettini,David Walker)
PCRE
修复了错误
#73483
(pcre_replace_callback 出现段错误)。
修复了错误
#73612
(preg_*() 可能会泄漏内存)。
修复了错误
#73392
(zend 分配器管理中的 Use-After-Free)。
修复了错误
#73121
(捆绑的 PCRE 无法编译,因为 s390 上不支持 JIT)。
修复了错误
#72688
(preg_match 在匹配项中缺少组名称)。
降级到 PCRE 8.38。
修复了错误
#72476
(jit_stack 中的内存泄漏)。
修复了错误
#72463
(mail 使用无效参数失败)。
升级到 PCRE 8.39。
PDO
修复了错误
#72788
(使用持久 PDO 连接时出现无效内存访问)。
修复了错误
#72791
(PDO 持久连接处理中的内存泄漏)。
修复了错误
#60665
(使用 PDO::FETCH_LAZY 对 NULL 结果调用 empty() 返回 false)。
PDO_DBlib
修复了错误
#72414
(从不将值作为原始二进制数据引用)。
允许 \PDO::setAttribute() 设置查询超时。
处理 SQLDECIMAL/SQLNUMERIC 类型,这些类型由更高版本的 TDS 使用。
添加通用 PDO 测试套件。
在清理 PDO 实例时释放错误和消息字符串。
修复了错误
#67130
(当当前行集中所有行都未提取时,\PDOStatement::nextRowset() 应成功)。
忽略可能具有误导性的 dberr 值。
实现了字符串化“uniqueidentifier”字段。
PDO_Firebird
修复了错误
#73087
、
#61183
、
#71494
(bindParam 中的内存损坏)。
修复了错误
#60052
(在 X86_64 上作为 64 位整数返回的整数)。
PDO_pgsql
修复了错误
#70313
(PDO 语句无法抛出异常)。
修复了错误
#72570
(在没有占位符的查询上绑定参数时出现段错误)。
实现了 FR
#72633
(Postgres PDO lastInsertId() 应在不指定序列的情况下工作)。
Phar
修复了错误
#72928
(在 phar_parse_zipfile 中验证 zip phar 的签名时越界)。
修复了错误
#73035
(在 phar_parse_tarfile 中验证 tar phar 的签名时越界)。
phpdbg
添加了用于检查当前活动生成器的生成器命令。
Postgres
修复了错误
#73498
(为 pg_copy_to() 生成的 SQL 不正确)。
实现了 FR
#31021
(需要 pg_last_notice() 来获取所有通知消息)。
实现了 FR
#48532
(允许 pg_fetch_all() 以数字方式索引)。
Readline
修复了错误
#72538
(readline_redisplay 使 php 崩溃)。
Reflection
撤消 ReflectionType->__toString() 中向后兼容性的中断,并改为通过文档弃用。
恢复了为类名添加 \。
实现了 FR
#38992
(invoke() 和 invokeArgs() 静态方法调用应匹配)。(cmb)。
添加 ReflectionNamedType::getName()。此方法应代替 ReflectionType::__toString() 使用。
为 ReflectionType::__toString() 返回的类名添加 \ 和可空类型添加 ?。
修复了错误
#72661
(ReflectionType::__toString 在可迭代时崩溃)。
修复了错误
#72222
(ReflectionClass::export 无法处理数组常量)。
现在,无法检索反射对象或检索对象属性将抛出 Error 实例,而不是导致致命错误。
修复了错误
#72209
(如果对象与类型不匹配,则 ReflectionProperty::getValue() 不会失败)。
Session
修复了错误
#73273
(session_unset() 清空存储 $_session 的所有变量中的值)。
修复了错误
#73100
(ps_files_path_create 中的 session_destroy 空指针取消引用)。
修复了错误
#68015
(会话未为文件保存处理程序报告无效的 uid)。
修复了错误
#72940
(SID 始终返回“name=ID”,即使存在会话 Cookie)。
实现了 session_gc() (Yasuo) https://wiki.php.net/rfc/session-create-id
实现了 session_create_id() (Yasuo) https://wiki.php.net/rfc/session-gc
实现了 RFC: 无需哈希的 Session ID。 (Yasuo) https://wiki.php.net/rfc/session-id-without-hashing
修复了 bug
#72531
(ps_files_cleanup_dir 缓冲区溢出)。
现在,不返回字符串作为 Session ID 的自定义 Session 处理程序在必须生成 Session ID 时调用函数时,将抛出 Error 实例,而不是导致致命错误。
当创建 Session ID 时,session.hash_function 的无效设置将抛出 Error 实例,而不是导致致命错误。
修复了 bug
#72562
(在使用意外 Session 反序列化时,unserialize() 中存在 Use After Free)。
改进了 bug
#68063
的修复 (空 Session ID 仍然启动 Session)。
修复了 bug
#71038
(session_start() 在失败时返回 TRUE)。Session 保存处理程序必须始终返回 'string' 以表示读取成功。例如,不存在的 Session 读取必须返回空字符串。PHP 7.0 不会容忍有问题的返回值。
修复了 bug
#71394
(session_regenerate_id() 必须在错误时关闭已打开的 Session)。
SimpleXML
修复了 bug
#73293
(SimpleXMLElement::asXML() 中存在空指针解除引用)。
修复了 bug
#72971
(SimpleXML isset/unset 不尊重命名空间)。
修复了 bug
#72957
(空合并运算符在与 SimpleXMLElement 一起使用时行为不符合预期)。
修复了 bug
#72588
(在访问 SimpleXML 元素时,使用全局变量不起作用)。
创建未命名或重复的属性将抛出 Error 实例,而不是导致致命错误。
SNMP
修复了 bug
#72708
(php_snmp_parse_oid 内存分配中存在整数溢出)。
修复了 bug
#72479
(在 SNMP 中,使用 GC 和 unserialize() 存在 Use After Free 漏洞)。
Soap
修复了 bug
#73538
(SoapClient::__setSoapHeaders 不会覆盖 SOAP 标头)。
修复了 bug
#73452
(段错误 (针对
#69152
的回归))。
修复了 bug
#73037
(SoapServer 在使用 gzip 压缩时报告错误请求)。
修复了 bug
#73237
("any" 元素中的嵌套对象会覆盖其他字段)。
修复了 bug
#69137
(在使用代理与 SoapClient 时,对等方验证失败)。
修复了 bug
#71711
(Soap Server 成员变量引用错误)。
修复了 bug
#71996
(在数组中使用引用时,行为与预期不符)。
SPL
修复了 bug
#73423
(使用 GDB 反向跟踪可重现崩溃)。
修复了 bug
#72888
(在 splFileObject 上克隆时出现段错误)。
修复了 bug
#73029
(反序列化 SplArray 时缺少类型检查)。
修复了 bug
#72646
(SplFileObject::getCsvControl 不会返回转义字符)。
修复了 bug
#72684
(AppendIterator 在关闭生成器时出现段错误)。
尝试克隆 SplDirectory 对象将抛出 Error 实例,而不是导致致命错误。
在迭代对象时调用 ArrayIterator::append() 将抛出 Error 实例,而不是导致致命错误。
修复了 bug
#55701
(GlobIterator 抛出 LogicException)。
SQLite3
更新到 SQLite 3.15.1。
修复了 bug
#73530
(取消设置结果集可能会重置其他结果集)。
修复了 bug
#73333
(2147483647 作为字符串提取)。
修复了 bug
#72668
(在用户定义函数中抛出异常时出现虚假警告)。
实现了 FR
#72653
(SQLite 应该允许使用空文件名打开)。
修复了 bug
#70628
(在 SQLite3 语句上清除绑定不起作用)。
实现了 FR
#71159
(将捆绑的 SQLite 库升级到 3.9.2)。
标准
修复了 bug
#73297
(HTTP 流包装程序应该忽略 HTTP 100 Continue)。
修复了 bug
#73303
(assert() 中的 eval 没有继承作用域)。
修复了 bug
#73192
(parse_url 返回错误的主机名)。
修复了 bug
#73203
(传递 additional_parameters 会导致邮件发送失败)。
修复了 bug
#73203
(传递 additional_parameters 会导致邮件发送失败)。
修复了 bug
#72920
(使用 constant() 访问私有常量会创建异常和警告)。
修复了 bug
#65550
(get_browser() 错误地解析包含 "+" 符号的条目)。
修复了 bug
#71882
(在 php://memory 上对负数进行 ftruncate() 会耗尽内存)。
修复了 bug
#55451
(substr_compare NULL 长度被解释为 0)。
修复了 bug
#72278
(getimagesize 在有效的 jpg 上返回 FALSE)。
修复了 bug
#61967
(在 array_walk_recursive 中取消设置数组项会导致数组不一致)。
修复了 bug
#62607
(array_walk_recursive 移动内部指针)。
修复了 bug
#69068
(在 array_walk 中交换数组 -> 内存错误)。
修复了 bug
#70713
(在 array_walk()/ array_walk_recursive() 中存在 Use After Free 漏洞)。
修复了 bug
#72622
(array_walk + array_replace_recursive 从无中生有地创建引用)。
修复了 bug
#72330
(如果转义字符后跟 UTF 字符,则 CSV 字段会被错误地拆分)。
实现了 RFC: 更精确的浮点值。
array_multisort 现在使用 zend_sort 而不是 zend_qsort。
修复了 bug
#72505
(readfile() 会损坏大于 2G 的文件)。
如果提供的 PHP 代码无效,则 assert() 在评估作为第一个参数提供的字符串时将抛出 ParseError,而不是导致可捕获的致命错误。
现在,在类作用域之外调用 forward_static_call() 将抛出 Error 实例,而不是导致致命错误。
添加了 is_iterable() 函数。
修复了 bug
#72306
(通过 proc_open 和 $env 参数导致堆溢出)。
修复了 bug
#71100
(long2ip() 在严格模式下不接受整数)。
实现了 FR
#55716
(添加一个选项,将自定义流上下文传递给 get_headers())。
对 parse_url() 的登录/密码组件进行了额外的验证。
实现了 FR
#69359
(提供一种获取当前环境变量的方法)。
unpack() 函数接受一个额外的可选参数 $offset。
实现了 FR
#51879
流上下文套接字选项 tcp_nodelay (Joe)
流
修复了 bug
#73586
(php_user_filter::$stream 未设置为过滤器正在处理的流)。
修复了 bug
#72853
(stream_set_blocking 不起作用)。
修复了 bug
#72743
(php_stream_filter_create 中存在越界读取)。
实现了 FR
#27814
(为 HTTP 请求发送多个小数据包)。
修复了 bug
#72764
(ftps:// opendir 包装程序数据通道加密在 IIS FTP 7.5、8.5 上失败)。
修复了 bug
#72810
(缺少 SKIP_ONLINE_TESTS 检查)。
修复了 bug
#41021
(ftps 包装程序存在问题)。
修复了 bug
#54431
(opendir() 在 ftps:// 包装程序中不起作用)。
修复了 bug
#72667
(使用 ftp:// 的 opendir() 尝试为不存在的目录打开数据流)。
修复了 bug
#72771
(ftps:// 包装程序容易受到协议降级攻击)。
修复了 bug
#72534
(stream_socket_get_name 崩溃)。
修复了 bug
#72439
(带有远程地址的流套接字会导致段错误)。
sysvshm
修复了 bug
#72858
(shm_attach 空指针解除引用)。
Tidy
实现了对 libtidy 5.0.0 及更高版本的支持。
手动创建 tidyNode 将抛出 Error 实例,而不是导致致命错误。
Wddx
修复了 bug
#73331
(在使用 PDORow 的 WDDX 数据包反序列化中存在空指针解除引用)。 (CVE-2016-9934)
修复了 bug
#72142
(wddx_serialize_value() 中存在 WDDX 数据包注入漏洞)。
修复了 bug
#72749
(wddx_deserialize 允许非法内存访问)。
修复了 bug
#72750
(wddx_deserialize 空指针解除引用)。
修复了 bug
#72790
(使用无效 XML 时,wddx_deserialize 空指针解除引用)。
修复了 bug
#72799
(php_wddx_pop_element 中,wddx_deserialize 空指针解除引用)。
修复了 bug
#72860
(wddx_deserialize use-after-free)。
修复了 bug
#73065
(php_wddx_push_element 中存在越界读取)。
修复了 bug
#72564
(布尔值始终反序列化为 "true")。
现在,在序列化时出现循环引用将抛出 Error 实例,而不是导致致命错误。
XML
修复了 bug
#72135
(格式错误的 XML 导致故障)。
修复了 bug
#72714
(_xml_startElementHandler() 段错误)。
修复了 bug
#72085
(在未知地址 zif_xml_parse 上出现 SEGV)。
XMLRPC
修复了 bug
#72647
(在引用数组元素后,xmlrpc_encode() 输出意外)。
修复了 bug
#72606
(堆缓冲区溢出 (写入) simplestring_addn simplestring.c)。
现在,在序列化时出现循环引用将抛出 Error 实例,而不是导致致命错误。
Zip
修复了 bug
#68302
(无法使用 zip 支持编译 php)。
修复了 bug
#72660
(zend_virtual_cwd 中存在空指针解除引用)。
修复了 bug
#72520
(php_stream_zip_opener 中存在基于栈的缓冲区溢出漏洞)。
如果 glob 支持不可用,则 ZipArchive::addGlob() 将抛出 Error 实例,而不是导致致命错误。
版本 7.0.33
2018 年 12 月 6 日
核心
修复了错误
#77231
(使用 convert.quoted-printable-encode 过滤器时出现段错误)。
IMAP
修复了错误
#77020
(imap_mail 中的空指针解引用)。
修复了错误
#77153
(imap_open 允许通过邮箱参数运行任意 shell 命令)。(CVE-2018-19518)
Phar
修复了错误
#77022
(PharData 始终以模式 0666 创建新文件)。
修复了错误
#77143
(phar_parse_pharfile 中的堆缓冲区溢出(读取:4))。(CVE-2018-20783)
版本 7.0.32
2018年9月13日
Apache2
修复了错误
#76582
(由于标头 Transfer-Encoding: chunked 导致的 XSS)。(CVE-2018-17082)
版本 7.0.31
2018年7月19日
Exif
修复了错误
#76423
(整数溢出导致 exif.c 的 exif_thumbnail_extract 中的堆溢出)。(CVE-2018-14883)
修复了错误
#76557
(读取 exif 数据时出现堆缓冲区溢出(读取大小为 48))。(CVE-2018-14851)
Win32
修复了错误
#76459
(windows linkinfo 缺少 openbasedir 检查)。(CVE-2018-15132)
版本 7.0.30
2018年4月26日
Exif
修复了错误
#76130
(exif_iif_add_value 中的堆缓冲区溢出(读取:1786))。(CVE-2018-10549)
iconv
修复了错误
#76249
(流过滤器 convert.iconv 在无效序列上导致无限循环)。(CVE-2018-10546)
LDAP
修复了错误
#76248
(恶意 LDAP 服务器响应导致崩溃)。(CVE-2018-10548)
Phar
修复了错误
#76129
(CVE-2018-5712 的修复可能不完整)。(CVE-2018-10547)
版本 7.0.29
2018年3月29日
FPM
修复了错误
#75605
(可转储的 FPM 子进程允许绕过 opcache 访问控制)。(CVE-2018-10545)
版本 7.0.28
2018年3月1日
标准
修复了错误
#75981
(解析 HTTP 响应时出现堆栈缓冲区溢出)。(CVE-2018-7584)
版本 7.0.27
2018年1月4日
CLI 服务器
修复了错误
#60471
(使用路由器脚本时随机出现“无效请求(意外 EOF)”)。
核心
修复了错误
#75384
(PHP 似乎与 OneDrive 按需文件不兼容)。
修复了错误
#75573
(7.1.12 和 7.0.26 中出现段错误)。
FPM
修复了错误
#64938
(libxml_disable_entity_loader 设置在请求之间共享)。
GD
修复了错误
#75571
(gdImageCreateFromGifCtx 中潜在的无限循环)。(CVE-2018-5711)
Opcache
修复了错误
#75579
(内部字符串缓冲区溢出可能导致崩溃)。
PCRE
修复了错误
#74183
(错误发生后 preg_last_error 未返回错误代码)。
Phar
修复了错误
#74782
(.phar 404 页面中的反射型 XSS)。(CVE-2018-5712)
标准
修复了错误
#75535
(不恰当地解析 HTTP 响应导致 PHP 段错误)。(CVE-2018-14884)
修复了错误
#75409
(除了 ENOSYS 之外,还接受 EFAULT 作为 getrandom() 缺失的指示符)。
Zip
修复了错误
#75540
(使用 libzip 1.3.1 时发生段错误)。
版本 7.0.26
2017年11月23日
核心
修复了错误
#75420
(在 BP_VAR_IS 的 __isset 中修改属性名称时崩溃)。
修复了错误
#75368
(mmap/munmap 在不幸的分配上产生垃圾)。
CLI
修复了错误
#75287
(在关闭函数中执行 chdir 后内置 Web 服务器崩溃)。
Enchant
修复了错误
#53070
(如果未设置路径,enchant_broker_get_path 会崩溃)。
修复了错误
#75365
(Enchant 仍然报告版本 1.1.0)。
Exif
修复了错误
#75301
(Exif 扩展具有内置修订版本)。
GD
修复了错误
#65148
(imagerotate 可能会更改图像尺寸)。
修复了错误
#75437
(imagewebp 的反射错误)。
intl
修复了错误
#75317
(UConverter::setDestinationEncoding 更改源而不是目标)。
interbase
修复了错误
#75453
(ibase_[p]connect 的反射不正确)。
Mysqli
修复了错误
#75434
(mysqli_fetch_all 函数的反射错误)。
OCI8
修复了 valgrind 问题。
Opcache
修复了错误
#75373
(警告内部错误:大小计算错误)。
OpenSSL
修复了错误
#75363
(openssl_x509_parse 泄漏内存)。
修复了错误
#75307
(openssl_open 函数的反射错误)。
PGSQL
修复了错误
#75419
(pg_close() 错误地清除/链接了默认链接)。
SOAP
修复了错误
#75464
(SoapClient::__setSoapHeaders 的反射错误)。
Zlib
修复了错误
#75299
(inflate_init 和 inflate_add 的反射错误)。
版本 7.0.25
2017年10月26日
核心
修复了错误
#75241
(zend_mm_alloc_small() 中的空指针取消引用)。
修复了错误
#75236
(打印错误消息时出现无限循环)。
修复了错误
#75252
(在一个请求中出现两个解析错误时,令牌格式不正确)。
修复了错误
#75220
(在父级上调用 is_callable 时发生段错误)。
修复了错误
#75290
(内部函数的闭包的调试信息包含垃圾参数名称)。
Apache2Handler
修复了错误
#75311
(错误:“zend_hash_key”在 apache2handler 中没有名为“arKey”的成员)。
日期
修复了错误
#75055
(timelib_meridian() 中的越界读取)。(CVE-2017-16642)
Intl
修复了错误
#75318
(UConverter::getAliases() 的参数不是可选的)。
mcrypt
修复了错误
#72535
(arcfour 加密流过滤器导致 php 崩溃)。
OCI8
修复了引用计数错误。
PCRE
修复了错误
#75207
(应用了 CVE-2016-1283 的上游补丁)。
litespeed
修复了错误
#75248
(仅构建 litespeed SAPI 时不会创建二进制目录)。
修复了错误
#75251
(缺少程序前缀和后缀)。
SPL
修复了错误
#73629
(SplDoublyLinkedList::setIteratorMode 掩盖内部标志)。
版本 7.0.24
2017年9月28日
核心
修复了错误
#75042
(run-tests.php 在 EXTENSION 块中存在问题)。
BCMath
修复了错误
#44995
(如果 scale != 0,bcpowmod() 失败)。
修复了错误
#46781
(BC 数学错误地处理了负零)。
修复了错误
#54598
(如果模数为 1,bcpowmod() 可能会返回 1)。
修复了错误
#75178
(bcpowmod() 对非整数底数或模数的行为异常)。
CLI 服务器
修复了错误
#70470
(内置服务器截断了跨越 TCP 数据包的标头)。
CURL
修复了错误
#75093
(未检测到 OpenSSL 支持)。
GD
修复了错误
#75124
(gdImageGrayScale() 可能会生成颜色)。
修复了错误
#75139
(libgd/gd_interpolation.c:1786: 可疑的 if ?)。
Gettext
修复了错误
#73730
(textdomain(null) 在严格模式下抛出异常)。
Intl
修复了错误
#75090
(IntlGregorianCalendar 没有父类的常量)。
PDO_OCI
修复了错误
#74631
(PHP-FPM 中的 PDO_PCO:在 PHP-FPM 设置 OCI 环境之前初始化它)。
SPL
修复了错误
#75173
(AppendIterator::append 在 foreach 循环中的行为不正确)。
标准
修复了错误
#75097
(如果您的主机名长度为 64 个字符,则 gethostname 失败)。
版本 7.0.23
2017年8月31日
核心
修复了错误
#74947
(扫描程序在 INF 数字上出现段错误)。
修复了错误
#74954
(zend_generator_resume() 中的空指针取消引用和段错误)。
修复了错误
#74725
(html_errors=1 中断了未处理的异常)。
修复了错误
#75349
(NAN 比较)。
cURL
修复了错误
#74125
(修复在具有多架构支持的系统上查找 CURL)。
日期
修复了错误
#75002
(timelib_time_clone 中的空指针取消引用)。
Intl
修复了错误
#74993
(某些 locale_* 函数的反射错误)。
Mbstring
修复了错误
#71606
(使用 HTML-ENTITIES 编码的 mb_strcut 出现段错误)。
修复了错误
#62934
(mb_convert_kana() 未转换迭代标记)。
修复了错误
#75001
(mb_eregi_replace 的反射错误)。
MySQLi
修复了错误
#74968
(在使用抽象类调用 mysqli_result::fetch_object 时,PHP 崩溃)。
OCI8
公开了 oci_unregister_taf_callback() (Tianfang Yang)
phar
修复了错误
#74991
(include_path 在某些情况下有 4096 个字符的限制)。
Reflection
修复了错误
#74949
(_function_string 中的空指针取消引用)。
Session
修复了错误
#74833
(SID 常量使用错误的模块编号创建)。
SimpleXML
修复了错误
#74950
(simplexml_element_getDocNamespaces 中的空指针取消引用)。
SPL
修复了错误
#75049
(spl_autoload_unregister 无法处理 spl_autoload_functions 结果)。
修复了错误
#74669
(ArrayIterator 的反序列化已损坏)。
修复了错误
#75015
(递归迭代器析构函数中的崩溃)。
标准
修复了错误
#75075
(使用 X* 的 unpack 导致无限循环)。
修复了错误
#74103
(反序列化无效数组大小时的堆使用后释放)。(CVE-2017-12932)
修复了错误
#75054
(在执行反序列化时发现了拒绝服务漏洞)。
WDDX
修复了错误
#73793
(WDDX 使用错误的小数分隔符)。
XMLRPC
修复了错误
#74975
(带有已声明属性的类的 xmlrpc 序列化不正确)。
版本 7.0.22
2017年8月3日
核心
修复了错误
#74832
(使用已注册的函数名加载 PHP 扩展会导致崩溃)。
修复了 bug
#74780
(当查询字符串包含冒号时,parse_url() 出现故障)。
修复了错误
#74761
(在某些系统上出现“预期一元运算符”错误)。
修复了错误
#73900
(unserialize() SplFixedArray 中的释放后使用)。
修复了错误
#74913
(修复了不正确的 poll.h 包含)。
修复了错误
#74906
(修复了不正确的 errno.h 包含)。
日期
修复了错误
#74852
(property_exists 在未知的 DateInterval 属性上返回 true)。
OCI8
修复了错误
#74625
(oci_bind_array_by_name 中的整数溢出)。
Opcache
修复了 bug
#74840
(Opcache 在 finally 中覆盖 GENERATOR_RETURN 的参数)。
PDO
修复了错误
#69356
(PDOStatement::debugDumpParams() 截断查询)。
SPL
修复了错误
#73471
(PHP 使用 AppendIterator 时冻结)。
SQLite3
修复了错误
#74883
(SQLite3::__construct() 使用无效标志产生“内存不足”异常)。
Wddx
修复了错误
#73173
(wddx_unserialize 时出现巨大的内存泄漏)。
修复了错误
#74145
(wddx 解析空布尔标签导致 SIGSEGV)。(CVE-2017-11143)
zlib
修复了错误
#73944
(inflate_init() 的字典选项不起作用)。
版本 7.0.21
2017年7月6日
核心
修复了错误
#74738
(未正确解析多个 [PATH=] 和 [HOST=] 部分)。
修复了错误
#74658
(数组属性中的未定义常量导致属性损坏)。
修复了抽象 Unix 域套接字名称的错误解析。
修复了错误
#74101
(在 zval_get_type 中的反序列化堆使用后释放 (READ: 1))。(CVE-2017-12934)
修复了错误
#74111
(来自反序列化的堆缓冲区过读 (READ: 1) finish_nested_data)。(CVE-2017-12933)
修复了错误
#74603
(PHP INI 解析堆栈缓冲区溢出漏洞)。(CVE-2017-11628)
修复了错误
#74819
(wddx_deserialize() 通过 php_parse_date() 进行堆越界读取)。(CVE-2017-11145)
DOM
修复了错误
#69373
(对已删除的 XPath 查询结果的引用)。
GD
修复了错误
#74435
(缓冲区过读到未初始化的内存)。(CVE-2017-7890)
Intl
修复了错误
#73473
(msgfmt_parse_message 中的堆栈缓冲区溢出)。(CVE-2017-11362)
修复了错误
#74705
(Collator::getSortKey 和 collator_get_sort_key 上的错误反射)。
修复了 bug
#73634
(grapheme_strpos 非法内存访问)。
Mbstring
添加了 oniguruma 上游修复 (CVE-2017-9224、CVE-2017-9226、CVE-2017-9227、CVE-2017-9228、CVE-2017-9229)
OCI8
添加 TAF 回调 (PR
GH-2459
)。
Opcache
修复了错误
#74663
(使用 opcache.memory_protect 和 validate_timestamp 时的段错误)。
OpenSSL
修复了错误
#74651
(zif_openssl_seal() 中的 memcpy 中的负大小参数 (-1))。(CVE-2017-11144)
PCRE
修复了 bug
#74087
(PHP7.1.1 中的段错误 (使用捆绑的 PCRE 库编译))。
PDO_OCI
在 --with-pdo-oci 配置选项中支持 Instant Client 12.2。
Reflection
修复了错误
#74673
(将 Reflection 对象强制转换为具有未定义常量的字符串时的段错误)。
SPL
修复了错误
#74478
(空合并运算符在 SplFixedArray 中失败)。
标准
修复了 bug
#74708
(random_bytes 和 random_int 的反射签名无效)。
修复了 bug
#73648
(substr 中的堆缓冲区溢出)。
FTP
修复了错误
#74598
(ftp:// 包装器忽略上下文参数)。
PHAR
修复了错误
#74386
(Phar::__construct 反射不正确)。
SOAP
修复了错误
#74679
(使用 WSDL_CACHE_MEMORY 的数组转换不正确)。
流
修复了错误
#74556
(stream_socket_get_name() 返回 '\0')。
版本 7.0.20
2017 年 6 月 8 日
核心
修复了错误
#74600
(_zend_hash_add_or_update_i 中的崩溃 (SIGSEGV))。
修复了错误
#74546
(ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST 中的 SIGILL)。
intl
修复了错误
#74468
(Collator::sortWithSortKeys 上的错误反射)。
MySQLi
修复了错误
#74547
(mysqli::change_user() 在 strict_types 下不接受 null 作为 $database 参数)。
Opcache
修复了错误
#74596
(启用 opcache.revalidate_path 时出现 SIGSEGV)。
phar
修复了错误
#51918
(Phar::webPhar() 不处理通过 PUT 和 DELETE 方法发送的请求)。
标准
修复了错误
#74510
(win32/sendmail.c 锚定 CC 标头但不锚定 BCC)。
xmlreader
修复了错误
#74457
(XMLReader::expand 上的错误反射)。
版本 7.0.19
2017年5月11日
核心
修复了错误
#74188
(空合并运算符对未声明的静态类属性失败)。
修复了错误
#74408
(无限循环绕过执行时间限制)。
修复了错误
#74410
(stream_select() 在 Windows Nanoserver 上已损坏)。
修复了错误
#74337
(php-cgi.exe 在 Facebook 回调时崩溃)。
bug
#74216
的补丁已回退。
日期
修复了错误
#74404
(DateTimeZone::getTransitions 上的错误反射)。
修复了错误
#74080
(为 RFC7231 格式日期时间添加常量)。
DOM
修复了错误
#74416
(DOMNode::cloneNode 上的错误反射)。
Fileinfo
修复了错误
#74379
(libmagic/apprentice.c 中的语法错误编译错误)。
GD
修复了错误
#74343
(使用系统 gd2 库在 solaris 11 上编译失败)。
intl
修复了错误
#74433
(Normalizer 方法的错误反射)。
修复了错误
#74439
(Locale 方法的错误反射)。
MySQLi
修复了 bug
#74432
(如果未给出 $port 参数,则 mysqli_connect 会向 $host 添加 ":3306")。
MySQLnd
添加了对 MySQL 8.0 类型的支持。
修复了错误
#74376
(在错误/连接丢失时对持久结果的无效释放)。
OpenSSL
修复了错误
#73833
(openssl_pkey_get_private 中不允许使用空字符)。
修复了错误
#73711
(在生成 DSA 或 DH 密钥时,openssl_pkey_new 中出现段错误)。
修复了错误
#74341
(openssl_x509_parse 无法解析没有秒的 ASN.1 UTCTime)。
添加了 OpenSSL 1.1.0 支持。
phar
修复了错误
#74383
(phar 方法参数反射更正)。
标准
修复了 bug
#74409
(ini_get_all() 的反射信息不完整)。
修复了错误
#72071
(setcookie 允许 max-age 为负数)。
流
修复了错误
#74429
(具有唯一持久性标识符的远程套接字 URI 已损坏)。
SQLite3
修复了 bug
#74413
(SQLite3::enableExceptions 的反射不正确)。
版本 7.0.18
2017年4月13日
核心
修复了错误
#73370
(在使用 USE_ZEND_ALLOC=0 时错误地退出“内存不足”)。
修复了错误
#73960
(使用引用返回的实例方法调用静态方法时的泄漏)。
修复了错误
#74265
(7.0.17 版本发布后的构建问题:对 `isfinite` 的未定义引用)。
修复了错误
#74302
(yield fromLABEL 过于贪婪)。
Apache
回退了错误
#61471
的补丁,修复了错误
#74318
。
日期
修复了错误
#72096
(1970 年之前的日期的 Swatch 时间值不正确)。
DOM
修复了错误
#74004
(LIBXML_NOWARNING 标志在 loadHTML* 上被忽略)。
iconv
修复了错误
#74230
(iconv 无法在代理上失败)。
OpenSSL
修复了错误
#72333
(在非阻塞 SSL 套接字上 fwrite() 不起作用)。
PDO MySQL
修复了错误
#71003
(将 MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT 公开到 PDO 接口)。
流
修复了错误
#74216
(在无效的 IP 地址端口上正确失败)。
Zlib
修复了错误
#74240
(deflate_add 可以分配过多的内存)。
版本 7.0.17
2017年3月16日
核心
修复了错误
#73989
(PHP 7.1 在 Symfony 测试套件中出现段错误)。
修复了错误
#74084
(越界读取 - zend_mm_alloc_small)。
修复了错误
#73807
(处理大型 POST 请求时的性能问题)。(CVE-2017-11142)
修复了错误
#73998
(array_key_exists 在由 get_object_vars 创建的数组上失败)。
修复了错误
#73954
(NAN 检查在 Alpine Linux 上使用 musl 时失败)。
修复了 bug
#74039
(is_infinite(-INF) 返回 false)。
修复了错误
#73677
(使用启用 gcc ASAN 构建生成 phar.phar 内核转储)。
Apache
修复了错误
#61471
(不完整的 POST 不会超时,而是传递给 PHP)。
日期
修复了 bug
#72719
(相对日期时间格式仅在星期日忽略星期几)。
修复了 bug
#73294
(当日期字符串为负数时,DateTime 错误)。
修复了 bug
#73489
(使用 UTC 偏移量多次调用 setTimeZone 时,时间戳错误)。
修复了 bug
#73858
("first/last day of" 标志未被重置)。
修复了 bug
#73942
(如果 $date 是星期日,则 $date->modify('Friday this week') 不会返回星期五)。
修复了 bug
#74057
(在 strtotime 中使用 "this week" 时,日期错误)。
FPM
修复了错误
#69860
(php-fpm 进程计费在使用 keepalive 时出现故障)。
Hash
修复了错误
#73127
(如果输入数据包含较长的 0xFF 序列,gost-crypto 哈希值不正确)。
GD
修复了错误
#74031
(imagepng 的 ReflectionFunction 缺少最后两个参数)。
Mysqlnd
修复了错误
#74021
(fetch_array 数据损坏。数据大于 MEDIUMBLOB)。
Opcache
修复了 bug
#74152
(if 语句对空变量返回 true)。
修复了错误
#74019
(使用 list() 导致段错误)。
OpenSSL
修复了错误
#74022
(PHP Fast CGI 在读取 pfx 文件时崩溃)。
标准
修复了 bug
#74148
(ReflectionFunction 错误地报告了参数数量)。
修复了错误
#74005
(mail.add_x_header 导致违反 RFC 的单独换行符)。
修复了错误
#73118
(对于匿名类,is_callable 可调用名称报告误导性的值)。
修复了错误
#74105
(当 getrandom 不可用时,Linux 上的 PHP 应使用 /dev/urandom)。
流
修复了错误
#73496
(zend_inline_hash_func 中的无效内存访问)。
修复了错误
#74090
(stream_get_contents maxlength>-1 返回空字符串)。
版本 7.0.16
2017 年 2 月 16 日
核心
修复了错误
#73916
(zend_print_flat_zval_r 未考虑引用)。
修复了错误
#73876
(在赋值操作扩展中导出 **= 时崩溃)。
修复了错误
#73969
(debug_print_backtrace 中的段错误)。
修复了错误
#73973
(debug_zval_dump 中的断言错误)。
DOM
修复了错误
#54382
(getAttributeNodeNS 无法获取 xmlns* 属性)。
DTrace
修复了错误
#73965
(禁用时报告 DTrace 已启用)。
FPM
修复了错误
#67583
(在 max_children 限制下双重 fastcgi_end_request)。
修复了错误
#69865
(php-fpm 在使用 syslog 时不会关闭 stderr)。
GD
修复了错误
#73968
(XBM 读取过早失败)。
GMP
修复了错误
#69993
(gmp.h 的测试需要测试机器包含文件)。
Intl
修复了错误
#73956
(链接使用 CC 而不是 CXX)。
LDAP
修复了错误
#73933
(ldap_mod_replace 和 opcache 存在错误/段错误)。
MySQLi
修复了错误
#73949
(mysqli_fetch_object 中的内存泄漏)。
Mysqlnd
修复了错误
#69899
(使用 mysqlnd 在 free_result() 后执行 close() 时出现段错误)。
Opcache
修复了错误
#73983
(在 CLI + opcache 中使用 phar 完成工作时崩溃)。
OpenSSL
修复了错误
#71519
(将十六进制序列添加到返回值数组中)。
PDO_Firebird
实现了 FR
#72583
(所有数据都作为字符串获取)。
PDO_PgSQL
修复了错误
#73959
(对于错误的序列名称,lastInsertId 无法抛出异常)。
Phar
修复了错误
#70417
(PharData::compress() 不会关闭临时文件)。
posix
修复了错误
#71219
(配置脚本错误地检查 ttyname_r)。
Session
修复了错误
#69582
(CLI 中 root 无法读取会话)。
SPL
修复了错误
#73896
(spl_autoload() 在调用魔术 _call() 时崩溃)。
标准
修复了错误
#69442
(启用 PTS 时 fd 关闭不正确)。
修复了错误
#47021
(SoapClient 遇到使用“Transfer-Encoding: chunked”传递的 WSDL)。
修复了错误
#72974
(AIX 上 imap 是未定义的服务)。
修复了错误
#72979
(money_format 在 AIX 上存储错误的长度)。
ZIP
修复了错误
#70103
(ZipArchive::addGlob 忽略 remove_all_path 选项)。
版本 7.0.15
2017 年 1 月 19 日
核心
修复了错误
#73792
(无效的 foreach 循环导致脚本挂起)。
修复了错误
#73663
(使用 list() 创建的变量会出现“Invalid opcode 65/16/8”错误)。
修复了错误
#73585
(“Internal Zend error - Missing class information”日志缺少类名)。
修复了错误
#73753
(反序列化的数组指针没有前进)。
修复了错误
#73825
(在 finish_nested_data() 中反序列化时出现堆越界读取)。(CVE-2016-10161)
修复了错误
#73831
(反序列化 PHP 对象时出现空指针取消引用)。(CVE-2016-10162)
修复了错误
#73832
(在反序列化中使用未初始化的内存)。(CVE-2017-5340)
修复了错误
#73092
(调整对象属性哈希表大小时,反序列化出现 use-after-free)。(CVE-2016-7479)
修复了错误
#69425
(unserialize() 中的 Use After Free)。
修复了错误
#72731
(对象反序列化中的类型混淆)。
COM
修复了错误
#73679
(使用无效代码页时,DOTNET 读取访问冲突)。
DOM
修复了错误
#67474
(在默认命名空间上使用 getElementsByTagNameNS 过滤)。
EXIF
修复了错误
#73737
(解析标签格式时出现浮点异常)。(CVE-2016-10158)
GD
修复了错误
#73869
(gd_io.c 中的带符号整数溢出)。(CVE-2016-10168)
修复了错误
#73868
(gdImageCreateFromGd2Ctx() 中的 DOS 漏洞)。(CVE-2016-10167)
GMP
修复了错误
#70513
(GMP 反序列化类型混淆漏洞)。
Mysqli
修复了错误
#73462
(持久连接未设置 $connect_errno)。
Mysqlnd
修复了在结果集中有多行时解码 BIT 列的问题。7.0+ 问题。
修复了错误
#73800
(MYSQLI_OPT_INT_AND_FLOAT_NATIVE 偶尔出现段错误)。
PCRE
修复了错误
#73612
(preg_*() 可能会泄漏内存)。
PDO_Firebird
修复了错误
#72931
(PDO_FIREBIRD 与 Firebird 3.0 无法在返回语句上工作)。
Phar
修复了错误
#73773
(加载恶意 phar 时出现段错误)。(CVE-2017-11147)
修复了错误
#73768
(加载恶意 phar 时出现内存损坏)。(CVE-2016-10160)
修复了错误
#73764
(加载恶意 phar 存档时崩溃)。(CVE-2016-10159)
Phpdbg
修复了错误
#73615
(没有选项的 phpdbg 在启动时从不加载 .phpdbginit)。
修复了从自定义包装器获取可执行行的问题。
修复了错误
#73704
(phpdbg 在包含 shebang 的文件中显示错误的行)。
Reflection
修复了错误
#46103
(ReflectionObject 内存泄漏)。
流
修复了 bug
#73586
(php_user_filter::$stream 未设置为过滤器正在处理的流)。
SQLite3
回退了
#73530
的修复(取消设置结果集可能会重置其他结果集)。
标准
修复了错误
#73594
(dns_get_record 不会填充 $additional 输出参数)。
修复了错误
#70213
(在双类查找上共享反序列化上下文)。
修复了错误
#73154
(序列化带有 __sleep 函数的对象导致崩溃)。
修复了错误
#70490
(get_browser 函数速度非常慢)。
修复了错误
#73265
(启动时加载 browscap.ini 会导致高内存使用)。
修复了错误
#31875
(get_defined_functions 添加参数以排除禁用的函数)。
Zlib
修复了错误
#73373
(deflate_add 无法验证输出是否未被截断)。
版本 7.0.14
2016年12月08日
核心
修复了内存泄漏(使用 Spl 哈希时的空合并运算符)。
修复了错误
#72736
(使用 mysqli / PDO 获取大型数据集时性能下降)。
修复了错误
#72978
(反序列化中的 Use After Free 漏洞)。(CVE-2016-9936)
日历
(修复整数溢出)。
日期
修复了错误
#69587
(DateInterval 属性和 isset)。
DTrace
默认情况下禁用 PHP 调用跟踪(它会产生很大的开销)。可以使用环境变量 USE_ZEND_DTRACE=1 再次启用它。
JSON
修复了错误
#73526
(php_json_encode 深度问题)。
Mysqlnd
修复了错误
#64526
(将缺失的 mysqlnd.* 参数添加到 php.ini-*)。
ODBC
修复了错误
#73448
(odbc_errormsg 返回垃圾数据,始终为 513 字节)。
Opcache
修复了错误
#69090
(检查缓存文件的权限)。
修复了错误
#73546
(opcache 的日志记录具有空文件名)。
PCRE
修复了错误
#73483
(pcre_replace_callback 出现段错误)。
修复了错误
#73392
(zend 分配器管理中的 Use-After-Free)。
PDO_Firebird
修复了错误
#73087
、
#61183
、
#71494
(bindParam 中的内存损坏)。
Phar
修复了错误
#73580
(Phar::isValidPharFilename 非法内存访问)。
Postgres
修复了错误
#73498
(为 pg_copy_to() 生成的 SQL 不正确)。
Soap
修复了 bug
#73538
(SoapClient::__setSoapHeaders 不会覆盖 SOAP 标头)。
修复了 bug
#73452
(段错误 (针对
#69152
的回归))。
SPL
修复了 bug
#73423
(使用 GDB 反向跟踪可重现崩溃)。
SQLite3
修复了 bug
#73530
(取消设置结果集可能会重置其他结果集)。
标准
修复了 bug
#73297
(HTTP 流包装程序应该忽略 HTTP 100 Continue)。
修复了错误
#73645
(version_compare 非法写访问)。
Wddx
修复了错误
#73631
(当 wddx 解码空布尔元素时出现无效读取)。(CVE-2016-9935)
XML
修复了 bug
#72135
(格式错误的 XML 导致故障)。
版本 7.0.13
2016年11月10日
核心
修复了错误
#73350
(Exception::__toString() 导致循环引用)。
修复了错误
#73181
(没有第二个参数时,parse_str() 会导致崩溃)。
修复了错误
#66773
(使用 Opcache 的自动加载允许将冲突的类名导入命名空间)。
修复了错误
#66862
((子)命名空间意外行为)。
修复交叉编译时 pthreads 检测。
修复了错误
#73337
(try/catch 在同一操作中包含两个异常时无法工作)。
修复了错误
#73338
(从错误处理程序抛出的异常会导致 valgrind 警告(和崩溃))。
修复了错误
#73329
((Float)"Nano" == NAN)。
GD
修复了错误
#73213
(imageline() 带抗锯齿的整数溢出)。
修复了错误
#73272
(imagescale() 不受 imagesetinterpolation() 的影响,但会影响它)。
修复了错误
#73279
(gdImageScaleBilinearPalette() 中的整数溢出)。
修复了错误
#73280
(GD dynamicGetbuf 中的栈缓冲区溢出)。
修复了错误
#72482
(由 gdImageAALine 溢出导致的非法写入/读取访问)。
修复了错误
#72696
(在真彩色图像上,imagefilltoborder 出现堆栈溢出)。(CVE-2016-9933)
IMAP
修复了错误
#73418
("_php_imap_mail" 中的整数溢出导致崩溃)。
OCI8
修复了错误
#71148
(在 PHP 7 上覆盖绑定引用)。
phpdbg
正确允许从文件进行 stdin 输入。
添加 -s 命令行选项 / stdin 命令以从 stdin 读取脚本。
在 phpdbg_end_oplog() 的行模式下忽略不可执行的操作码。
修复了错误
#70776
(简单的 SIGINT 对 -rr 没有影响)。
修复了错误
#71234
(即使调用为 -n --version,也会加载 INI 文件)。
Session
修复了错误
#73273
(session_unset() 清空存储 $_session 的所有变量中的值)。
SOAP
修复了 bug
#73037
(SoapServer 在使用 gzip 压缩时报告错误请求)。
修复了 bug
#73237
("any" 元素中的嵌套对象会覆盖其他字段)。
修复了错误
#69137
(使用代理时,SoapClient 的对等验证失败)
SQLite3
修复了 bug
#73333
(2147483647 作为字符串提取)。
标准
修复了 bug
#73203
(传递 additional_parameters 会导致邮件发送失败)。
修复了错误
#71241
(array_replace_recursive 有时会修改其参数)。
修复了 bug
#73192
(parse_url 返回错误的主机名)。
Wddx
修复了 bug
#73331
(在使用 PDORow 的 WDDX 数据包反序列化中存在空指针解除引用)。 (CVE-2016-9934)
版本 7.0.12
2016年10月13日
核心
修复了错误
#73025
(zend_virtual_cwd.c 中 virtual_popen 的堆缓冲区溢出)。
修复了错误
#72703
(由 password_verify 触发的 BF_crypt 中的越界全局内存读取)。
修复了错误
#73058
(salt “太”长时 crypt 出现故障)。
修复了错误
#69579
(扩展特性中的无效释放)。
修复了错误
#73156
(在未定义函数上出现段错误)。
修复了错误
#73163
(如果错误处理程序在默认值中访问未定义的常量时抛出异常,PHP 会挂起)。
修复了错误
#73172
(解析错误:无效的数字文字)。
修复了错误
#73240
(number_format 中的越界写入)。
修复了错误
#73147
(PHP7 反序列化中的使用后释放)。
修复了错误
#73189
(memcpy 负大小参数 php_resolve_path)。
BCmath
修复了错误
#73190
(memcpy 负参数 _bc_new_num_ex)。
COM
修复了错误
#73126
(无法通过引用传递参数 1)。
日期
修复了错误
#73091
(反序列化 DateInterval 对象可能导致 __toString 调用)。
DOM
修复了错误
#73150
(dom_document_save_html 中缺少 NULL 检查)。
过滤器
修复了错误
#72972
(FILTER_FLAG_NO_RES_RANGE 和 FILTER_FLAG_NO_PRIV_RANGE 的错误过滤器)。
修复了错误
#73054
(将对象传递给 int 过滤器时忽略默认选项)。
GD
修复了错误
#67325
(imagetruecolortopalette:调色板中重复白色)。
修复了错误
#50194
(imagettftext 在没有 alphablending 的透明背景上损坏)。
修复了错误
#73003
(gd_webp.c 的 gdImageWebpCtx 中的整数溢出)。
修复了错误
#53504
(imagettfbbox 为边界框提供错误的值)。
修复了错误
#73157
(如果给出 4 个参数,imagegd2() 会忽略第 3 个参数)。
修复了错误
#73155
(imagegd2() 在边界上写入错误的块大小)。
修复了错误
#73159
(imagegd2():无法识别的格式可能导致文件损坏)。
修复了错误
#73161
(imagecreatefromgd2() 可能会泄漏内存)。
Intl
修复了错误
#73218
(为 ICU 整数溢出添加缓解措施)。
Mbstring
修复了错误
#66797
(mb_substr 仅接受 32 位有符号整数)。
修复了错误
#66964
(mb_convert_variables() 无法检测递归)。
修复了错误
#72992
(mbstring.internal_encoding 不会继承 default_charset)。
Mysqlnd
修复了错误
#72489
(修改包含 MySQLi 结果数据的数组时,PHP 崩溃)。
Opcache
修复了错误
#72982
(zend_accel_blacklist_update_regexp() 函数中的内存泄漏)。
OpenSSL
修复了错误
#73072
(无效路径 SNI_server_certs 导致段错误)。
修复了错误
#73276
(openssl_random_pseudo_bytes 函数中发生崩溃)。
修复了错误
#73275
(openssl_encrypt 函数中的崩溃)。
PCRE
修复了错误
#73121
(捆绑的 PCRE 无法编译,因为 s390 上不支持 JIT)。
修复了错误
#73174
(php_pcre_replace_impl 中的堆溢出)。
PDO_DBlib
修复了错误
#72414
(从不将值作为原始二进制数据引用)。
允许 \PDO::setAttribute() 设置查询超时。
处理 SQLDECIMAL/SQLNUMERIC 类型,这些类型由更高版本的 TDS 使用。
添加通用 PDO 测试套件。
在清理 PDO 实例时释放错误和消息字符串。
修复了错误
#67130
(当当前行集中所有行都未提取时,\PDOStatement::nextRowset() 应成功)。
忽略可能具有误导性的 dberr 值。
phpdbg
修复了错误
#72996
(phpdbg_prompt.c 未定义对 DL_LOAD 的引用)。
修复了退出函数时 next 命令不会停止的问题。
Session
修复了错误
#68015
(会话未为文件保存处理程序报告无效的 uid)。
修复了错误
#73100
(ps_files_path_create 中的 session_destroy 空指针取消引用)。
SimpleXML
修复了 bug
#73293
(SimpleXMLElement::asXML() 中存在空指针解除引用)。
SOAP
修复了 bug
#71711
(Soap Server 成员变量引用错误)。
修复了 bug
#71996
(在数组中使用引用时,行为与预期不符)。
SPL
修复了错误
#73257
,修复了错误
#73258
(SplObjectStorage 反序列化允许使用非对象作为键)。
SQLite3
将捆绑的 SQLite3 更新到 3.14.2。
Zip
修复了错误
#70752
(使用错误密码解包会导致文件长度为 0)。
版本 7.0.11
2016年9月15日
核心
修复了错误
#72944
(zval_delref_p 中的空指针取消引用)。
修复了错误
#72943
(字符串上的 assign_dim 不会重置 hval)。
修复了错误
#72911
(zend_binary_assign_op_obj_helper 中的内存泄漏)。
修复了错误
#72813
(__get 通过引用返回时出现段错误)。
修复了错误
#72767
(尝试扩展无限运算符时,PHP 出现段错误)。
修复了错误
#72854
(PHP 在重复析构函数调用时崩溃)。
修复了错误
#72857
(stream_socket_recvfrom 读取访问冲突)。
COM
修复了错误
#72922
(从 PHP 调用的 COM 不返回输出参数)。
Dba
修复了错误
#70825
(无法使用 ini 文件中的组获取多个值)。
FTP
修复了错误
#70195
(无法使用 ftp_put 将文件上传到使用 require_ssl_reuse 的 FTPES)。
GD
修复了错误
#72709
(imagesetstyle() 导致空 $styles 的 OOB 读取)。
修复了错误
#66005
(imagecopy 不支持真彩色图像上的 1 位透明度)。
修复了错误
#72913
(imagecopy() 在调色板图像上丢失单色透明度)。
修复了错误
#68716
(_php_image_convert() 中可能存在的资源泄漏)。
iconv
修复了错误
#72320
(iconv_substr 对空字符串返回 false)。
IMAP
修复了错误
#72852
(imap_mail 空指针解引用)。
Intl
修复了错误
#65732
(grapheme_*() 在 CR LF 序列上不符合 Unicode)。
修复了错误
#73007
(添加区域设置长度检查)。(CVE-2016-7416)
Mysqlnd
修复了错误
#72293
(与 mysqlnd 相关的 BIT 字段的堆溢出)。(CVE-2016-7412)
OCI8
修复了隐式结果集的无效句柄错误。
修复了错误
#72524
(绑定空值会触发 ORA-24816 错误)。
Opcache
修复了错误
#72949
(opcache 错误消息中的错别字)。
PDO
修复了错误
#72788
(使用持久 PDO 连接时出现无效内存访问)。
修复了错误
#72791
(PDO 持久连接处理中的内存泄漏)。
修复了错误
#60665
(使用 PDO::FETCH_LAZY 对 NULL 结果调用 empty() 返回 false)。
PDO_DBlib
实现了字符串化“uniqueidentifier”字段。
PDO_pgsql
实现了 FR
#72633
(Postgres PDO lastInsertId() 应在不指定序列的情况下工作)。
修复了错误
#72759
(pgo_pgsql 的回归)。
Phar
修复了错误
#72928
(在 phar_parse_zipfile 中验证 zip phar 签名时越界)。(CVE-2016-7414)
修复了错误
#73035
(在 phar_parse_tarfile 中验证 tar phar 的签名时越界)。
Reflection
修复了错误
#72846
(具有常量值的数组常量的 getConstant 返回 NULL/NFC/UKNOWN)。
Session
修复了错误
#72724
(PHP7:session-uploadprogress 终止 httpd)。
修复了错误
#72940
(SID 始终返回“name=ID”,即使存在会话 Cookie)。
SimpleXML
修复了 bug
#72971
(SimpleXML isset/unset 不尊重命名空间)。
修复了 bug
#72957
(空合并运算符在与 SimpleXMLElement 一起使用时行为不符合预期)。
SPL
修复了错误
#73029
(反序列化 SplArray 时缺少类型检查)。(CVE-2016-7417)
标准
修复了 bug
#55451
(substr_compare NULL 长度被解释为 0)。
修复了 bug
#72278
(getimagesize 在有效的 jpg 上返回 FALSE)。
修复了 bug
#65550
(get_browser() 错误地解析包含 "+" 符号的条目)。
流
修复了 bug
#72853
(stream_set_blocking 不起作用)。
修复了 bug
#72764
(ftps:// opendir 包装程序数据通道加密在 IIS FTP 7.5、8.5 上失败)。
修复了 bug
#71882
(在 php://memory 上对负数进行 ftruncate() 会耗尽内存)。
SQLite3
将捆绑的 SQLite 降级到 3.8.10.2,请参见
#73068
Sysvshm
修复了 bug
#72858
(shm_attach 空指针解除引用)。
Wddx
修复了错误
#72860
(wddx_deserialize 使用后释放)。(CVE-2016-7413)
修复了错误
#73065
(php_wddx_push_element 中的越界读取)。(CVE-2016-7418)
XML
修复了 bug
#72085
(在未知地址 zif_xml_parse 上出现 SEGV)。
修复了 bug
#72714
(_xml_startElementHandler() 段错误)。
ZIP
修复了 bug
#68302
(无法使用 zip 支持编译 php)。
版本 7.0.10
2016年8月18日
核心
修复了错误
#72629
(捕获的异常赋值给变量会忽略引用)。
修复了错误
#72594
(调用包含的匿名类的早期实例会导致致命错误)。
修复了错误
#72581
(反序列化后,Exception 中的先前属性未定义)。
修复了错误
#72496
(无法声明与父私有方法签名不兼容的公共方法)。
修复了错误
#72024
(microtime() 泄漏内存)。
修复了错误
#71911
(在 Windows 上使用 phpize 构建扩展时无法设置 --enable-debug)。
修复了导致 ClosedGeneratorException 被抛出到调用代码而不是 Generator 产生的问题。
实现了 FR
#72614
(支持通过 phpize 构建扩展时使用“nmake test”)。
修复了错误
#72641
(phpize(在 Windows 上)忽略 PHP_PREFIX)。
修复了关闭序列中对象存储释放的潜在段错误。
修复了错误
#72663
(创建意外对象并在反序列化中不调用 __wakeup())。(CVE-2016-7124)
修复了错误
#72681
(PHP 会话数据注入漏洞)。(CVE-2016-7125)
修复了错误
#72683
(getmxrr 损坏)。
修复了错误
#72742
(内存分配器无法将小块重新分配到大块)。(CVE-2016-7133)
Bz2
修复了错误
#72837
(bzdecompress 中的整数溢出导致堆损坏)。
日历
修复了错误
#67976
(cal_days_month() 对于法式日历的最后一个月份失败)。
修复了错误
#71894
(AddressSanitizer:zif_cal_from_jd 中的全局缓冲区溢出)。
COM
修复了错误
#72569
(PHP7 中的 DOTNET/COM 数组参数损坏)。
CURL
修复了错误
#71709
(curl_setopt 使用空的 CURLOPT_HTTPHEADER 导致段错误)。
修复了错误
#71929
(CURLINFO_CERTINFO 数据解析错误)。
修复了错误
#72674
(curl_escape 中的堆溢出)。(CVE-2016-7134)
DOM
修复了错误
#66502
(DOM 文档悬空引用)。
EXIF
修复了错误
#72735
(三星图片缩略图未读取(大小为零))。
修复了错误
#72627
(exif_process_IFD_in_TIFF 中的内存泄漏)。(CVE-2016-7128)
过滤器
修复了错误
#71745
(FILTER_FLAG_NO_RES_RANGE 涵盖范围不包括整个 127.0.0.0/8)。
FPM
修复了错误
#72575
(使用 --allow-to-run-as-root 应该忽略缺少的用户)。
GD
修复了错误
#72596
(imagetypes 函数不会宣传 WEBP 支持)。
修复了错误
#72604
(imagearc() 忽略完整圆弧的厚度)。
修复了错误
#70315
(500 服务器错误,但页面已完全呈现)。
修复了错误
#43828
(混合模式下真彩色 imagearc 的透明度损坏)。
修复了错误
#66555
(ext/gd/libgd/gdkanji.c 中始终为假的条件)。
修复了错误
#68712
(可疑的 if-else 语句)。
修复了错误
#72697
(select_colors 越界写入)。(CVE-2016-7126)
修复了错误
#72730
(imagegammacorrect 允许任意写访问)。(CVE-2016-7127)
修复了错误
#72494
(imagecropauto 越界访问)
Intl
修复了错误
#72639
(实例化扩展 IntlCalendar 并添加属性的类时出现段错误)。
部分修复了错误
#72506
(对于长域名,UTS #46 的 idn_to_ascii 不正确)。
mbstring
修复了错误
#72691
(如果匹配零宽度,则 mb_ereg_search 会引发警告)。
修复了错误
#72693
(如果匹配零宽度,则 mb_ereg_search 会递增搜索位置)。
修复了错误
#72694
(mb_ereg_search_setpos 不接受字符串的最后一个位置)。
修复了错误
#72710
(`mb_ereg` 在正则表达式编译错误时导致缓冲区溢出)。
Mcrypt
修复了错误
#72782
(由于整数溢出导致的堆溢出)。
Opcache
修复了错误
#72590
(使用 kill_all_lockers 重启 Opcache 不起作用)。
PCRE
修复了错误
#72688
(preg_match 在匹配项中缺少组名称)。
PDO_pgsql
修复了错误
#70313
(PDO 语句无法抛出异常)。
Reflection
修复了错误
#72222
(ReflectionClass::export 无法处理数组常量)。
SimpleXML
修复了 bug
#72588
(在访问 SimpleXML 元素时,使用全局变量不起作用)。
SNMP
修复了 bug
#72708
(php_snmp_parse_oid 内存分配中存在整数溢出)。
SPL
修复了 bug
#55701
(GlobIterator 抛出 LogicException)。
修复了 bug
#72646
(SplFileObject::getCsvControl 不会返回转义字符)。
修复了 bug
#72684
(AppendIterator 在关闭生成器时出现段错误)。
SQLite3
修复了 bug
#72668
(在用户定义函数中抛出异常时出现虚假警告)。
修复了错误
#72571
(SQLite3::bindValue、SQLite3::bindParam 崩溃)。
实现了 FR
#72653
(SQLite 应该允许使用空文件名打开)。
更新到 SQLite3 3.13.0。
标准
修复了 bug
#72622
(array_walk + array_replace_recursive 从无中生有地创建引用)。
修复了错误
#72152
(base64_decode $strict 无法检测空字节)。
修复了错误
#72263
(base64_decode 在严格模式下跳过填充后的字符)。
修复了错误
#72264
(base64_decode $strict 在填充之间有空格时失败)。
修复了 bug
#72330
(如果转义字符后跟 UTF 字符,则 CSV 字段会被错误地拆分)。
流
修复了 bug
#41021
(ftps 包装程序存在问题)。
修复了 bug
#54431
(opendir() 在 ftps:// 包装程序中不起作用)。
修复了 bug
#72667
(使用 ftp:// 的 opendir() 尝试为不存在的目录打开数据流)。
修复了 bug
#72771
(ftps:// 包装程序容易受到协议降级攻击)。
XMLRPC
修复了 bug
#72647
(在引用数组元素后,xmlrpc_encode() 输出意外)。
Wddx
修复了 bug
#72564
(布尔值始终反序列化为 "true")。
修复了 bug
#72142
(wddx_serialize_value() 中存在 WDDX 数据包注入漏洞)。
修复了错误
#72749
(wddx_deserialize 允许非法内存访问)。(CVE-2016-7129)
修复了错误
#72750
(wddx_deserialize 空指针解引用)。(CVE-2016-7130)
修复了错误
#72790
(使用无效 xml 的 wddx_deserialize 空指针解引用)。(CVE-2016-7131)
修复了错误
#72799
(php_wddx_pop_element 中的 wddx_deserialize 空指针解引用)。(CVE-2016-7132)
Zip
修复了 bug
#72660
(zend_virtual_cwd 中存在空指针解除引用)。
版本 7.0.9
2016年7月21日
核心
修复了错误
#72508
(递归函数调用和“switch”语句后的奇怪引用)。
修复了错误
#72513
(virtual_file_ex 中的基于栈的缓冲区溢出漏洞)。(CVE-2016-6289)
修复了错误
#72573
(某些 PHP 库和应用程序错误地信任 HTTP_PROXY)。(CVE-2016-5385)
bz2
修复了错误
#72613
(bzread() 中的错误处理不足)。(CVE-2016-5399)
CLI
修复了错误
#72484
(如果用户指定 router.php,则 SCRIPT_FILENAME 显示错误路径)。
COM
修复了错误
#72498
(variant_date_from_timestamp 空指针解除引用)。
Curl
修复了错误
#72541
(size_t 溢出导致堆损坏)。
日期
修复了错误
#66836
(DateTime::createFromFormat 'U' 在 1970 年之前的日期解析失败)。
Exif
修复了错误
#72603
(exif_process_IFD_in_MAKERNOTE 中的越界读取)。(CVE-2016-6291)
修复了错误
#72618
(exif_process_user_comment 中的空指针解引用)。(CVE-2016-6292)
GD
修复了错误
#43475
(粗体样式的线条具有混乱的图案)。
修复了错误
#53640
(XBM 图像要求宽度为 8 的倍数)。
修复了错误
#64641
(imagefilledpolygon 无法绘制水平线)。
修复了错误
#72512
(gdImageTrueColorToPaletteBody 允许任意写入/读取访问)。
修复了错误
#72519
(imagegif/output 越界访问)。
修复了错误
#72558
(_gdContributionsAlloc() 中的整数溢出错误)。(CVE-2016-6207)
修复了错误
#72482
(由 gdImageAALine 溢出导致的非法写入/读取访问)。
修复了错误
#72494
(imagecropauto 越界访问)。
Intl
修复了错误
#72533
(locale_accept_from_http 越界访问)。(CVE-2016-6294)
Mbstring
修复了错误
#72405
(mb_ereg_replace - mbc_to_code (oniguruma) - oob 读取访问)。
修复了错误
#72399
(MBString (search_re) 中的 Use-After-Free)。
mcrypt
修复了错误
#72551
,错误
#72552
(从 size_t 到 int 的不正确转换导致 mdecrypt_generic 中的堆溢出)。
PDO_pgsql
修复了错误
#72570
(在没有占位符的查询上绑定参数时出现段错误)。
PCRE
修复了错误
#72476
(jit_stack 中的内存泄漏)。
修复了错误
#72463
(mail 使用无效参数失败)。
Readline
修复了错误
#72538
(readline_redisplay 使 php 崩溃)。
标准
修复了 bug
#72505
(readfile() 会损坏大于 2G 的文件)。
修复了 bug
#72306
(通过 proc_open 和 $env 参数导致堆溢出)。
Session
修复了 bug
#72531
(ps_files_cleanup_dir 缓冲区溢出)。
修复了 bug
#72562
(在使用意外 Session 反序列化时,unserialize() 中存在 Use After Free)。
SNMP
修复了错误
#72479
(使用 SNMP、GC 和 unserialize() 的 Use After Free 漏洞)。(CVE-2016-6295)
流
修复了 bug
#72439
(带有远程地址的流套接字会导致段错误)。
XMLRPC
修复了错误
#72606
(堆缓冲区溢出(写入)simplestring_addn simplestring.c)。(CVE-2016-6296)
Zip
修复了错误
#72520
(php_stream_zip_opener 中的基于栈的缓冲区溢出漏洞)。(CVE-2016-6297)
版本 7.0.8
2016年6月23日
核心
修复了错误
#72218
(如果无法解析主机名,则 PHP 7 会崩溃)。
修复了错误
#72221
(段错误,越界访问)。
修复了错误
#72268
(nl2br() 中的整数溢出)。
修复了错误
#72275
(json_encode()/json_decode()/ json_utf8_to_utf16() 中的整数溢出)。
修复了错误
#72400
(addcslashes/addslashes 中的整数溢出)。
修复了错误
#72403
(字符串类型 ZVAL 长度的整数溢出)。
日期
修复了错误
#63740
(strtotime 似乎同时使用星期日和星期一作为一周的开始)。
FPM
修复了错误
#72308
(fastcgi_finish_request 和记录环境变量)。
GD
修复了错误
#72298
(pass2_no_dither 越界访问)。
修复了错误
#72337
(无效的维度可能导致崩溃)。
修复了错误
#72339
(_gd2GetHeader() 中的整数溢出导致堆溢出)。(CVE-2016-5766)
修复了错误
#72407
(_gdScaleVert 处的空指针解引用)。
修复了错误
#72446
(gdImagePaletteToTrueColor() 中的整数溢出导致堆溢出)。(CVE-2016-5767)
Intl
修复了错误
#70484
(selectordinal 不适用于命名参数)。
mbstring
修复了错误
#72402
(_php_mb_regex_ereg_replace_exec - 双重释放)。(CVE-2016-5768)
mcrypt
修复了错误
#72455
(由于整数溢出导致的堆溢出)。(CVE-2016-5769)
OpenSSL
修复了错误
#72140
(调用 ERR_free_strings() 后出现段错误)。
PCRE
修复了错误
#72143
(preg_replace 使用 int 而不是 size_t)。
PDO_pgsql
修复了错误
#71573
(如果 paramno 超出范围,则出现段错误 (core dumped))。
修复了错误
#72294
(与 pgsql_stmt_dtor 相关的段错误/无效指针)。
Phar
修复了错误
#72321
(phar_extract_file() 中的无效释放)。(CVE-2016-4473)
Phpdbg
修复了错误
#72284
(phpdbg 使用覆盖率时出现致命错误)。
Postgres
修复了错误
#72195
(pg_pconnect/pg_connect 导致使用后释放)。
修复了错误
#72197
(pg_lo_create 任意读取)。
标准
修复了错误
#72017
(带有浮点数步长的 range() 会产生意外的结果)。
修复了错误
#72193
(dns_get_record 返回包含类型为“unknown”的元素的数组)。
修复了错误
#72229
(序列化/反序列化对象时的错误引用)。
修复了错误
#72300
(ignore_user_abort(false) 没有效果)。
WDDX
修复了错误
#72340
(wddx_deserialize 中的双重释放损坏)。(CVE-2016-5772)
XML
修复了错误
#72206
(xml_parser_create/xml_parser_free 泄漏内存)。
XMLRPC
修复了错误
#72155
(由 get_zval_xmlrpc_type 导致的使用后释放)。
Zip
修复了错误
#72258
(ZipArchive 将文件名转换为不可恢复的格式)。
修复了错误
#72434
(PHP 的 GC 算法和 unserialize 中的 ZipArchive 类 Use After Free 漏洞)。(CVE-2016-5773)
版本 7.0.7
2016年5月26日
核心
修复了错误
#72162
(使用后释放 - error_reporting)。
添加编译器选项以禁用特殊情况函数调用。
修复了错误
#72101
(复杂代码崩溃)。
修复了错误
#72100
(implode() 在连接非常大的整数时将垃圾插入到结果字符串中)。
修复了错误
#72057
(使用自定义错误处理程序和类型提示时 PHP 挂起)。
修复了错误
#72038
(带有传递给按引用参数的值的函数调用并不总是抛出通知)。
修复了错误
#71737
(闭包中名为 $this 的参数导致内存泄漏)。
修复了错误
#72059
(在常量表达式中不允许使用 ??)。
修复了错误
#72159
(导入的类覆盖了本地类名)。
Curl
修复了错误
#68658
(定义 CURLE_SSL_CACERT_BADFILE)。
DBA
修复了错误
#72157
(由 dba_open 引起的 use-after-free)。
GD
修复了错误
#72227
(imagescale 越界读取)。(CVE-2013-7456)
Intl
修复了错误
#64524
(将 intl.use_exceptions 添加到 php.ini-* 中)。
修复了错误
#72241
(get_icu_value_internal 越界读取)。(CVE-2016-5093)
JSON
修复了错误
#72069
(\JsonSerializable 的行为与 json_encode 不同)。
Mbstring
修复了错误
#72164
(空指针取消引用 - mb_ereg_replace)。
OCI8
修复了错误
#71600
(当选择超过八列时,oci_fetch_all 会导致段错误)。
Opcache
修复了错误
#72014
(多次包含具有匿名类的文件会导致致命错误)。
OpenSSL
修复了错误
#72165
(空指针取消引用 - openssl_csr_new)。
PCNTL
修复了错误
#72154
(pcntl_wait/pcntl_waitpid 数组内部结构覆盖)。
POSIX
修复了错误
#72133
(如果 gr_passwd 为 NULL,则 php_posix_group_to_array 会崩溃)。
Postgres
修复了错误
#72028
(pg_query_params(): NULL 转换为空字符串)。
修复了错误
#71062
(pg_convert() 不接受 ISO 8601 用于数据类型时间戳)。
修复了错误
#72151
(mysqli_fetch_object 更改了行为)。
#71820
的补丁已恢复。
Reflection
修复了错误
#72174
(ReflectionProperty#getValue() 导致 __isset 调用)。
Session
修复了错误
#71972
(循环引用导致 session_start(): 无法解码会话对象)。
Sockets
添加了 socket_export_stream() 函数,用于从套接字资源获取兼容的流资源。
SPL
修复了错误
#72051
(CallbackFilterIterator 中的引用无法按预期工作)。
SQLite3
修复了错误
#68849
(bindValue 未使用正确的 数据类型)。
标准
修复了错误
#72075
(引用套接字资源会破坏 stream_select)。
修复了错误
#72031
(针对对象数组的 array_column() 会丢弃所有与 null 匹配的值)。
版本 7.0.6
2016 年 4 月 28 日
核心
修复了错误
#71930
(_zval_dtor_func: 断言 `(arr)->gc.refcount <= 1` 失败)。
修复了错误
#71922
(在 assert(new class{}) 上崩溃)。
修复了错误
#71914
(在“switch”中丢失了引用)。
修复了错误
#71871
(接口允许使用 final 和 abstract 函数)。
修复了错误
#71859
(zend_objects_store_call_destructors 对重新分配的内存进行操作,导致崩溃)。
修复了错误
#71841
(EG(error_zval) 处理不当)。
修复了错误
#71750
(php_raw_url_encode/php_url_encode 中的多个堆溢出)。
修复了错误
#71731
(空合并运算符和 ArrayAccess)。
修复了错误
#71609
(在 ZTS 中使用 gethostbyname 导致分段错误)。
修复了错误
#71414
(继承、trait 和接口)。
修复了错误
#71359
(空合并运算符和魔术方法)。
修复了错误
#71334
(在 uksort() 期间无法访问数组键)。
修复了错误
#69659
(ArrayAccess、isset() 和 offsetExists 方法)。
修复了错误
#69537
(使用空字符串作为键的 __debugInfo 会导致错误)。
修复了错误
#62059
(ArrayObject 和 isset 不是朋友)。
修复了错误
#71980
(装饰/嵌套生成器在 finally 中不可关闭)。
BCmath
修复了错误
#72093
(bcpowmod 接受负比例并破坏了一个定义)。(CVE-2016-4537,CVE-2016-4538)
Curl
修复了错误
#71831
(CURLOPT_NOPROXY 作为长整数而不是字符串应用)。
日期
修复了错误
#71889
(DateInterval::format 分段错误)。
EXIF
修复了错误
#72094
(exif 标头处理中的越界堆读取访问)。(CVE-2016-4542,CVE-2016-4543,CVE-2016-4544)
GD
修复了错误
#71912
(libgd:带符号性漏洞)。(CVE-2016-3074)
Intl
修复了错误
#71516
(如果模式通过构造函数设置,则 IntlDateFormatter 会丢失区域设置)。
修复了错误
#70455
(缺少常量:IntlChar::NO_NUMERIC_VALUE)。
修复了错误
#70451
,
#70452
(IntlChar 方法的返回值不一致)。
修复了错误
#68893
(datefmt_create 中的堆栈溢出)。
修复了错误
#66289
(如果区域设置为空,则 Locale::lookup 会错误地返回 en 或 en_US)。
修复了错误
#70484
(selectordinal 不适用于命名参数)。
修复了错误
#72061
(使用负偏移量在 zif_grapheme_stripos 中进行越界读取)。(CVE-2016-4540,CVE-2016-4541)
ODBC
修复了错误
#63171
(脚本在 max_execution_time 后挂起)。
Opcache
修复了错误
#71843
(空指针取消引用 ZEND_RETURN_SPEC_CONST_HANDLER)。
PDO
修复了错误
#52098
(自己的 PDOStatement 实现忽略 __call())。
修复了错误
#71447
(注释内的引号处理不当)。
PDO_DBlib
修复了错误
#71943
(dblib_handle_quoter 需要分配一个额外的字节)。
添加了用于控制超时的 DBLIB 特定属性。
PDO_pgsql
修复了错误
#62498
(当使用 getColumnMeta() 时,pdo_pgsql 效率低下)。
Postgres
修复了错误
#71820
(pg_fetch_object 在调用构造函数之前绑定参数)。
修复了错误
#71998
(当列类型为 inet 时,函数 pg_insert 不会插入)。
SOAP
修复了错误
#71986
(嵌套 foreach 按引用赋值会创建损坏的变量)。
SPL
修复了错误
#71838
(反序列化序列化的 SPLObjectStorage-Object 无法在 PHP 中访问属性)。
修复了错误
#71735
(在 SplDoublyLinkedList::offsetSet 中出现双重释放)。
修复了错误
#67582
(克隆的 SplObjectStorage 覆盖了 getHash 会导致 offsetExists() 失败)。
修复了错误
#52339
(SPL 自动加载器会破坏 class_exists())。
标准
修复了错误
#72116
(array_fill 优化会破坏实现)。
修复了错误
#71995
(从 __sleep() 中返回相同的变量两次会产生损坏的序列化数据)。
修复了错误
#71940
(在恢复对象引用时,Unserialize 会崩溃)。
修复了错误
#71969
(在按引用进行 foreach 后,str_replace 返回错误的结果数组)。
修复了错误
#71891
(header_register_callback() 和 register_shutdown_function())。
修复了错误
#71884
(stream_context_get_default 中的空指针取消引用(段错误))。
修复了错误
#71840
(Unserialize 接受错误的数据)。
修复了错误
#71837
(错误的数组行为)。
修复了错误
#71827
(substr_replace 错误,字符串长度)。
修复了错误
#67512
(如果 crypt_r() 不存在或未定义 _REENTRANT,则 php_crypt() 会崩溃)。
XML
修复了错误
#72099
(xml_parse_into_struct 分段错误)。(CVE-2016-4539)
Zip
修复了错误
#71923
(ZipArchive::getFrom* 中的整数溢出)。(CVE-2016-3078)
版本 7.0.5
2016 年 3 月 31 日
核心
默认情况下禁用大页面。
添加了通过环境变量 USE_ZEND_ALLOC_HUGE_PAGES=1 在 Zend 内存管理器中启用大页面的功能。
修复了错误
#71756
(当在 switch 中使用时,按引用调用会将作用域扩展到不相关的函数)。
修复了错误
#71729
(zend_bin_strtod、zend_oct_strtod、zend_hex_strtod 中可能发生的崩溃)。
修复了错误
#71695
(全局变量在执行之前被预留)。
修复了错误
#71629
(php_stream_url_wrap_rfc2397 上下文中 php_url_decode 中的越界访问)。
修复了错误
#71622
(在按引用传递中使用的字符串无法用于调用 C::$callable())。
修复了错误
#71596
(在 ZTS 中使用日期函数(setlocale)导致分段错误)。
修复了错误
#71535
(zend_mm_alloc_heap() 中的整数溢出)。
修复了错误
#71470
(泄漏了 1 个哈希表迭代器)。
修复了错误
#71575
(ISO C 不允许在函数外部使用额外的“;”)。
修复了错误
#71724
(yield from 不会计算 EOL)。
修复了错误
#71767
(ReflectionMethod::getDocComment 返回错误的注释)。
修复了错误
#71806
(php_strip_whitespace() 在某些数值上失败)。
修复了错误
#71624
(`php -R`(PHP_MODE_PROCESS_STDIN)已损坏)。
CLI 服务器
修复了错误
#69953
(支持 MKCALENDAR 请求方法)。
Curl
修复了错误
#71694
(支持常量 CURLM_ADDED_ALREADY)。
日期
修复了错误
#71635
(DatePeriod::getEndDate 段错误)。
Fileinfo
修复了错误
#71527
(使用格式错误的 magic 文件在 finfo_open 中进行缓冲区覆盖)。(CVE-2015-8865)
libxml
修复了错误
#71536
(访问冲突导致 php-cgi.exe 崩溃)。
mbstring
修复了错误
#71906
(AddressSanitizer:mbfl_strcut 中的参数大小为负数(-1))。(CVE-2016-4073)
ODBC
修复了错误
#47803
,
#69526
(仅对前两个语句成功执行预处理语句)。
PCRE
修复了错误
#71659
(在运行 twig 测试的 pcre 中出现分段错误)。
PDO_DBlib
修复了错误
#54648
(PDO::MSSQL 强制 datetime 字段的格式)。
Phar
修复了错误
#71625
(使用错误的 phar 文件名时,php7.dll 崩溃)。
修复了错误
#71317
(PharData 无法打开特定文件)。
修复了错误
#71860
(phar 中的无效内存写入,文件名中包含 \0)。(CVE-2016-4072)
phpdbg
修复了在内部函数中前进(除了步进)时发生的崩溃。
Session
修复了错误
#71683
(zend_hash_str_find_bucket 中的空指针取消引用)。
SNMP
修复了错误
#71704
(php_snmp_error() 格式字符串漏洞)。(CVE-2016-4071)
SPL
修复了错误
#71617
(在反序列化 ArrayObject 时丢失私有属性)。
标准
修复了错误
#71660
(在按引用进行 foreach 后,array_column 行为不正确)。
修复了错误
#71798
(php_raw_url_encode 中的整数溢出)。(CVE-2016-4070)
Zip
将捆绑的 libzip 更新到 1.1.2。
版本 7.0.4
2016 年 3 月 3 日
核心
修复了错误(zend_arena 中的低概率段错误)。
修复了错误
#71441
(带有类型提示的生成器在 try/finally 中返回导致崩溃)。
修复了错误
#71442
(forward_static_call 崩溃)。
修复了错误
#71443
(使用内置 Web 服务器和 intl 使用 symfony 时发生段错误)。
修复了错误
#71449
(php_implode() 中的整数溢出错误)。
修复了错误
#71450
(php_str_to_str_ex() 中的整数溢出错误)。
修复了错误
#71474
(由于 Magento2 上的虚拟机栈损坏导致崩溃)。
修复了错误
#71485
(内部函数的返回类型提示在抛出异常时导致致命错误)。
修复了错误
#71529
(使用 count 时,数组元素上的变量引用不起作用)。
修复了错误
#71601
(yield from 后 finally 代码块未执行)。
修复了错误
#71637
(xml/filter_url/addcslashes 中整数溢出导致多个堆溢出)。(CVE-2016-4344、CVE-2016-4345、CVE-2016-4346)
CLI 服务器
修复了错误
#71559
(内置 HTTP 服务器,我们可以通过此错误在 Web 上下载文件)。
CURL
修复了错误
#71523
(使用新的选项 CURLOPT_HTTPHEADER 复制句柄在 curl_multi_exec 时崩溃)。
修复了 curl_getinfo() 中的内存泄漏。
日期
修复了错误
#71525
(对 date_modify 的调用会修改 timelib_rel_time,导致 date_date_set 问题)。
Fileinfo
修复了错误
#71434
(finfo 对特定 Python 文件抛出通知)。
FPM
修复了错误
#62172
(FPM 与 Apache httpd 2.4 balancer/fcgi 设置不兼容)。
修复了错误
#71269
(php-fpm 核心转储)。
Opcache
修复了错误
#71584
(Zend Opcache 中可能存在对 ZCG(cwd) 的使用后释放)。
PCRE
修复了错误
#71537
(来自 Opcache 的 PCRE 段错误)。
phpdbg
修复了 phpdbg_get_executable() 中包含来自未指定文件的继承函数的问题。
SOAP
修复了错误
#71610
(类型混淆漏洞 - SOAP/make_http_soap_request)。(CVE-2016-3185)
标准
修复了错误
#71603
(compact() 在 php7 中维护引用)。
修复了错误
#70720
(strip_tags PHP 代码解析不正确)。
XMLRPC
修复了错误
#71501
(xmlrpc_encode_request 忽略编码选项)。
Zip
修复了错误
#71561
(Zip::ExtractTo 中的空指针解引用)。
版本 7.0.3
2016 年 2 月 4 日
核心
添加了对新的 HTTP 451 代码的支持。
修复了错误
#71039
(exec 函数忽略长度但查找 NULL 终止符)。
修复了错误
#71089
(没有检查 zend_extension 的重复)。
修复了错误
#71201
(round() 在 64 位版本上段错误)。
修复了错误
#71221
(通过 ob_start 使用 get_defined_vars 导致空指针解引用(段错误))。
修复了错误
#71248
(强制执行错误的接口)。
修复了错误
#71273
(php.ini 中错误的 ext 目录设置导致崩溃)。
修复了错误
#71275
(在克隆具有特性的对象时调用错误的方法)。
修复了错误
#71297
(连续 yield from 导致内存泄漏)。
修复了错误
#71300
(zend_fetch_string_offset 中的段错误)。
修复了错误
#71314
(var_export(INF) 打印 INF.0)。
修复了错误
#71323
(stream_get_meta_data 的输出可能被其输入伪造)。
修复了错误
#71336
(通过 get_object_vars() 公开时属性上的 is_ref 错误)。
修复了错误
#71459
(iptcembed() 中的整数溢出)。
Apache2handler
修复了 apache2handler 中 >2G 的 Content-Length 标头。
CURL
修复了错误
#71227
(无法静态编译 php_curl)。
修复了错误
#71225
(curl_setopt() 无法使用对 CURLFile 的引用设置 CURLOPT_POSTFIELDS)。
GD
改进了错误
#70976
的修复。
Interbase
修复了错误
#71305
(省略可选资源时崩溃)。
LDAP
修复了错误
#71249
(ldap_mod_replace/ldap_mod_add 将值存储为字符串“Array”)。
mbstring
修复了错误
#71397
(mb_send_mail 分段错误)。
OpenSSL
修复了错误
#71475
(openssl_seal() 未初始化内存使用)。
PCRE
将捆绑的 PCRE 库升级到 8.38。(CVE-2015-8383、CVE-2015-8386、CVE-2015-8387、CVE-2015-8389、CVE-2015-8390、CVE-2015-8391、CVE-2015-8393、CVE-2015-8394)
Phar
修复了错误
#71354
(tar/zip/phar 解析器中的堆损坏)。(CVE-2016-4342)
修复了错误
#71331
(phar_make_dirstream() 中的未初始化指针)。(CVE-2016-4343)
修复了错误
#71391
(phar_tar_setupmetadata() 中的空指针解引用)。
修复了错误
#71488
(解压缩 tar 档案时堆栈溢出)。(CVE-2016-2554)
SOAP
修复了错误
#70979
(错误的 soap 请求导致崩溃)。
SPL
修复了错误
#71204
(如果在自动加载时清理 spl_autoload_funcs,则会导致段错误)。
修复了错误
#71202
(由另一个注册的自动加载函数不会立即激活)。
修复了错误
#71311
(SPL(ArrayObject,unserialize)中的使用后释放漏洞)。
修复了错误
#71313
(SPL(SplObjectStorage,unserialize)中的使用后释放漏洞)。
标准
修复了错误
#71287
(错误消息包含十六进制而不是十进制数字)。
修复了错误
#71264
(当文件系统已满时,file_put_contents() 返回意外值)。
修复了错误
#71245
(如果 file_get_contents() 是一个引用,则忽略“header”上下文选项)。
修复了错误
#71220
(通过 ob_start 使用 compact 导致空指针解引用(段错误))。
修复了错误
#71190
(substr_replace 将原始 $search 数组中的整数转换为字符串)。
修复了错误
#71188
(str_replace 将原始 $search 数组中的整数转换为字符串)。
修复了错误
#71132
、
#71197
(range() 段错误)。
WDDX
修复了错误
#71335
(WDDX 数据包反序列化中的类型混淆)。
版本 7.0.2
2016 年 1 月 7 日
核心
修复了错误
#71165
(-DGC_BENCH=1 在 PHP7 上不起作用)。
修复了错误
#71163
(分段错误:cleanup_unfinished_calls)。
修复了错误
#71109
(ZEND_MOD_CONFLICTS("xdebug") 不起作用)。
修复了错误
#71092
(带有返回类型提示的分段错误)。
修复了 header_register_callback 中的内存泄漏。
修复了错误
#71067
(类方法中的局部对象在每次调用时都保留在内存中)。
修复了错误
#66909
(configure 无法通过 utf8_to_mutf7 测试)。
修复了错误
#70781
(扩展测试在动态扩展依赖项上失败)。
修复了错误
#71089
(没有检查 zend_extension 的重复)。
修复了错误
#71086
(highlight_string() 函数内出现无效数字文字解析错误)。
修复了错误
#71154
(HT 迭代器失效错误导致迭代器重用)。
修复了错误
#52355
(对零取反不会产生负零)。
修复了错误
#66179
(var_export() 将浮点数导出为整数)。
修复了错误
#70804
(对负零进行一元加法会产生正零)。
CURL
修复了错误
#71144
(使用 cURL 与 ZTS 时出现分段错误)。
DBA
修复了无效资源导致的键泄漏。
过滤器
修复了错误
#71063
(filter_input(INPUT_ENV, ..) 不起作用)。
FTP
实现了 FR
#55651
(忽略返回的 FTP PASV 地址的选项)。
FPM
修复了错误
#70755
(fpm_log.c 内存泄漏和缓冲区溢出)。(CVE-2016-5114)
GD
修复了错误
#70976
(通过 gdImageRotateInterpolated 数组索引越界读取内存)。(CVE-2016-1903)
Mbstring
修复了错误
#71066
(mb_send_mail:程序终止,信号为 SIGSEGV,分段错误)。
Opcache
修复了错误
#71127
(auto_prepend_file 中的定义被覆盖)。
PCRE
修复了错误
#71178
(如果未设置,则 preg_replace 使用数组在替换数组中创建 [0])。
Readline
修复了错误
#71094
(readline_completion_function 在第二个 TAB 上损坏静态数组)。
Session
修复了错误
#71122
(会话 GC 可能无法删除过时的会话数据)。
SPL
修复了错误
#71077
(ArrayObject 构造函数的 ReflectionMethod 返回错误的参数数量)。
修复了错误
#71153
(使用大型数组时,ArrayIterator 性能下降)。
标准
修复了错误
#71270
(escapeshell 函数中的堆缓冲区溢出)。(CVE-2016-1904)
WDDX
修复了错误
#70661
(WDDX 数据包反序列化中的使用后释放漏洞)。
修复了错误
#70741
(会话 WDDX 数据包反序列化类型混淆漏洞)。
XMLRPC
修复了错误
#70728
(PHP_to_XMLRPC_worker 中的类型混淆漏洞)。
版本 7.0.1
2015 年 12 月 17 日
核心
修复了错误
#71105
(类名错误消息中的格式字符串漏洞)。(CVE-2015-8617)
修复了错误
#70831
(在具有 160 个 CPU 的系统上编译失败)。
修复了错误
#71006
(Sparc/Solaris 上的符号引用错误)。
修复了错误
#70997
(使用 parentClass:: 而不是 parent:: 时,静态上下文发生变化)。
修复了错误
#70970
(组合错误处理程序和输出缓冲时出现段错误)。
修复了错误
#70967
(当抛出错误时,__toString 的错误处理方式很奇怪)。
修复了错误
#70958
(使用 ::class 作为特质方法参数默认值时出现无效操作码)。
修复了错误
#70944
(try{ } finally{} 可以创建无限的异常链)。
修复了错误
#70931
(两个错误消息冲突)。
修复了错误
#70904
(yield from 错误地将有效的生成器标记为已完成)。
修复了错误
#70899
(扩展中的 buildconf 失败)。
修复了错误
#61751
(AIX 上的 SAPI 构建问题:未定义符号:php_register_internal_extensions)。
修复了 \int(或通常是任何以反斜杠开头的标量类型名称)不被接受作为类型名称的问题。
修复了异常没有立即抛出到从数组中产生结果的生成器中的问题。
修复了错误
#70987
(Closure::call() 中的 static::class 导致段错误)。
修复了错误
#71013
(yield from 导致异常处理程序错误)。
修复了格式化打印机错误条件下的双重释放。
CLI 服务器
修复了错误
#71005
(php_cli_server_dispatch_router() 中的段错误)。
Intl
修复了错误
#71020
(Collator::sortWithSortKeys 中的使用后释放)。(CVE-2015-8616)
Mysqlnd
修复了错误
#68077
(LOAD DATA LOCAL INFILE/open_basedir 限制)。
通过引入 MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT 连接标志,修复了错误
#68344
(MySQLi 未提供禁用对等证书验证的方法)。
OCI8
修复了 gcov 报告的 LOB 实现 size_t/zend_long 不匹配。
Opcache
修复了错误
#71024
(无法在同一服务器上并行使用 PHP 7.0 x64 和 PHP 5.6 x32)。
修复了错误
#70991
(zend_file_cache.c:710: error: array type has incomplete element type)。
修复了错误
#70977
(opcache.huge_code_pages=1 时出现分段错误)。
PDO_Firebird
修复了错误
#60052
(在 X64_86 上以 64 位整数返回整数)。
Phpdbg
修复了 stderr 写入 stdout 的问题。
Reflection
修复了错误
#71018
(ReflectionProperty::setValue() 的行为已更改)。
修复了错误
#70982
(setStaticPropertyValue 的行为与 5.6 不一致)。
Soap
修复了错误
#70993
(数组键引用破坏参数处理)。
SPL
修复了错误
#71028
(使用 ArrayIterator 时出现未定义索引)。
SQLite3
修复了错误
#71049
(SQLite3Stmt::execute() 释放绑定参数而不是内部缓冲区)。
标准
修复了错误
#70999
(php_random_bytes: 调用的对象不是函数)。
修复了错误
#70960
(array_unique 的 ReflectionFunction 返回错误的参数数量)。
流/套接字
添加 IPV6_V6ONLY 常量/使其可在流上下文中使用。
版本 7.0.0
2015年12月3日
核心
修复了错误
#70947
(使用 INI_SCANNER_TYPED 时 INI 解析器段错误)。
修复了错误
#70914
(zend_throw_or_error() 格式字符串漏洞)。
修复了错误
#70912
(使用无效数组属性实例化类时出现空指针解引用)。
修复了错误
#70895
,
#70898
(使用精心设计的可调用对象时出现空指针解引用和段错误)。
修复了错误
#70249
(在 phpBB 3.2-dev 上运行 PHPUnit 测试时出现分段错误)。
修复了错误
#70805
(在运行 Drupal 8 测试套件时出现分段错误)。
修复了错误
#70842
(持久流分段错误)。
修复了错误
#70862
(几个函数没有检查 php_stream_copy_to_mem() 的返回值)。
修复了错误
#70863
(代理对象的 increment_function 逻辑不正确)。
修复了错误
#70323
(zend_fetch_debug_backtrace() 的回归会导致段错误)。
修复了错误
#70873
(私有静态属性访问的回归)。
修复了错误
#70748
(Zend/zend_ini_scanner.l 中的 ini_lex() 出现段错误)。
修复了错误
#70689
(异常处理程序无法按预期工作)。
修复了错误
#70430
(zend_language_parser() 中的堆栈缓冲区溢出)。
修复了错误
#70782
(空指针解引用和段错误(zend_get_class_fetch_type))。
修复了错误
#70785
(由于身份比较期间出现异常导致无限循环)。
修复了错误
#70630
(Closure::call/bind() 与 ReflectionFunction->getClosure() 崩溃)。
修复了错误
#70662
(通过未定义索引错误处理程序创建重复数组键)。
修复了错误
#70681
(将内部实例方法的 $this 绑定到 null 时出现段错误)。
修复了错误
#70685
(getClosure() 内部方法使用无效的 $this 重新绑定时出现段错误)。
添加了 zend_internal_function.reserved[] 字段。
修复了错误
#70557
(返回值类型验证失败时出现内存泄漏)。
修复了错误
#70555
(在未设置的变量上使用 fun_get_arg() 返回 UNKNOW)。
修复了错误
#70548
(在未捕获的引擎异常情况下打印冗余信息)。
修复了错误
#70547
(取消设置函数变量会破坏回溯)。
修复了错误
#70528
(使用 instanceof 的 assert() 会在类名周围添加撇号)。
修复了错误
#70481
(ZTS 构建中 auto_global_copy_ctor() 存在内存泄漏)。
修复了错误
#70431
(php_ini.c 中存在内存泄漏)。
修复了错误
#70478
(**= 不再工作)。
修复了错误
#70398
(SIGSEGV,分段错误 zend_ast_destroy_ex)。
修复了错误
#70332
(在返回对象引用时出现错误行为)。
修复了错误
#70300
(新的组使用语法存在语法不一致)。
修复了错误
#70321
(魔术 getter 破坏了对数组属性的引用)。
修复了错误
#70187
(Notice: unserialize(): 序列化数据意外结束)。
修复了错误
#70145
(从标头错误解析 From 字段)。
修复了错误
#70370
(捆绑的 libtool.m4 在构建扩展时无法处理 FreeBSD 10)。
修复了导致匿名类异常跟踪被截断的错误。
修复了错误
#70397
(使用 Closure::call 和 yield 时出现分段错误)。
修复了错误
#70299
(分配对象 offsetGet 结果时出现内存泄漏)。
修复了错误
#70288
(与 ZEND_SEND_REF 相关的 Apache 崩溃)。
修复了错误
#70262
(访问数组导致 PHP 7.0beta3 崩溃)。
修复了错误
#70258
(如果 do_resize 无法分配内存,则出现段错误)。
修复了错误
#70253
(zend_alloc.c:1389 中的 _efree() 出现段错误)。
修复了错误
#70240
(执行 unset($var()) 时出现段错误)。
修复了错误
#70223
(递增魔术 getter 返回的值)。
修复了错误
#70215
(__invoke 为静态时出现段错误)。
修复了错误
#70207
(finally 与 opcache 冲突)。
修复了错误
#70173
(32 位 Solaris Sparc 上的 ZVAL_COPY_VALUE_EX 出现问题)。
修复了错误
#69487
(SAPI 可能会截断 POST 数据)。
修复了错误
#70198
(检查活动状态无法按预期工作)。
修复了错误
#70241
,
#70293
(跳过的断言会影响 Generator 返回值)。
修复了错误
#70239
(创建大型数组不会导致耗尽,而是出现段错误)。
修复了“finally”问题。
修复了错误
#70098
(实际内存使用量没有减少)。
修复了错误
#70159
(闭包中丢失了 __CLASS__)。
修复了错误
#70156
(zend_find_alias_name 中出现段错误)。
修复了错误
#70124
(ZEND_HANDLE_EXCEPTION 中出现空指针解引用/段错误)。
修复了错误
#70117
(意外的返回值类型错误)。
修复了错误
#70106
(匿名类的继承)。
修复了错误
#69674
(SIGSEGV array.c:953)。
修复了错误
#70164
(命名空间下的 __COMPILER_HALT_OFFSET__ 未定义)。
修复了错误
#70108
(有时 $_SERVER['QUERY_STRING'] 为空)。
修复了错误
#70179
($this 引用计数问题)。
修复了错误
#69896
('asm' 操作数具有不可能的约束)。
修复了错误
#70183
(zend_eval_const_expr 中出现空指针解引用(段错误))。
修复了错误
#70182
(ZEND_ASSIGN_DIV_SPEC_CV_UNUSED_HANDLER 中出现段错误)。
修复了错误
#69793
(通过递归方法调用远程触发堆栈耗尽)。
修复了错误
#69892
(由于整数键截断导致不同的数组比较相同)。
修复了错误
#70121
(unserialize() 可能会导致意外的方法执行/空指针解引用)。
修复了错误
#70089
(ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER() 出现段错误)。
修复了错误
#70057
(32 位 Mac OS X 10.6.8 上的构建失败:递归内联)。
修复了错误
#70012
(嵌套 finally 块中丢失异常)。
修复了错误
#69996
(更改克隆对象的属性会影响原始对象)。
修复了错误
#70083
(对重载对象进行按引用赋值时出现使用后释放错误)。
修复了错误
#70006
(cli - 具有默认参数 = STDOUT 的函数导致输出崩溃)。
修复了错误
#69521
(gc_collect_cycles() 中出现段错误)。
改进了 zend_string API。
修复了错误
#69955
(尝试在 ArrayAccess 对象上组合 [] 和赋值运算符时出现段错误)。
修复了错误
#69957
(处理 div/mod/intdiv 的不同方法)。
修复了错误
#69900
(管道上的超时时间过长)。
修复了错误
#69872
(使用数组的 strtr 中的未初始化值)。
修复了错误
#69868
(zend_compile_short_circuiting 中的无效读取大小为 1)。
修复了错误
#69849
(apache_request_headers 的输出错误)。
修复了错误
#69840
(iconv_substr() 无法与 UTF-16BE 一起使用)。
修复了错误
#69823
(当加载恰好 33 个扩展时,PHP 7.0.0alpha1 出现分段错误)。
修复了错误
#69805
(zend_resolve_class_name 中出现空指针解引用和段错误)。
修复了错误
#69802
(Closure::__invoke 的反射破坏了类型提示类名)。
修复了错误
#69761
(应阻止匿名类的序列化)。
修复了错误
#69551
(parse_ini_file() 和 parse_ini_string() 出现分段错误)。
修复了错误
#69781
(phpinfo() 将 Windows 7/8/8.1/10 的专业版报告为“企业版”)。
修复了错误
#69835
(phpinfo() 未报告许多 Windows SKU)。
修复了错误
#69889
(空合并运算符不适用于字符串偏移量)。
修复了错误
#69891
(意外的数组比较结果)。
修复了错误
#69892
(由于整数键截断导致不同的数组比较相同)。
修复了错误
#69893
(整数和空字符串键之间的严格比较会导致崩溃)。
修复了错误
#69767
(类型错误的默认参数值会导致段错误)。
修复了错误
#69756
(致命错误:嵌套级别过深 - 递归依赖?与 ===)。
修复了错误
#69758
(添加到数组中的项目未被 array_pop/shift 删除)。
修复了错误
#68475
(添加对使用 'Class::method' 的 $callable() 语法的支持)。
修复了错误
#69485
(zend_list_dtor 上的双重释放)。
修复了错误
#69427
(父类中私有方法的魔术方法 __call 出现段错误)。
改进了 __call() 和 __callStatic() 魔术方法的处理。现在它们使用 ZEND_CALL_TRAMPOLINE 操作码以无栈方式调用,无需额外的堆栈帧。
优化了字符串连接。
修复了奇怪的运算符行为。除以零现在会发出警告并返回 +/-INF,模除以零和 intdiv() 会抛出异常,负偏移量的移位会抛出异常。已禁用除以零的编译时评估。
修复了错误
#69371
(哈希表冲突导致数组键无法访问)。
修复了错误
#68933
(zend_std_read_property 中的无效读取大小为 8)。
修复了错误
#68252
(Zend/zend_hash.c 中的 _zend_hash_del_el 函数出现段错误)。
修复了错误
#65598
(通过静态自动加载执行的闭包被错误地标记为静态)。
修复了错误
#66811
(无法在 lambda 中访问 static::class,该 lambda 写在类之外)。
修复了错误
#69568
(在闭包中调用私有函数失败)。
添加了 PHP_INT_MIN 常量。
添加了 Closure::call() 方法。
修复了错误
#67959
(调用 phpversion('spl') 时出现段错误)。
实现了 RFC“`Catchable "Call to a member function bar() on a non-object"`”。
为 unserialize 添加了 options 参数,允许指定可接受的类(https://wiki.php.net/rfc/secure_unserialize)。
修复了错误
#63734
(垃圾回收器可以释放仍然被引用的 zval)。
删除了 ZEND_ACC_FINAL_CLASS,将 ZEND_ACC_FINAL 提升为最终类修饰符。
is_long() & is_integer() 现在是 is_int() 的别名。
实现了 FR
#55467
(phpinfo:带有 $ 和单引号的 PHP 变量)。
添加了 ?? 运算符。
添加了 <=> 运算符。
添加了 \u{xxxxx} Unicode 代码点转义语法。
修复了 define() 尚未支持数组但 const 语法已支持的疏忽。
在 ZPP、类型提示和转换错误消息中使用“integer”和“float”代替“long”和“double”。
实现了 FR
#55428
(在输出缓冲处理程序中输出缓冲时出现 E_RECOVERABLE_ERROR)。
移除从不兼容的 $this 上下文中调用非静态方法的范围限定调用。
移除对 ini 文件中 # 样式注释的支持。
移除对通过引用赋值 new 结果的支持。
源代码中的无效八进制字面量现在会产生编译错误,修复 PHPSadness #31。
移除 fpm-fcgi 上的 dl() 函数。
移除对十六进制数字字符串的支持。
移除已弃用的扩展和 SAPI。请参阅 UPGRADING 中的完整列表。
为 exec、system 和 passthru 添加空字节保护。
添加 error_clear_last() 函数。
修复错误
#68797
(数字 2.2250738585072012e-308 转换错误)。
改进 zend_qsort(使用混合排序算法)以提高性能,并将 zend_qsort 重命名为 zend_sort。
添加稳定的排序算法 zend_insert_sort。
改进 zend_memnchr(使用星期日算法)以提高性能。
实现 RFC `Scalar Type Decalarations v0.5`。
实现 RFC `Group Use Declarations`。
实现 RFC `Continue Output Buffering`。
实现 RFC `Constructor behaviour of internal classes`。
实现 RFC `Fix "foreach" behavior`。
实现 RFC `Generator Delegation`。
实现 RFC `Anonymous Class Support`。
实现 RFC `Context Sensitive Lexer`。
修复错误
#69511
(php_sys_readlink 中的越界缓冲区溢出)。
CLI 服务器
修复错误
#68291
(包含 '+' 的 url 上的 404 错误)。
修复错误
#66606
(设置 HTTP_CONTENT_TYPE 但未设置 CONTENT_TYPE)。
修复错误
#70264
(CLI 服务器目录遍历)。
修复错误
#69655
(php -S 将 MKCALENDAR 请求方法更改为 MKCOL)。
修复错误
#64878
(304 响应返回 Content-Type 标头)。
重构 MIME 类型处理以使用哈希表而不是线性搜索。
从 Apache HTTPD 附带的 MIME 类型列表更新 MIME 类型列表。
添加对 SEARCH WebDav 方法的支持。
COM
修复错误
#69939
(将对象转换为布尔值返回 false)。
Curl
修复错误
#70330
(使用多个“curl_copy_handle”导致分段错误)。
修复错误
#70163
(curl_setopt_array() 类型混淆)。
修复错误
#70065
(curl_getinfo() 返回损坏的值)。
修复错误
#69831
(curl_getinfo 中的分段错误)。
修复错误
#68937
(curl_multi_exec 中的段错误)。
移除对不安全文件上传的支持。
日期
修复错误
#70245
(当第二个参数为对象或字符串时,strtotime 不会发出警告)。
修复错误
#70266
(DateInterval::__construct.interval_spec 不应该可选)。
修复错误
#70277
(new DateTimeZone($foo) 忽略空字节后的文本)。
修复 day_of_week 函数,因为它有时会在内部返回负值。
移除 mktime() 和 gmmktime() 中的 $is_dst 参数。
移除 date.timezone 警告(https://wiki.php.net/rfc/date.timezone_warning_removal)。
添加“v”DateTime 格式修饰符以获取秒分数的 3 位数字版本。
实现 FR
#69089
(将 DateTime::RFC3339_EXTENDED 添加到以 RFC3339 扩展格式输出,其中包含秒分数)。
DBA
修复错误
#62490
(dba_delete 在缺少项目(inifile)时返回 true)。
修复错误
#68711
(无用的比较)。
DOM
修复错误
#70558
(DOMDocument::registerNodeClass() 中的“无法获取”错误)。
修复错误
#70001
(分配给 DOMNode::textContent 会执行额外的实体编码)。
修复错误
#69846
(迭代 DOMNodeList 时出现分段错误(访问冲突))。
使 DOMNode::textContent 可写。
EXIF
修复错误
#70385
(exif_read_data 中的缓冲区过读,TIFF IFD 标记字节值为 32 字节)。
Fileinfo
修复错误
#66242
(libmagic:不要假设字符是有符号的)。
过滤器
新的 FILTER_VALIDATE_DOMAIN 和更好的 FILTER_VALIDATE_URL RFC 符合性。
修复错误
#67167
(FILTER_VALIDATE_BOOLEAN、FILTER_NULL_ON_FAILURE 的返回值错误)。
FPM
修复错误
#70538
(“php-fpm -i”崩溃)。
修复错误
#70279
(HTTP 授权标头有时会传递到较新的请求)。
修复错误
#68945
(未知的管理员值导致池段错误)。
修复错误
#65933
(无法指定长度超过 1024 字节的配置文件行)。
实现 FR
#67106
(拆分主 fpm 配置)。
FTP
修复错误
#69082
(Windows 上的 FTPS 支持)。
GD
修复错误
#53156
(imagerectangle 点排序问题)。
修复错误
#66387
(imagefilltoborder 导致堆栈溢出)。(CVE-2015-8874)
修复错误
#70102
(imagecreatefromwebm() 偏移颜色)。
修复错误
#66590
(imagewebp() 没有填充到偶数长度)。
修复错误
#66882
(旋转 -90 度的 imagerotate 会截断图像 1 像素)。
修复错误
#70064
(imagescale(..., IMG_BICUBIC) 泄漏内存)。
修复错误
#69024
(使用基于调色板的图像时,imagescale 发生段错误)。
修复错误
#53154
(零高度矩形有须)。
修复错误
#67447
(裁剪时,imagecrop() 添加一条黑线)。
修复错误
#68714
(复制粘贴错误)。
修复错误
#66339
(PHP 在 imagexbm 中发生段错误)。
修复错误
#70047
(gd_info() 没有报告 WebP 支持)。
将捆绑的 libgd 中的 libvpx 替换为 libwebp。
修复错误
#61221
(imagegammacorrect 函数丢失 alpha 通道)。
使 fontFetch 的路径解析器线程安全。
移除 T1Lib 支持。
GMP
修复错误
#70284
(使用 GMP 时,unserialize() 中的释放后使用漏洞)。
哈希
修复错误
#70312
(HAVAL 在特定情况下给出错误的哈希值)。
IMAP
修复错误
#70158
(使用静态 imap 构建失败)。
修复错误
#69998
(curl 多路复用泄漏内存)。
Intl
修复错误
#70453
(IntlChar::foldCase() 参数错误且缺少常量)。
修复错误
#70454
(IntlChar::forDigit 的第二个参数应该是可选的)。
移除已弃用的别名 datefmt_set_timezone_id() 和 IntlDateFormatter::setTimeZoneID()。
JSON
修复错误
#62010
(json_decode 生成无效的字节序列)。
修复错误
#68546
(json_decode() 严重错误:无法访问以 '\0' 开头的属性)。
将非免费 JSON 解析器替换为 Jsond 扩展中的解析器,修复
#63520
(JSON 扩展包含有问题的许可证声明)。
修复错误
#68938
(json_decode() 在没有错误的情况下解码空字符串)。
LDAP
修复错误
#47222
(实现 LDAP_OPT_DIAGNOSTIC_MESSAGE)。
LiteSpeed
将 LiteSpeed SAPI 代码从 V5.5 更新到 V6.6。
libxml
修复了 libxml >= 2.9.0 中错误消息中处理大行的问题。
Mcrypt
修复错误
#70625
(在 RC4 下未指定 IV 时,mcrypt_encrypt() 不会返回数据)。
修复错误
#69833
(mcrypt fd 缓存不起作用)。
修复了可能的缓冲区末尾读取后和释放后使用。
移除 mcrypt_generic_end() 别名。
移除 mcrypt_ecb()、mcrypt_cbc()、mcrypt_cfb()、mcrypt_ofb()。
Mysqli
修复错误
#32490
(mysqli 的构造函数名称错误)。
Mysqlnd
修复错误
#70949
(带有 NULL 的 SQL 结果集会导致严重的内存错误)。
修复错误
#70384
(mysqli_real_query():服务器发送的未知类型 245)。
修复错误
#70456
(mysqlnd 在连接到服务器时不会激活 TCP 保活)。
修复错误
#70572
mysqlnd_connect 中的段错误。
修复错误
#69796
(mysqli_stmt::fetch 不会将空值分配给绑定变量)。
OCI8
修复 LOB 的内存泄漏。
修复错误
#68298
(OCI 整数溢出)。
更正 oci8 哈希析构函数以防止段错误,以及其他一些修复。
ODBC
修复错误
#69975
(访问 nvarchar(max) 定义的列时,PHP 发生段错误)。(CVE-2015-8879)
Opcache
修复错误
#70656
(opcache_reset() 或使用数小时后,require() 语句中断)。
修复错误
#70843
(在 MacOSX 上使用 opcache.file_cache_only=1 时发生分段错误)。
修复错误
#70724
(Mac OS X 10.10 上 opcache.so 的未定义符号)。
修复了与 Windows 10 的兼容性(另请参阅错误
#70652
)。
尝试修复“无法重新附加到基地址”问题。
修复错误
#70423
(警告内部错误:错误的大小计算)。
修复错误
#70237
(启用 CLI 时,空 while 和 do-while 在 opcode 下发生段错误)。
修复错误
#70111
(当函数同时使用显式返回类型和显式强制转换时发生段错误)。
修复错误
#70058
(为 i386 构建时构建失败)。
修复错误
#70022
(使用 opcache.file_cache_only=1 时,opcache 崩溃)。
移除 opcache.load_comments 配置指令。现在文档注释加载不花费任何成本,并且始终启用。
修复错误
#69838
(函数表错误的大小计算)。
修复错误
#69688
(使用 eval 和 opcache 快速关闭时发生段错误)。
添加实验性的(默认情况下禁用)基于文件的 opcode 缓存。
修复了在启用 extended_info opcode 生成时 try 块被移除的错误。
修复错误
#68644
(strlen 不正确:mbstring + func_overload=2 +UTF-8 + Opcache)。
OpenSSL
至少需要 OpenSSL 版本 0.9.8。
修复错误
#68312
(查找 openssl.cnf 会导致消息框)。
修复错误
#55259
(openssl 扩展不会从 DH 密钥资源获取 DH 参数)。
修复错误
#70395
(openssl_seal() 缺少 ARG_INFO)。
修复错误
#60632
(openssl_seal 使用 AES 失败)。
实现 FR
#70438
(为 openssl_seal 和 openssl_open 添加 IV 参数)。
修复错误
#70014
(openssl_random_pseudo_bytes() 不是密码安全的)。(CVE-2015-8867)
修复错误
#69882
(使用额外的证书后,openssl_pkcs12_read 出现 OpenSSL 错误“密钥值不匹配”)。
添加“alpn_protocols”SSL 上下文选项,允许加密的客户端/服务器流在针对 OpenSSL 1.0.2 或更高版本构建时使用 ALPN TLS 扩展协商备用协议。协商的协议信息可以通过 stream_get_meta_data() 输出访问。
移除“CN_match”和“SNI_server_name”SSL 上下文选项。改为使用自动检测或“peer_name”选项。
Pcntl
修复错误
#70386
(由于缺少 WCONTINUED 和 WIFCONTINUED,因此无法在 NetBSD 上编译)。
修复了错误
#60509
(在设置 SIG_DFL 时,pcntl_signal 不会减少旧处理程序的引用计数)。
实现了功能请求
#68505
(添加了 wifcontinued 和 wcontinued)。
为 pcntl_wait() 和 pcntl_waitpid() 添加了 rusage 支持。
PCRE
修复了错误
#70232
(\K 和空字符串匹配时,错误的 bump-along 行为)。
修复了错误
#70345
(与 PCRE 函数相关的多个漏洞)。
修复了错误
#70232
(\K 和空字符串匹配时,错误的 bump-along 行为)。
修复了错误
#53823
(preg_replace:unicode 替换中的 * 限定符会使字符串混乱)。
修复了错误
#69864
(preg_replace_callback 中的段错误)。
删除了对 /e(PREG_REPLACE_EVAL)修饰符的支持。
PDO
修复了错误
#70861
(Drupal 8 测试套件期间,pdo_parse_params() 中的段错误)。
修复了错误
#70389
(PDO 构造函数更改了不相关的变量)。
修复了错误
#70272
(pdo_mysql 中的段错误)。
修复了错误
#70221
(持久 sqlite 连接 + 自定义函数导致段错误)。
修复了错误
#59450
(./configure 失败,提示“找不到 php_pdo_driver.h”)。
PDO_DBlib
修复了错误
#69757
(在 nextRowset 上发生段错误)。
PDO_mysql
修复了错误
#68424
(添加新的 PDO mysql 连接属性以控制多语句选项)。
PDO_OCI
修复了错误
#70308
(PDO::ATTR_PREFETCH 被忽略)。
PDO_pgsql
修复了错误
#69752
(当 closeCuror() 为 u 时,PDOStatement::execute() 在使用 DML 语句时会泄漏内存)。
删除了 PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT 属性,取而代之的是 ATTR_EMULATE_PREPARES)。
Phar
修复了错误
#69720
(phar_get_fp_offset() 中的空指针解引用)。
修复了错误
#70433
(当 zip 条目文件名是“/”时,phar_make_dirstream 中的未初始化指针)。
改进了错误
#69441
的修复。
修复了错误
#70019
(从存档中提取的文件可能放置在目标目录之外)。
Phpdbg
修复了错误
#70614
(在 -rr 模式下使用异常时,错误的退出代码)。
修复了错误
#70532
(phpdbg 必须尊重 set_exception_handler)。
修复了错误
#70531
(运行并退出模式(-qrr)不应回退到交互模式)。
修复了错误
#70533
(帮助概述(-h)在 Windows 下不打印任何内容)。
修复了错误
#70449
(由于缺少常量,PHP 无法在 10.4 和 10.5 上编译)。
修复了错误
#70214
(未定义 FASYNC,需要包含 sys/file.h)。
修复了错误
#70138
(显示内存泄漏时发生段错误)。
Reflection
修复了错误
#70650
(错误的 docblock 赋值)。
修复了错误
#70674
(当用于内部函数时,ReflectionFunction::getClosure() 会泄漏内存)。
修复了导致 ReflectionGenerator::getTrace() 生成错误跟踪的错误。
修复了 Reflector 接口的继承链。
添加了 ReflectionGenerator 类。
为返回类型和类型声明添加了反射支持。
Session
修复了错误
#70876
(使用严格模式重新生成会话 ID 时发生段错误)。
修复了错误
#70529
(会话读取导致“字符串未以零结尾”错误)。
修复了错误
#70013
(在调用 session_regenerate_id() 之后,对 $_SESSION 的引用丢失)。
修复了错误
#69952
(通过引用访问超级全局变量时出现数据完整性问题)。
修复了错误
#67694
(session_regenerate_id() 中的回归)。
修复了错误
#68941
(mod_files.sh 是一个 bash 脚本)。
SOAP
修复了错误
#70940
(soap/type_to_string 中的段错误)。
修复了错误
#70900
(SoapClient 系统性内存不足错误)。
修复了错误
#70875
(如果 wsdl 没有 targetNamespace 属性,则发生段错误)。
修复了错误
#70715
(soap 客户端内部发生段错误)。
修复了错误
#70709
(SOAP 客户端生成段错误)。
修复了错误
#70388
(SOAP serialize_function_call() 类型混淆/RCE)。
修复了错误
#70081
(通过多个类型混淆,SoapClient 信息泄漏/空指针解引用)。
修复了错误
#70079
(超过 100 次 SoapClient 调用后发生段错误)。
修复了错误
#70032
(make_http_soap_request 调用 zend_hash_get_current_key_ex(,,,NULL))。
修复了错误
#68361
(SoapClient::__getTypes 上发生段错误)。
SPL
修复了错误
#70959
(ArrayObject 反序列化不会恢复受保护的字段)。
修复了错误
#70853
(SplFixedArray 在使用引用变量作为索引时抛出异常)。
修复了错误
#70868
(PCRE JIT 和模式重用导致段错误)。
修复了错误
#70730
(如果在序列化中调用 unset,则 ArrayObject 序列化不正确)。
修复了错误
#70573
(克隆 SplPriorityQueue 会导致内存泄漏)。
修复了错误
#70303
(ArrayObject 的构造函数反射不正确)。
修复了错误
#70068
(ArrayObject 项目反序列化中的悬空指针)。
修复了错误
#70166
(使用反序列化和 SPLArrayObject 时的 Use After Free 漏洞)。
修复了错误
#70168
(使用反序列化和 SplObjectStorage 时的 Use After Free 漏洞)。
修复了错误
#70169
(使用反序列化和 SplDoublyLinkedList 时的 Use After Free 漏洞)。
修复了错误
#70053
(PHP 7 中 MultiIterator 数组键不兼容的更改)。
修复了错误
#69970
(spl_recursive_it_move_forward_ex() 中的 Use-after-free 漏洞)。
修复了错误
#69845
(带有 ARRAY_AS_PROPS 的 ArrayObject 出现问题)。
使用 zend_hash_iterator_... API 更改了 ArrayIterator 的实现。允许使用与“修复 foreach 行为”中建议相同的行为修改迭代的 ArrayObject。删除了“数组在对象外部被修改,内部位置不再有效”的 hack。
实现了功能请求
#67886
(SplPriorityQueue/SplHeap 不会公开 extractFlags 或 curruption 状态)。
修复了错误
#66405
(RecursiveDirectoryIterator::CURRENT_AS_PATHNAME 中断了 RecursiveIterator)。
SQLite3
修复了错误
#70571
(sqlite3_do_callback 中的内存泄漏)。
修复了错误
#69972
(sqlite3SafetyCheckSickOrOk() 中的 Use-after-free 漏洞)。
修复了错误
#69897
(手动构造 SQLite3Result 时发生段错误)。
修复了错误
#68260
(SQLite3Result::fetchArray 声明了错误的 required_num_args)。
标准
修复了符号表上的计数。
修复了错误
#70963
(反序列化在结果中显示 UNKNOWN)。
修复了错误
#70910
(extract() 中断了变量引用)。
修复了错误
#70808
(array_merge_recursive 破坏了未设置项目的内存)。
修复了错误
#70667
(strtr() 导致无效写入并崩溃)。
修复了错误
#70668
(当 $strict 为 true 时,array_keys() 不会尊重引用)。
实现了 RFC“PHP 7 中抛出异常的随机函数”。
修复了错误
#70487
(pack('x') 产生错误)。
修复了错误
#70342
(使用 ignore_user_abort(true) 更改配置不起作用)。
修复了错误
#70295
(setrawcookie 发生段错误)。
修复了错误
#67131
(setcookie() 的空值条件未满足)。
修复了错误
#70365
(使用反序列化和 SplObjectStorage 时的 Use-after-free 漏洞)。
修复了错误
#70366
(使用反序列化和 SplDoublyLinkedList 时的 Use-after-free 漏洞)。
修复了错误
#70250
(extract() 将数组元素转换为引用)。
修复了错误
#70211
(php 7 ZEND_HASH_IF_FULL_DO_RESIZE 使用后释放)。
修复了错误
#70208
(Assert 中断了对对象的访问)。
修复了错误
#70140
(str_ireplace/php_string_tolower - 任意代码执行)。
实现了功能请求
#70112
(允许“dirname”向上移动多次)。
修复了错误
#36365
(scandir 在每个第 65535 个文件处重复文件名)。
修复了错误
#70096
(重复的 iptcembed() 添加了多余的 FF 字节)。
修复了错误
#70018
(exec 不会去除所有空格)。
修复了错误
#69983
(get_browser 在用户代理为空时失败)。
修复了错误
#69976
(无法解析带有冒号字符的“所有”url)。
修复了错误
#69768
(escapeshell*() 不会处理!)。
修复了错误
#62922
(截断整个字符串应导致字符串)。
修复了错误
#69723
(通过引用传递参数和 array_column)。
修复了错误
#69523
(Cookie 名称不能为空)。
修复了错误
#69325
(php_copy_file_ex 不会传递参数)。
修复了错误
#69299
(PHP 7 中 array_filter 的 $flag 参数的回归)。
删除了 call_user_method() 和 call_user_method_array() 函数。
修复了用户会话处理程序(参见 rfc:session.user.return-value)。
添加了 intdiv() 函数。
改进了以 2 和 10 为底的 log() 函数的精度。
删除了 setlocale() 中的字符串类别支持。
删除了 set_magic_quotes_runtime() 及其别名 magic_quotes_runtime()。
修复了错误
#65272
(flock() 的输出参数在 Windows 中未正确设置)。
添加了 preg_replace_callback_array 函数。
弃用了 password_hash 的 salt 选项。
修复了错误
#69686
(password_verify 在 PHP7 中使用空字符串时报告错误)。
为 getrusage() 添加了 Windows 支持。
删除了 proc_open() 中管道数量的硬编码限制。
流
修复了错误
#70361
(HTTP 流包装程序不会关闭保持活动连接)。
修复了错误
#68532
(convert.base64-encode 忽略填充字节)。
移除 set_socket_blocking(),改用其别名 stream_set_blocking()。
Tokenizer
修复了错误
#69430
(token_get_all 出现新的不可恢复错误)。
XMLReader
修复了错误
#70309
(XmlReader 读取生成额外的输出)。
XMLRPC
修复了错误
#70526
(xmlrpc_set_type 在成功时返回 false)。
XSL
修复了错误
#70678
(PHP7 返回 true 而预期为 false)。
修复了错误
#70535
(XSLT: free(): invalid pointer)。
修复了错误
#69782
(空指针解引用)。
修复了错误
#64776
(XSLT 扩展不是线程安全的)。
移除 xsl.security_prefs ini 选项。
Zlib
添加 deflate_init()、deflate_add()、inflate_init()、inflate_add() 函数,允许增量/流式压缩/解压缩。
Zip
修复了错误
#70322
(ZipArchive::close() 没有指示错误)。
修复了错误
#70350
(ZipArchive::extractTo 在创建目录时允许目录遍历)。(CVE-2014-9767)
添加 ZipArchive::setCompressionName 和 ZipArchive::setCompressionIndex 方法。
将捆绑的 libzip 更新到 1.0.1。
修复了错误
#67161
(ZipArchive::getStream() 为某些文件返回 NULL)。
使用
↑
和
↓
导航 • 使用
Enter
选择 • 使用
Esc
关闭
不选择任何内容直接按下
Enter
将使用 Google 搜索