PHP 5 变更日志
5.6 | 5.5 | 5.4 | 5.3 | 5.2 | 5.1 | 5.0
版本 5.6.40
- GD
- 修复了错误 #77269 (efree() 在 imagescale 中对未初始化的堆数据进行操作会导致使用后释放)。(CVE-2016-10166)
- 修复了错误 #77270 (imagecolormatch 堆上溢出写入)。(CVE-2019-6977)
- 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)
版本 5.6.39
- 核心
- 修复了错误 #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)
版本 5.6.38
- Apache2
- 修复了错误 #76582 (由于报头 Transfer-Encoding: chunked 导致的 XSS)。(CVE-2018-17082)
版本 5.6.37
- Exif
- 修复了错误 #76423 (exif.c 中 exif_thumbnail_extract 的整数溢出导致堆溢出)。(CVE-2018-14883)
- 修复了错误 #76557 (读取 exif 数据时发生的堆缓冲区溢出 (读取大小为 48))。(CVE-2018-14851)
- Win32
- 修复了错误 #76459 (windows linkinfo 缺少 openbasedir 检查)。(CVE-2018-15132)
版本 5.6.36
- 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)
版本 5.6.35
- FPM
- 修复了错误 #75605 (可转储的 FPM 子进程允许绕过 opcache 访问控制)。(CVE-2018-10545)
版本 5.6.34
- 标准
- 修复了错误 #75981 (解析 HTTP 响应时发生的堆栈缓冲区溢出)。(CVE-2018-7584)
版本 5.6.33
- GD
- 修复了错误 #75571 (gdImageCreateFromGifCtx 中的潜在无限循环)。(CVE-2018-5711)
- Phar
- 修复了错误 #74782 (.phar 404 页面中的反射 XSS)。(CVE-2018-5712)
版本 5.6.32
- 日期
- 修复了错误 #75055 (timelib_meridian() 中的越界读取)。(CVE-2017-16642)
- mcrypt
- 修复了错误 #72535 (arcfour 加密流过滤器导致 php 崩溃)。
- PCRE
- 修复了错误 #75207 (应用了针对 CVE-2016-1283 的上游补丁)。
版本 5.6.31
- 核心
- 修复了错误 #73807 (处理大型 POST 请求时的性能问题)。(CVE-2017-11142)
- 修复了错误 #74111 (堆缓冲区越界读取 (读取:1) finish_nested_data 来自 unserialize)。(CVE-2017-12933)
- 修复了错误 #74603 (PHP INI 解析堆栈缓冲区溢出漏洞)。(CVE-2017-11628)
- 修复了错误 #74819 (wddx_deserialize() 通过 php_parse_date() 导致堆越界读取)。(CVE-2017-11145)
- GD
- 修复了错误 #74435 (缓冲区越界读取到未初始化的内存中)。(CVE-2017-7890)
- mbstring
- 添加 oniguruma 上游修复 (CVE-2017-9224、CVE-2017-9226、CVE-2017-9227、CVE-2017-9228、CVE-2017-9229)
- OpenSSL
- 修复了错误 #74651 (zif_openssl_seal() 中的 memcpy 中的负大小参数 (-1))。(CVE-2017-11144)
- PCRE
- 修复了错误 #74087 (PHP 7.1.1 (使用捆绑的 PCRE 库编译) 中的段错误)。
- WDDX
- 修复了错误 #74145 (wddx 解析空布尔标签会导致 SIGSEGV)。(CVE-2017-11143)
版本 5.6.30
- EXIF
- 修复了错误 #73737 (解析标签格式时的浮点异常)。(CVE-2016-10158)
- GD
- 修复了错误 #73549 (将流传递给 imagepng 时的使用后释放)。
- 修复了错误 #73868 (gdImageCreateFromGd2Ctx() 中的 DOS 漏洞)。(CVE-2016-10167)
- 修复了错误 #73869 (有符号整数溢出 gd_io.c)。(CVE-2016-10168)
- Intl
- 修复了错误 #68447 (grapheme_extract 获取一个额外的尾随字符)。
- Phar
- 修复了错误 #73764 (加载敌对 phar 存档时崩溃)。(CVE-2016-10159)
- 修复了错误 #73768 (加载敌对 phar 时发生内存损坏)。(CVE-2016-10160)
- 修复了错误 #73773 (加载敌对 phar 时出现段错误)。(CVE-2017-11147)
- SQLite3
- 恢复了针对错误 #73530 (取消设置结果集可能会重置其他结果集) 的修复。
- 标准
- 修复了错误 #70213 (在双类查找时共享 unserialize 上下文)。
- 修复了错误 #73825 (finish_nested_data() 中 unserialize 时的堆越界读取)。(CVE-2016-10161)
版本 5.6.29
- Mysqlnd
- 修复了错误 #64526 (在 php.ini-* 中添加缺少的 mysqlnd.* 参数)。
- Opcache
- 修复了错误 #73402 (使用类常量调用方法时 Opcache 出现段错误)。
- 修复了错误 #69090 (检查缓存文件的权限)
- OpenSSL
- 修复了错误 #72776 (openssl_pbkdf2 中的 memcpy 函数中的无效参数)。
- Postgres
- 修复了错误 #73498 (为 pg_copy_to() 生成的 SQL 不正确)。
- SOAP
- SQLite3
- 修复了错误 #73530 (取消设置结果集可能会重置其他结果集)。
- 标准
- 修复了错误 #73297 (HTTP 流包装器应忽略 HTTP 100 Continue)。
- WDDX
- 修复了错误 #73631 (wddx 解码空布尔元素时的无效读取)。(CVE-2016-9935)
版本 5.6.28
- 核心
- 修复了错误 #73337 (try/catch 不适用于同一操作中的两个异常)。
- Bz2
- 修复了错误 #73356 (bzcompress 函数中的崩溃)。
- GD
- 修复了错误 #73213 (imageline() 带抗锯齿时的整数溢出)。
- 修复了错误 #73272 (imagescale() 不受影响,但会影响 imagesetinterpolation())。
- 修复了错误 #73279 (gdImageScaleBilinearPalette() 中的整数溢出)。
- 修复了错误 #73280 (GD dynamicGetbuf 中的堆栈缓冲区溢出)。
- 修复了错误 #72482 (gdImageAALine 溢出导致的非法写入/读取访问)。
- 修复了错误 #72696 (truecolor 图像上的 imagefilltoborder 堆栈溢出)。(CVE-2016-9933)
- Imap
- 修复了错误 #73418 ("_php_imap_mail" 中的整数溢出会导致堆溢出)。
- SPL
- 修复了错误 #73144 (ArrayObject 反序列化中的使用后释放)。
- SOAP
- 修复了错误 #73037 (SoapServer 在压缩时报告错误请求)。
- SQLite3
- 修复了错误 #73333 (2147483647 作为字符串获取)。
- 标准
- 修复了错误 #73203 (传递 additional_parameters 会导致邮件失败)。
- 修复了错误 #73188 (用户空间流中的使用后释放)。
- 修复了错误 #73192 (parse_url 返回错误的主机名)。
- Wddx
- 修复了错误 #73331(WDDX 包解序列化使用 PDORow 时出现空指针引用)。(CVE-2016-9934)
版本 5.6.27
- 核心
- 修复了错误 #73025(zend_virtual_cwd.c 中的 virtual_popen 出现堆缓冲区溢出)。
- 修复了错误 #73058(盐过长时 crypt 出现故障)。
- 修复了错误 #72703(password_verify 触发后 BF_crypt 中出现越界全局内存读取)。
- 修复了错误 #73189(php_resolve_path 中出现 Memcpy 负尺寸参数)。
- 修复了错误 #73147(unserialize() 中出现使用后释放)。
- BCmath
- 修复了错误 #73190(_bc_new_num_ex 中出现 memcpy 负参数)。
- DOM
- 修复了错误 #73150(dom_document_save_html 中缺少 NULL 检查)。
- Ereg
- 修复了错误 #73284(php_ereg_replace 函数中出现堆溢出)。
- Filter
- 修复了错误 #72972(FILTER_FLAG_NO_RES_RANGE 和 FILTER_FLAG_NO_PRIV_RANGE 的标志出现错误的过滤器)。
- 修复了错误 #67167(FILTER_VALIDATE_BOOLEAN、FILTER_NULL_ON_FAILURE 的返回值错误)。
- 修复了错误 #73054(将对象传递给 int 过滤器时忽略默认选项)。
- GD
- 修复了错误 #67325(imagetruecolortopalette: 调色板中白色重复)。
- 修复了错误 #50194(在透明背景上没有 alphablending 时 imagettftext 出现故障)。
- 修复了错误 #73003(gd_webp.c 的 gdImageWebpCtx 中出现整数溢出)。
- 修复了错误 #53504(imagettfbbox 为边界框返回不正确的值)。
- 修复了错误 #73157(如果给出 4 个参数,imagegd2() 会忽略第 3 个参数)。
- 修复了错误 #73155(imagegd2() 在边界上写入错误的块大小)。
- 修复了错误 #73159(imagegd2(): 无法识别的格式可能导致文件损坏)。
- 修复了错误 #73161(imagecreatefromgd2() 可能导致内存泄漏)。
- Intl
- 修复了错误 #73218(为 ICU 整数溢出添加缓解措施)。
- Imap
- 修复了错误 #73208(imap_8bit 中的整数溢出导致堆损坏)。
- Mbstring
- 修复了错误 #72994(mbc_to_code() 越界读取)。
- 修复了错误 #66964(mb_convert_variables() 无法检测递归)。
- 修复了错误 #72992(mbstring.internal_encoding 不会继承 default_charset)。
- 修复了错误 #73082(mb_encode_* 函数中出现字符串长度溢出)。
- PCRE
- 修复了错误 #73174(php_pcre_replace_impl 中出现堆溢出)。
- Opcache
- 修复了错误 #72590(使用 kill_all_lockers 重启 Opcache 无法正常工作)。
- OpenSSL
- 修复了错误 #73072(无效的路径 SNI_server_certs 导致段错误)。
- 修复了错误 #73275(openssl_encrypt 函数中出现崩溃)。
- 修复了错误 #73276(openssl_random_pseudo_bytes 函数中出现崩溃)。
- Session
- 修复了错误 #68015(Session 不会为文件保存处理程序报告无效的 uid)。
- 修复了错误 #73100(ps_files_path_create 中的 session_destroy 空指针引用)。
- SimpleXML
- 修复了错误 #73293(SimpleXMLElement::asXML() 中出现空指针引用)。
- SPL
- 修复了错误 #73073(转换为字符串时 CachingIterator 空指针引用)。
- 标准
- 修复了错误 #73240(number_format 中出现越界写入)。
- 修复了错误 #73017(wordwrap 函数中出现内存损坏)。
- Stream
- 修复了错误 #73069(readfile() 会破坏大于 2G 的文件)。
- Zip
- 修复了错误 #70752(使用错误的密码解包会留下 0 长度的文件)。
版本 5.6.26
- 核心
- 修复了错误 #72907(空指针引用,gc_remove_zval_from_buffer 中出现段错误 (zend_gc.c:260))。
- Dba
- 修复了错误 #71514(由于 API 使用错误导致 dba_replace 条件错误)。
- 修复了错误 #70825(无法使用 ini 文件中的组获取多个值)。
- EXIF
- 修复了错误 #72926(exif_process_IFD_in_TIFF 中未初始化的缩略图数据导致内存泄漏)。
- FTP
- 修复了错误 #70195(无法使用 ftp_put 将文件上传到使用 require_ssl_reuse 的 FTPES)。
- GD
- 修复了错误 #66005(imagecopy 不支持真彩色图像的 1 位透明度)。
- 修复了错误 #72913(imagecopy() 在调色板图像上丢失单色透明度)。
- 修复了错误 #68716(_php_image_convert() 中可能存在资源泄漏)。
- Intl
- 修复了错误 #73007(添加区域设置长度检查)。(CVE-2016-7416)
- JSON
- 修复了错误 #72787(json_decode 越界读取)。
- mbstring
- 修复了错误 #66797(mb_substr 只接受 32 位有符号整数)。
- 修复了错误 #72910(mbc_to_code() 中出现越界堆读取 / 由 mb_ereg_match() 触发)。
- MSSQL
- 修复了错误 #72039(mssql_guid_string 中使用未初始化的值)。
- Mysqlnd
- 修复了错误 #72293(与 BIT 字段相关的 mysqlnd 中出现堆溢出)。(CVE-2016-7412)
- PDO
- 修复了错误 #60665(使用 PDO::FETCH_LAZY 对 NULL 结果调用 empty() 返回 false)。
- 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 签名时出现越界)。
- SPL
- 修复了错误 #73029(在解序列化 SplArray 时缺少类型检查)。(CVE-2016-7417)
- 标准
- 修复了错误 #72823(strtr 越界访问)。
- 修复了错误 #72278(getimagesize 对有效的 jpg 返回 FALSE)。
- 修复了错误 #65550(get_browser() 错误地解析带有 “+” 符号的条目)。
- 修复了错误 #71882(php://memory 上的负 ftruncate() 会耗尽内存)。
- 修复了错误 #73011(fgets 中的整数溢出导致堆损坏)。
- 修复了错误 #73017(wordwrap 函数中出现内存损坏)。
- 修复了错误 #73045(fgetcsv 中的整数溢出导致堆损坏)。
- 修复了错误 #73052(在解序列化对象销毁期间出现内存损坏)。(CVE-2016-7411)
- Streams
- 修复了错误 #72853(stream_set_blocking 无法正常工作)。
- Wddx
- 修复了错误 #72860(wddx_deserialize 使用后释放)。(CVE-2016-7413)
- 修复了错误 #73065(php_wddx_push_element 中出现越界读取)。(CVE-2016-7418)
- XML
- 修复了错误 #72085(zif_xml_parse 中出现未知地址上的 SEGV)。
- 修复了错误 #72927(xml_utf8_encode 中出现整数溢出)。
- ZIP
- 修复了错误 #68302(无法使用 zip 支持编译 php)。
版本 5.6.25
- 核心
- 修复了错误 #70436(unserialize() 中出现使用后释放漏洞)。
- 修复了错误 #72024(microtime() 出现内存泄漏)。
- 修复了错误 #72581(解序列化后 Exception 中出现以前的属性未定义)。
- 实现了 FR #72614(在使用 phpize 构建扩展时支持 “nmake test”)。
- 修复了错误 #72641(phpize(在 Windows 上)忽略 PHP_PREFIX)。
- 修复了错误 #72663(在解序列化中创建意外对象并且不调用 __wakeup())。(CVE-2016-7124)
- 修复了错误 #72681(PHP 会话数据注入漏洞)。(CVE-2016-7125)
- Bz2
- 修复了错误 #72837(bzdecompress 中的整数溢出导致堆损坏)。
- Calendar
- 修复了错误 #67976(cal_days_month() 对法国日历的最后一个月失败)。
- 修复了错误 #71894(AddressSanitizer: zif_cal_from_jd 中出现全局缓冲区溢出)。
- Curl
- 修复了错误 #71144(使用带有 ZTS 的 cURL 时出现分段错误)。
- 修复了错误 #71929(证书信息 (CERTINFO) 数据解析错误)。
- 修复了错误 #72807(curl_escape 中的整数溢出导致堆损坏)。
- DOM
- Ereg
- 修复了错误 #72838(整数溢出导致 sql_regcase 中堆损坏)。
- EXIF
- 修复了错误 #72627(exif_process_IFD_in_TIFF 中出现内存泄漏)。(CVE-2016-7128)
- 修复了错误 #72735(三星图片缩略图未读取(大小为零))。
- Filter
- 修复了错误 #71745(FILTER_FLAG_NO_RES_RANGE 不会覆盖整个 127.0.0.0/8 范围)。
- FPM
- 修复了错误 #72575(使用 --allow-to-run-as-root 应该忽略丢失的用户)。
- GD
- 修复了错误 #43828(在混合模式中,imagearc 对真彩色的透明度出现故障)。
- 修复了错误 #66555(ext/gd/libgd/gdkanji.c 中始终为假条件)。
- 修复了错误 #68712(可疑的 if-else 语句)。
- 修复了错误 #70315(出现 500 服务器错误,但页面已完全呈现)。
- 修复了错误 #72596(imagetypes 函数不会宣传 WEBP 支持)。
- 修复了错误 #72604(imagearc() 忽略完整圆弧的厚度)。
- 修复了错误 #72697(select_colors 越界写入)。(CVE-2016-7126)
- 修复了错误 #72709(imagesetstyle() 对空 $styles 导致 OOB 读取)。
- 修复了错误 #72730(imagegammacorrect 允许任意写入访问)。(CVE-2016-7127)
- 修复了错误 #72494(imagecropauto 越界访问)。
- Intl
- 部分修复了 #72506(针对 UTS #46 的 idn_to_ascii 对长域名不正确)。
- mbstring
- 修复了错误 #72691(如果匹配零宽度,mb_ereg_search 会引发警告)。
- 修复了错误 #72693(如果匹配零宽度,mb_ereg_search 会增加搜索位置)。
- 修复了错误 #72694(mb_ereg_search_setpos 不接受字符串的最后一个位置)。
- 修复了错误 #72710(`mb_ereg` 在正则表达式编译错误时会导致缓冲区溢出)。
- PCRE
- 修复了错误 #72688(preg_match 在匹配中缺少组名)。
- PDO_pgsql
- Reflection
- 修复了错误 #72222(ReflectionClass::export 不会处理数组常量)。
- SNMP
- 修复了错误 #72708(php_snmp_parse_oid 中的整数溢出导致内存分配)。
- 标准
- 修复了错误 #72330(如果转义字符后跟 UTF 字符,CSV 字段会错误地拆分)。
- 修复了错误 #72836(base64_decode 中出现整数溢出)。
- 修复了错误 #72848(quoted_printable_encode 中出现整数溢出)。
- 修复了错误 #72849(urlencode 中出现整数溢出)。
- 修复了错误 #72850(php_uuencode 中出现整数溢出)。
- 修复了错误 #72716(在读取之前初始化缓冲区)。
- Streams
- 修复了错误 #41021(ftps 包装器出现问题)。
- 修复了错误 #54431(opendir() 不适用于 ftps:// 包装器)。
- 修复了错误 #72667(使用 ftp:// 的 opendir() 会尝试为不存在的目录打开数据流)。
- 修复了 #72764 的错误(ftps:// opendir 包装器数据通道加密在 IIS FTP 7.5、8.5 中失败)。
- 修复了 #72771 的错误(ftps:// 包装器容易受到协议降级攻击)。
- SPL
- 修复了 #72122 的错误(IteratorIterator 中断 “@” 错误抑制)。
- 修复了 #72646 的错误(SplFileObject::getCsvControl 未返回转义字符)。
- 修复了 #72684 的错误(AppendIterator 在关闭生成器时发生段错误)。
- SQLite3
- 实现了 FR #72653(SQLite 应允许使用空文件名打开)。
- Wddx
- 修复了 #72142 的错误(wddx_serialize_value() 中的 WDDX 数据包注入漏洞)。
- 修复了 #72749 的错误(wddx_deserialize 允许非法内存访问)。(CVE-2016-7129)
- 修复了 #72750 的错误(wddx_deserialize 空指针解引用)。(CVE-2016-7130)
- 修复了 #72790 的错误(wddx_deserialize 使用无效 xml 时发生空指针解引用)。(CVE-2016-7131)
- 修复了 #72799 的错误(wddx_deserialize 在 php_wddx_pop_element 中发生空指针解引用)。(CVE-2016-7132)
版本 5.6.24
- 核心
- 修复了 #71936 的错误(销毁 HTTP_RAW_POST_DATA 时发生段错误)。
- 修复了 #72496 的错误(无法声明与父类私有方法签名不兼容的公共方法)。
- 修复了 #72138 的错误(字符串类型 ZVAL 长度的整数溢出)。
- 修复了 #72513 的错误(virtual_file_ex 中的基于堆栈的缓冲区溢出漏洞)。(CVE-2016-6289)
- 修复了 #72562 的错误(在 unserialize() 中使用意外的会话反序列化时发生使用后释放)。(CVE-2016-6290)
- 修复了 #72573 的错误(某些 PHP 库和应用程序错误地信任 HTTP_PROXY)。(CVE-2016-5385)
- bz2
- 修复了 #72447 的错误(php_bz2_filter_create() 中的类型混淆)。
- 修复了 #72613 的错误(bzread() 中的错误处理不足)。(CVE-2016-5399)
- 日期
- 修复了 #66836 的错误(DateTime::createFromFormat 'U' 在 1970 年之前的日期解析失败)。
- EXIF
- 修复了 #50845 的错误(exif_read_data() 返回损坏的 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)
- Intl
- 修复了 #72533 的错误(locale_accept_from_http 越界访问)。(CVE-2016-6294)
- OpenSSL
- 修复了 #71915 的错误(openssl_random_pseudo_bytes 不是线程安全的)。
- 修复了 #72336 的错误(openssl_pkey_new 在无效 DSA 参数的情况下不会失败)。
- SNMP
- 修复了 #72479 的错误(在 SNMP 中使用 GC 和 unserialize() 时发生使用后释放漏洞)。(CVE-2016-6295)
- SPL
- 修复了 #55701 的错误(GlobIterator 抛出 LogicException)。
- SQLite3
- 修复了 #70628 的错误(在 SQLite3 语句上清除绑定无效)。
- Streams
- 修复了 #72439 的错误(带有远程地址的流套接字会导致段错误)。
- Xmlrpc
- 修复了 #72606 的错误(堆缓冲区溢出(写入)simplestring_addn simplestring.c)。(CVE-2016-6296)
- Zip
- 修复了 #72520 的错误(php_stream_zip_opener 中的基于堆栈的缓冲区溢出漏洞)。(CVE-2016-6297)
版本 5.6.23
- 核心
- 修复了 #72268 的错误(nl2br() 中的整数溢出)。
- 修复了 #72275 的错误(json_encode()/json_decode()/ json_utf8_to_utf16() 中的整数溢出)。
- 修复了 #72400 的错误(addcslashes/addslashes 中的整数溢出)。
- 修复了 #72403 的错误(字符串类型 ZVAL 长度的整数溢出)。
- 日期
- 修复了 #63740 的错误(strtotime 似乎同时使用星期日和星期一作为一周的开始)。
- 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() 后发生段错误)。
- Phar
- 修复了 #72321 的错误(phar_extract_file() 中的无效释放)。(CVE-2016-4473)
- SPL
- 修复了 #72262 的错误(SplFileObject::fread 中的 int/size_t 混乱)。(CVE-2016-5770)
- 修复了 #72433 的错误(PHP GC 算法和 unserialize() 中的使用后释放漏洞)。(CVE-2016-5771)
- WDDX
- 修复了 #72340 的错误(wddx_deserialize 中的双重释放破坏)。(CVE-2016-5772)
- zip
- 修复了 #72434 的错误(ZipArchive 类在 PHP GC 算法和 unserialize() 中发生使用后释放漏洞)。(CVE-2016-5773)
版本 5.6.22
- 核心
- 修复了 #72172 的错误(zend_hex_strtod 不应使用 strlen)。
- 修复了 #72114 的错误(fread/gzread 中的整数下溢/任意空写入)。(CVE-2016-5096)
- 修复了 #72135 的错误(php_html_entities 中的整数溢出)。(CVE-2016-5094)
- GD
- 修复了 #72227 的错误(imagescale 越界读取)。(CVE-2013-7456)
- Intl
- 修复了 #64524 的错误(将 intl.use_exceptions 添加到 php.ini-*)。
- 修复了 #72241 的错误(get_icu_value_internal 越界读取)。(CVE-2016-5093)
- Postgres
版本 5.6.21
- 核心
- 修复了 #69537 的错误(__debugInfo 使用空字符串作为键会给出错误)。
- 修复了 #71841 的错误(EG(error_zval) 处理不当)。
- BCmath
- 修复了 #72093 的错误(bcpowmod 接受负数比例并破坏 _one_ 定义)。(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
- 修复了 #71952 的错误(imageaffinematrixget 内部损坏)。
- 修复了 #71912 的错误(libgd:有符号性漏洞)。(CVE-2016-3074)
- Intl
- 修复了 #72061 的错误(zif_grapheme_stripos 在偏移量为负数时发生越界读取)。(CVE-2016-4540,CVE-2016-4541)
- OCI8
- 修复了 #71422 的错误(修复 ORA-01438:该列允许的值大于指定的精度)。
- ODBC
- 修复了 #63171 的错误(脚本在 max_execution_time 后挂起)。
- Opcache
- 修复了 #71843 的错误(空指针解引用 ZEND_RETURN_SPEC_CONST_HANDLER)。
- PDO
- 修复了 #52098 的错误(自己的 PDOStatement 实现忽略 __call())。
- 修复了 #71447 的错误(注释中的引号处理不当)。
- Postgres
- 修复了 #71820 的错误(pg_fetch_object 在调用构造函数之前绑定参数)。
- SPL
- 修复了 #67582 的错误(使用覆盖的 getHash 重写的克隆的 SplObjectStorage 失败 offsetExists())。
- 标准
- 修复了 #71840 的错误(Unserialize 接受错误的数据)。
- 修复了 #67512 的错误(如果 crypt_r() 不存在或未定义 _REENTRANT,则 php_crypt() 会崩溃)。
- XML
- 修复了 #72099 的错误(xml_parse_into_struct 段错误)。(CVE-2016-4539)
版本 5.6.20
- CLI 服务器
- 修复了 #69953 的错误(支持 MKCALENDAR 请求方法)。
- 核心
- 修复了 #71596 的错误(在 ZTS 上使用日期函数 (setlocale) 时发生段错误)。
- Curl
- 修复了 #71694 的错误(支持常量 CURLM_ADDED_ALREADY)。
- 日期
- 修复了 #71635 的错误(DatePeriod::getEndDate 段错误)。
- Fileinfo
- 修复了 #71527 的错误(在使用格式错误的 magic 文件时,finfo_open 中发生缓冲区溢出)。(CVE-2015-8865)
- Mbstring
- 修复了 #71906 的错误(AddressSanitizer:mbfl_strcut 中的负尺寸参数 (-1))。(CVE-2016-4073)
- ODBC
- 修复了 #47803、#69526 的错误(仅对前两个语句成功执行准备好的语句)。
- 修复了 #71860 的错误(phar 在文件名中包含 \0 时发生无效内存写入)。(CVE-2016-4072)
- PDO_DBlib
- 修复了 #54648 的错误(PDO::MSSQL 强制 datetime 字段的格式)。
- Phar
- 修复了 #71625 的错误(php7.dll 在使用错误的 phar 文件名时崩溃)。
- 修复了 #71504 的错误(解析具有重复文件名的 tar 文件会导致内存泄漏)。
- SNMP
- 修复了 #71704 的错误(php_snmp_error() 格式字符串漏洞)。(CVE-2016-4071)
- 标准
- 修复了 #71798 的错误(php_raw_url_encode 中的整数溢出)。(CVE-2016-4070)
版本 5.6.19
- CLI 服务器
- 修复了 #71559 的错误(内置的 HTTP 服务器,我们可以通过错误下载网页中的文件)。
- CURL
- 修复了 #71523 的错误(使用新选项 CURLOPT_HTTPHEADER 复制的句柄在 curl_multi_exec 期间崩溃)。
- 日期
- 修复了 #68078 的错误(Datetime 比较忽略微秒)。
- 修复了 #71525 的错误(调用 date_modify 会改变 timelib_rel_time,导致 date_date_set 问题)。
- Fileinfo
- 修复了 #71434 的错误(finfo 对特定 Python 文件抛出通知)。
- FPM
- 修复了 #62172 的错误(FPM 在使用 Apache httpd 2.4 balancer/fcgi 设置时无法工作)。
- Opcache
- 修复了 #71584 的错误(Zend Opcache 中可能存在对 ZCG(cwd) 的使用后释放)。
- PDO MySQL
- Phar
- 修复了 #71498 的错误(phar_parse_zipfile() 中的越界读取)。
- 标准
- 修复了 #70720 的错误(strip_tags PHP 代码解析不正确)。
- WDDX
- 修复了 #71587 的错误(WDDX 反序列化中的使用后释放/双重释放)。
- XSL
- 修复了 #71540 的错误(xsl_ext_function_php() 中发生空指针解引用)。
- Zip
- 修复了 #71561 的错误(Zip::ExtractTo 中发生空指针解引用)。
版本 5.6.18
- 核心
- 新增了对新的 HTTP 451 代码的支持。
- 修复了错误 #71039(exec 函数忽略长度,但会查找 NULL 终止符)。
- 修复了错误 #71089(没有检查重复的 zend_extension)。
- 修复了错误 #71201(round() 在 64 位版本上会导致段错误)。
- 修复了错误 #71273(php.ini 中错误的 ext 目录设置会导致崩溃)。
- 修复了错误 #71323(stream_get_meta_data 的输出可能会被其输入伪造)。
- 修复了错误 #71459(iptcembed() 中的整数溢出)。
- Apache2handler
- 修复了 apache2handler 中大于 2G 的 Content-Length 头部。
- FTP
- 实现了 FR #55651(忽略返回的 FTP PASV 地址的选项)。
- GD
- Opcache
- 修复了错误 #71127(auto_prepend_file 中的定义会被覆盖)。
- 修复了错误 #71024(无法在同一服务器上并排使用 PHP 7.0 x64 和 PHP 5.6 x32)。
- 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)
- Session
- 修复了错误 #69111(SessionHandler::read() 中的崩溃)。
- SOAP
- 修复了错误 #70979(使用错误的 soap 请求导致崩溃)。
- SPL
- 修复了错误 #71204(如果在自动加载时清除 spl_autoload_funcs,则会发生段错误)。
- WDDX
- 修复了错误 #71335(WDDX 数据包反序列化中的类型混淆)。
版本 5.6.17
- 核心
- 修复了错误 #66909(configure 失败 utf8_to_mutf7 测试)。
- 修复了错误 #70958(在使用 ::class 作为特质方法参数默认值时,出现无效操作码)。
- 修复了错误 #70957(self::class 无法通过抽象类的反射解析)。
- 修复了错误 #70944(try{ } finally{} 可能创建无限的异常链)。
- 修复了错误 #61751(AIX 上的 SAPI 构建问题:未定义符号:php_register_internal_extensions)。
- FPM
- 修复了错误 #70755(fpm_log.c 内存泄漏和缓冲区溢出)。(CVE-2016-5114)
- GD
- 修复了错误 #70976(通过 gdImageRotateInterpolated 数组索引越界进行内存读取)。(CVE-2016-1903)
- Mysqlnd
- 修复了错误 #68077(LOAD DATA LOCAL INFILE / open_basedir 限制)。
- SOAP
- 修复了错误 #70900(SoapClient 系统性内存不足错误)。
- 标准
- 修复了错误 #70960(array_unique 的 ReflectionFunction 返回错误的参数数量)。
- PDO_Firebird
- 修复了错误 #60052(整数在 X64_86 上以 64 位整数形式返回)。
- WDDX
- 修复了错误 #70661(WDDX 数据包反序列化中的使用后释放漏洞)。
- 修复了错误 #70741(会话 WDDX 数据包反序列化类型混淆漏洞)。
- XMLRPC
- 修复了错误 #70728(PHP_to_XMLRPC_worker() 中的类型混淆漏洞)。
版本 5.6.16
- 核心
- 修复了错误 #70828(使用 opcache 的 php-fpm 5.6 在引用不存在的常量时会崩溃)。
- 修复了错误 #70748(Zend/zend_ini_scanner.l 中 ini_lex() 处的段错误)。
- Mysqlnd
- 修复了错误 #68344(MySQLi 没有提供禁用对等证书验证的方法)通过引入 MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT 连接标志。
- OCI8
- PDO_DBlib
- 修复了错误 #69757(在 nextRowset 上发生段错误)。
- SOAP
- 修复了错误 #70875(如果 wsdl 没有 targetNamespace 属性,则会导致段错误)。
- SPL
- 修复了错误 #70852(获取 ArrayObject 的 NULL 偏移量时发生段错误)。
版本 5.6.15
- 核心
- 修复了错误 #70681(将内部实例方法的 $this 绑定到 null 时发生段错误)。
- 修复了错误 #70685(getClosure() 内部方法使用无效的 $this 进行重新绑定时发生段错误)。
- 日期
- 修复了错误 #70619(DateTimeImmutable 段错误)。
- Mcrypt
- 修复了错误 #70625(当没有指定 IV 时,mcrypt_encrypt() 在 RC4 下不会返回数据)。
- Mysqlnd
- 修复了错误 #70384(mysqli_real_query(): 服务器发送了未知类型 245)。
- 修复了错误 #70572 mysqlnd_connect 中的段错误。
- Opcache
- 修复了错误 #70632(gc_remove_from_buffer 中的第三个段错误)。
- 修复了错误 #70631(gc_remove_from_buffer() 中的另一个段错误)。
- 修复了错误 #70601(gc_remove_from_buffer() 中的段错误)。
- 修复了与 Windows 10 的兼容性(另请参见 #70652)。
版本 5.6.14
- 核心
- 修复了错误 #70370(捆绑的 libtool.m4 在构建扩展时无法处理 FreeBSD 10)。
- CLI 服务器
- 修复了错误 #68291(在包含 '+' 的 url 上出现 404 错误)。
- DOM
- 修复了错误 #70001(为 DOMNode::textContent 赋值会执行额外的实体编码)。
- ldap
- 修复了错误 #70465(ldap_search() 中的错误会修改 LDAP_OPT_TIMELIMIT/DEREF 的值)。(Tyson Andre)。
- 修复了错误 #69574(ldap 超时未强制执行)。(Côme Bernigaud)。
- Mysqlnd
- 修复了错误 #70456(mysqlnd 在连接到服务器时不会激活 TCP 保持活动)。
- OpenSSL
- 修复了错误 #55259(openssl 扩展不会从 DH 密钥资源获取 DH 参数)。
- 修复了错误 #70395(openssl_seal() 缺少 ARG_INFO)。
- 修复了错误 #60632(openssl_seal 使用 AES 失败)。
- 修复了错误 #68312(查找 openssl.cnf 会导致出现消息框)。
- PDO
- 修复了错误 #70389(PDO 构造函数会更改不相关的变量)。
- Phar
- 修复了错误 #69720(phar_get_fp_offset() 中的空指针解引用)。(CVE-2015-7803)
- 修复了错误 #70433(当 zip 条目文件名是“/”时,phar_make_dirstream 中的未初始化指针)。(CVE-2015-7804)
- Phpdbg
- 修复了 phpdbg_break_next() 有时不会中断的问题。
- 标准
- 修复了错误 #67131(setcookie() 针对空值的条件不满足)。
- Streams
- 修复了错误 #70361(HTTP 流包装器不会关闭保持活动连接)。
- Zip
- 修复了错误 #70322(ZipArchive::close() 不会指示错误)。
版本 5.6.13
- 核心
- 修复了错误 #69900(管道上的超时时间过长)。
- 修复了错误 #69487(SAPI 可能会截断 POST 数据)。
- 修复了错误 #70198(检查活动状态没有按预期工作)。
- 修复了错误 #70172(unserialize() 中的使用后释放漏洞)。(CVE-2015-6834)
- 修复了错误 #70219(会话反序列化器中的使用后释放漏洞)。(CVE-2015-6835)
- CLI 服务器
- 修复了错误 #66606(设置 HTTP_CONTENT_TYPE 但没有设置 CONTENT_TYPE)。
- 修复了错误 #70264(CLI 服务器目录遍历)。
- 日期
- 修复了错误 #70266(DateInterval::__construct.interval_spec 不应该可选)。
- 修复了错误 #70277(new DateTimeZone($foo) 忽略空字节后面的文本)。
- EXIF
- 修复了错误 #70385(使用 TIFF IFD 标签字节值为 32 字节的 exif_read_data 时,出现缓冲区过读)。
- GMP
- 修复了错误 #70284(使用 GMP 时,unserialize() 中出现使用后释放漏洞)。
- hash
- 修复了错误 #70312(HAVAL 在特定情况下会生成错误的哈希值)。
- MCrypt
- 修复了错误 #69833(mcrypt 文件描述符缓存不起作用)。
- Opcache
- 修复了错误 #70237(在启用 CLI 的情况下,使用操作码时,空 while 和 do-while 会出现段错误)。
- PCRE
- 修复了错误 #70232(\K 和空字符串匹配时,出现错误的渐进式行为)。
- 修复了错误 #70345(与 PCRE 函数相关的多个漏洞)。
- SOAP
- 修复了错误 #70388(SOAP serialize_function_call() 类型混淆 / RCE)。(CVE-2015-6836)
- SPL
- 修复了错误 #70290(通过 ob_start 在 spl_autoload 中出现空指针解引用(段错误))。
- 修复了错误 #70303(ArrayObject 的构造函数反射不正确)。
- 修复了错误 #70365(使用 SplObjectStorage 时,unserialize() 中出现使用后释放漏洞)。(CVE-2015-6834)
- 修复了错误 #70366(使用 SplDoublyLinkedList 时,unserialize() 中出现使用后释放漏洞)。(CVE-2015-6834)
- 标准
- 修复了错误 #70052(getimagesize() 针对非常大或非常小的 WBMP 失败)。
- 修复了错误 #70157(使用 INI_SCANNER_TYPED 时,parse_ini_string() 会出现段错误)。
- XSLT
- 修复了错误 #69782(空指针解引用)。(CVE-2015-6837、CVE-2015-6838)
- ZIP
- 修复了错误 #70350(ZipArchive::extractTo 在创建目录时允许目录遍历)。(CVE-2014-9767)
版本 5.6.12
- 核心
- 修复了错误 #70012(使用嵌套的 finally 块时,异常丢失)。
- 修复了错误 #70002(TS 与临时目录处理有关的问题)。
- 修复了错误 #69793(通过递归方法调用远程触发堆栈耗尽)。
- 修复了错误 #69892(由于整数键截断,不同的数组比较为相同)。
- 修复了错误 #70121(unserialize() 可能导致意外方法执行 / 空指针解引用)。
- CLI 服务器
- 修复了错误 #69655(php -S 将 MKCALENDAR 请求方法更改为 MKCOL)。
- 修复了错误 #64878(304 响应返回 Content-Type 标头)。
- GD
- 修复了错误 #53156(imagerectangle 点排序问题)。
- 修复了错误 #66387(使用 imagefilltoborder 时发生堆栈溢出)。(CVE-2015-8874)
- 修复了错误 #70102(imagecreatefromwebm() 会移动颜色)。
- 修复了错误 #66590(imagewebp() 不会填充到偶数长度)。
- 修复了错误 #66882(将图像旋转 -90 度会截断图像 1 像素)。
- 修复了错误 #70064(imagescale(..., IMG_BICUBIC) 会导致内存泄漏)。
- 修复了错误 #69024(使用基于调色板的图像时,imagescale 会发生段错误)。
- 修复了错误 #53154(零高度矩形有细丝)。
- 修复了错误 #67447(imagecrop() 在裁剪时会添加一条黑线)。
- 修复了错误 #68714(复制粘贴错误)。
- 修复了错误 #66339(PHP 在 imagexbm 中发生段错误)。
- 修复了错误 #70047(gd_info() 不会报告 WebP 支持)。
- ODBC
- 修复了错误 #69975(访问 nvarchar(max) 定义的列时,PHP 会发生段错误)。(CVE-2015-8879)
- OpenSSL
- 修复了错误 #69882(使用额外的证书进行 openssl_pkcs12_read 后,出现 OpenSSL 错误“密钥值不匹配”)。
- 修复了错误 #70014(openssl_random_pseudo_bytes() 不安全)。(CVE-2015-8867)
- Phar
- 改进了解决错误 #69441 的方法。
- 修复了错误 #70019(从档案中提取的文件可能被放置在目标目录之外)。(CVE-2015-6833)
- SOAP
- 修复了错误 #70081(通过多个类型混淆,SoapClient 信息泄漏 / 空指针解引用)。
- SPL
- 修复了错误 #70068(在反序列化 ArrayObject 项目时出现悬挂指针)。(CVE-2015-6832)
- 修复了错误 #70166(使用 `unserialize()` 与 SPLArrayObject 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 修复了错误 #70168(使用 `unserialize()` 与 SplObjectStorage 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 修复了错误 #70169(使用 `unserialize()` 与 SplDoublyLinkedList 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 标准
- 修复了错误 #70096(重复使用 `iptcembed()` 会添加多余的 FF 字节)。
版本 5.6.11
- 核心
- 修复了错误 #69768(`escapeshell*()` 函数没有对 `!` 符号进行处理)。
- 修复了错误 #69703(在 PowerPC 上使用 `__builtin_clzl`)。
- 修复了错误 #69732(使用基本 PHP 代码可能会导致段错误)。
- 修复了错误 #69642(将 Windows 10 报告为 Windows 8)。
- 修复了错误 #69551(`parse_ini_file()` 和 `parse_ini_string()` 函数导致段错误)。
- 修复了错误 #69781(`phpinfo()` 函数将 Windows 7/8/8.1/10 专业版报告为“企业版”)。
- 修复了错误 #69740(生成器(`yield`)中的 `finally` 语句会吞噬迭代过程中的异常)。
- 修复了错误 #69835(`phpinfo()` 函数没有报告许多 Windows SKU)。
- 修复了错误 #69892(由于整数键截断,不同的数组比较为相同)。
- 修复了错误 #69874(无法为 `mail()` 函数设置空的 `additional_headers`),这是对错误 #68776 修复的回归问题。
- GD
- 修复了错误 #61221(`imagegammacorrect` 函数丢失了 alpha 通道)。
- GMP
- 修复了错误 #69803(`gmp_random_range()` 函数在 GMP 类型的第二个参数的情况下会修改该参数)。
- Mysqlnd
- 修复了错误 #69669(mysqlnd 存在 BACKRONYM 漏洞)。(CVE-2015-3152)
- PCRE
- 修复了错误 #53823(`preg_replace`:在 Unicode 替换中使用 `*` 量词会导致字符串乱码)。
- 修复了错误 #69864(`preg_replace_callback` 函数中存在段错误)。
- PDO_pgsql
- 修复了错误 #69752(当 `closeCuror()` 函数为 `u` 时,`PDOStatement::execute()` 函数在使用 DML 语句时存在内存泄露)。
- 修复了错误 #69362(如果密码以单引号开头,则 PDO-pgsql 无法连接)。
- 修复了错误 #69344(PDO PgSQL 在绑定带间隙的数值数组时存在错误)。
- Phar
- 修复了错误 #69958(`Phar::convertToData` 函数在处理无效文件时存在段错误)。(CVE-2015-5589)
- 修复了错误 #69923(`phar_fix_filepath` 函数中存在缓冲区溢出和堆栈粉碎错误)。(CVE-2015-5590)
- SimpleXML
- 重构了对错误 #66084 的修复(`simplexml_load_string()` 函数会破坏空节点名称)。
- SPL
- 修复了错误 #69737(当 `SplMinHeap::compare` 函数产生致命错误时会发生段错误)。
- 修复了错误 #67805(`SplFileObject` 的 `setMaxLineLength` 函数)。
- 修复了错误 #69970(`spl_recursive_it_move_forward_ex()` 函数中存在使用后释放漏洞)。
- SQLite3
- 修复了错误 #69972(`sqlite3SafetyCheckSickOrOk()` 函数中存在使用后释放漏洞)。
版本 5.6.10
- 核心
- 修复了错误 #66048(临时目录在多个请求期间被缓存)。
- 修复了错误 #69566(条件跳转或移动取决于扩展特性的未初始化值)。
- 修复了错误 #69599(生成器+异常+可变参数组合导致崩溃)。
- 修复了错误 #69628(在 Windows 上,复杂的 GLOB_BRACE 匹配失败)。
- 修复了在 Windows 上由于小输入缓冲区大小导致的 POST 数据处理速度变慢的问题。
- 修复了错误 #69646(`escapeshellarg` 函数中存在操作系统命令注入漏洞)。(CVE-2015-4642)
- 修复了错误 #69719(对包含 NUL 字符的路径处理不正确)。(CVE-2015-4598)
- FTP
- 改进了对错误 #69545 的修复(`ftp_genlist()` 函数中存在整数溢出漏洞,导致堆溢出)。(CVE-2015-4643)
- GD
- 修复了错误 #69479(GD 在使用较新的 libvpx 时无法构建)。
- Iconv
- 修复了错误 #48147(使用 `//IGNORE` 的 `iconv` 函数会截断字符串)。
- Litespeed SAPI
- Mail
- 修复了错误 #68776(`mail()` 函数没有对 `additional_headers` 进行邮件头注入防御)。
- MCrypt
- 为 `mcrypt_create_iv()` 函数添加了文件描述符缓存。
- Opcache
- 修复了错误 #69549(当 `opcache.optimization_level=0xFFFFFFFF` 时存在内存泄露)。
- Phar
- 修复了错误 #69680(二进制目录中的 Phar 符号链接失效)。
- Postgres
- 修复了错误 #69667(`php_pgsql_meta_data` 函数中存在段错误)。(CVE-2015-4644)
- SQLite3
- 将捆绑的 SQLite 升级到 3.8.10.2。(CVE-2015-3414,CVE-2015-3415,CVE-2015-3416)
版本 5.6.9
- 核心
- 修复了错误 #69467(使用 Trait 时,对接口的检查错误)。
- 修复了错误 #69420(`zend_std_get_method` 函数中存在无效读取)。
- 修复了错误 #60022(“`use` 语句[...]没有效果”取决于前导反斜杠)。
- 修复了错误 #67314(`gc_remove_zval_from_buffer` 函数中存在段错误)。
- 修复了错误 #68652(析构函数中存在段错误)。
- 修复了错误 #69419(返回兼容的子生成器会产生警告)。
- 修复了错误 #69472(`php_sys_readlink` 函数忽略了 `GetFinalPathNameByHandleA` 函数返回的各种错误)。
- 修复了错误 #69364(PHP Multipart/form-data 远程拒绝服务漏洞)。(CVE-2015-4024)
- 修复了错误 #69403(`str_repeat()` 函数中存在基于符号不匹配的内存损坏问题)。
- 修复了错误 #69418(CVE-2006-7243 修复在 5.4+ 版本中存在的回归问题)。(CVE-2015-4025)
- 修复了错误 #69522(`unpack()` 函数中存在堆缓冲区溢出问题)。
- FTP
- 修复了错误 #69545(`ftp_genlist()` 函数中存在整数溢出漏洞,导致堆溢出)。(CVE-2015-4022)
- ODBC
- 修复了错误 #69354(在 ODBC 3.0 中,`SQLColAttributes` 函数的使用不正确)。
- 修复了错误 #69474(ODBC:包含两个表中相同字段名称的查询返回错误结果)。
- 修复了错误 #69381(使用 Sage ODBC 驱动程序会导致内存不足)。
- OpenSSL
- 修复了错误 #69402(读取空 SSL 流会一直挂起,直到超时)。
- PCNTL
- 修复了错误 #68598(`pcntl_exec()` 函数不应该允许空字符)。(CVE-2015-4026)
- PCRE
- 将 pcrelib 升级到 8.37。(CVE-2015-2325,CVE-2015-2326)
- Phar
- 修复了错误 #69453(当条目文件名以空字符开头时,`phar_parse_tarfile` 函数中存在内存损坏问题)。(CVE-2015-4021)
版本 5.6.8
- 核心
- 修复了错误 #66609(在某些情况下,`__get()` 函数与 `++` 运算符一起使用会导致 PHP 崩溃)。
- 修复了错误 #68021(`get_browser()` 函数的 `browser_name_regex` 属性返回非 UTF-8 字符)。
- 修复了错误 #68917(`parse_url` 函数对某些部分 URL 失败)。
- 修复了错误 #69134(每个目录的值会覆盖 `PHP_INI_SYSTEM` 配置选项)。
- 进一步修复了错误 #69152(`exception::getTraceAsString` 函数中存在类型混淆漏洞)。
- 修复了错误 #69210(当 `sleep` 函数的参数是非字符串值时,`serialize` 函数返回损坏的数据)。
- 修复了错误 #69212(当在 `__call`/... 函数参数传递过程中发生异常时,会泄露 `VIA_HANDLER` 函数)。
- 修复了错误 #69221(当将生成器与迭代器组合使用时,会发生段错误)。
- 修复了错误 #69337(`php_stream_url_wrap_http_ex()` 函数中存在类型混淆漏洞)。
- 修复了错误 #69353(在各种 PHP 扩展中,缺少对路径的空字节检查)。(CVE-2015-3411,CVE-2015-3412)
- Apache2handler
- 修复了错误 #69218(在 Apache 2.4 apache2handler 中,存在潜在的远程代码执行漏洞)。(CVE-2015-3330)
- cURL
- 实现了 FR #69278(HTTP2 支持)。
- 修复了错误 #68739(缺少 `break` / 控制流)。
- 修复了错误 #69316(与 `CURLOPT_FILE` / `_INFILE` / `_WRITEHEADER` 相关的 `php_curl` 函数中存在使用后释放问题)。
- 日期
- Enchant
- 修复了错误 #65406(Enchant 代理插件在 Windows 构建中的位置错误)。
- Ereg
- Fileinfo
- 修复了错误 #68819(Fileinfo 在处理特定文件时会导致错误的 OOM 和/或段错误)。(CVE-2015-4604,CVE-2015-4605)
- Filter
- 修复了错误 #69202(除非使用其他标志,否则 `FILTER_FLAG_STRIP_BACKTICK` 标志会被忽略)。
- 修复了错误 #69203(`FILTER_FLAG_STRIP_HIGH` 标志没有剥离 ASCII 127)。
- Mbstring
- 修复了错误 #68846(错误检测 CJK 统一表意文字扩展 E)。
- OPCache
- 修复了错误 #69297(在禁用函数的情况下,OPCache 中的 `function_exists` 函数存在奇怪的行为)。
- 修复了错误 #69281(`opcache_is_script_cached` 函数不再工作)。
- 修复了错误 #68677(使用后释放)。(CVE-2015-1351)
- OpenSSL
- 修复了错误 #68853,#65137(缓冲的加密流数据会破坏 `stream_select()` 上下文中的 IO 轮询)。
- 修复了错误 #69197(`openssl_pkcs7_sign` 函数对默认值处理不正确)。
- 修复了错误 #69215(加密服务器应该发送客户端 CA 列表)。
- 添加了一个对 `RAND_egd` 的检查,以允许针对 LibreSSL 编译。
- Phar
- 修复了错误 #64343(`PharData::extractTo` 函数无法解压缩由 BSD tar 创建的 tar 包)。
- 修复了错误 #64931(`phar_add_file` 函数对文件名限制过于严格)。
- 修复了错误 #65467(调用未定义的方法 `cli_arg_typ_string`)。
- 修复了错误 #67761(`Phar::mapPhar` 函数无法处理位于包含“.tar”的路径中的 Phar 文件)。
- 修复了错误 #69324(在解析 Phar 文件时,`unserialize` 函数中存在缓冲区过读问题)。(CVE-2015-2783,CVE-2015-3307)
- 修复了错误 #69441(在 `phar_set_inode` 函数中,解析 tar/zip/phar 文件时存在缓冲区溢出问题)。(CVE-2015-3329)
- Postgres
- 修复了错误 #68741(空指针解除引用)。(CVE-2015-1352)
- SOAP
- 修复了错误 #69152(`unserialize()` 函数与 SoapFault 一起使用时,存在类型混淆信息泄露漏洞)。(CVE-2015-4599)
- 修复了错误 #69293(使用 `SoapClient::__setSoapHeader` 函数时,存在新的段错误问题,回归问题)。
- SPL
- 修复了错误 #69227(由 `spl_object_storage_get_gc` 函数导致的 `zval_scan` 函数中存在使用后释放问题)。
- SQLite3
- 修复了错误 #68760(如果自定义排序器抛出异常,则 SQLite 会发生段错误)。
- 修复了错误 #69287(将捆绑的 libsqlite 升级到 3.8.8.3)。
- 修复了错误 #66550(SQLite 预处理语句使用后释放)。
版本 5.6.7
- 核心
- 修复了错误 #69174(当未使用内部类使用特性的优先级时存在泄露)。
- 修复了错误 #69139(`gc_zval_possible_root` 函数在 `unserialize` 时崩溃)。
- 修复了错误 #69121(当脚本所有者不在 passwd 中时,`get_current_user` 函数在 ZTS 构建中出现段错误)。
- 修复了错误 #65593(在从输出缓冲回调函数调用 `ob_start` 函数时发生段错误)。
- 修复了错误 #68986(在 `memory.c` 中,`php_stream_fopen_temporary_file` 函数返回的指针没有在内存中进行验证)。
- 修复了错误 #68166(使用无效字符导致异常,进而导致段错误)。
- 修复了错误 #69141(某些内置函数的反射信息中缺少参数)。
- 修复了错误 #68976(`unserialize()` 函数中存在使用后释放漏洞)。(CVE-2015-2787)
- 修复了错误 #69134(每个目录的值会覆盖 `PHP_INI_SYSTEM` 配置选项)。
- 修复了错误 #69207(`move_uploaded_file` 函数允许路径中存在空字符)。(CVE-2015-2348)
- CGI
- 修复了错误 #69015(`php-cgi` 的 `getopt` 函数没有看到 `$argv`)。
- CLI
- 修复了错误 #67741(`auto_prepend_file` 会破坏 `__LINE__`)。
- cURL
- 修复了错误 #69088(`PHP_MINIT_FUNCTION` 函数没有在 Win32 上完全初始化 cURL)。
- 如果 libcurl 支持,则添加 `CURLPROXY_SOCKS4A` 和 `CURLPROXY_SOCKS5_HOSTNAME` 常量。
- Ereg
- 修复了错误 #69248(`regcomp.c` 文件中存在堆溢出漏洞)。(CVE-2015-2305)
- FPM
- ODBC
- 修复了错误 #68964(`odbc_exec` 函数导致内存耗尽)。
- Opcache
- 修复了错误 #69159(Opcache 在将变量变量传递给函数时会导致问题)。
- 修复了错误 #69125(数组的数值字符串作为键)。
- 修复了错误 #69038(`switch(SOMECONSTANT)` 的行为错误)。
- OpenSSL
- 修复了错误 #68912(openssl_spki_new 处的段错误)。
- 修复了错误 #61285,#68329,#68046,#41631(加密流不遵守套接字超时)。
- 修复了错误 #68920(使用严格的 peer_fingerprint 输入检查)(Daniel Lowrey)
- 修复了错误 #68879(subjectAltNames 中的 IP 地址字段未被使用)(Daniel Lowrey)
- 修复了错误 #68265(SAN 匹配在有尾随 DNS 点时失败)(Daniel Lowrey)
- 修复了错误 #67403(将 signatureType 添加到 openssl_x509_parse)(Daniel Lowrey)
- 修复了错误 #69195(不同版本之间的流加密值不一致)(Daniel Lowrey)
- pgsql
- 修复了错误 #68638(pg_update() 无法存储无限值)。
- Readline
- 修复了错误 #69054(readline_(read|write)_history() 在没有参数的情况下发生空指针引用)。
- SOAP
- 修复了错误 #69085(SoapClient 的 __call() 通过 unserialize() 发生类型混淆)。(CVE-2015-4147,CVE-2015-4148)
- SPL
- 修复了错误 #69108(在(反)序列化 SplObjectStorage 时发生“段错误”)。
- 修复了错误 #68557(在调用 getChildren() 后,RecursiveDirectoryIterator::seek(0) 出现故障)。
- ZIP
- 修复了错误 #69253(ZIP 整数溢出导致写入超出堆边界)。(CVE-2015-2331)
版本 5.6.6
- 核心
- 删除了对多行头的支持,因为它们已被 RFC 7230 弃用。
- 修复了错误 #67068(getClosure 返回一些不是闭包的东西)。
- 修复了错误 #68942(在 unserialize() 中使用 DateTimeZone 时出现 use after free 漏洞)。(CVE-2015-0273)
- 修复了错误 #68925(针对 CVE-2015-0235 的缓解措施 - GHOST:glibc gethostbyname 缓冲区溢出)。
- 修复了错误 #67988(htmlspecialchars() 不遵守由 ini_set 指定的 default_charset)。
- 为 exec、system 和 passthru 添加了 NULL 字节保护。
- Dba
- Enchant
- 修复了错误 #68552(enchant_broker_request_dict() 中的堆缓冲区溢出)。(CVE-2014-9705)
- Fileinfo
- 修复了错误 #68827(在禁用 ZMM 时发生双重释放)。
- 修复了错误 #67647(捆绑的 libmagic 5.17 未能正确检测 quicktime 文件)。
- 修复了错误 #68731(finfo_buffer 使用某些 gif 无法提取正确的 mime)。
- FPM
- 修复了错误 #66479(对 FCGI_GET_VALUES 的响应错误)。
- 修复了错误 #68571(当 webserver 关闭套接字时发生核心转储)。
- JSON
- 修复了错误 #50224(json_encode() 未能始终将浮点数编码为浮点数),方法是添加 JSON_PRESERVE_ZERO_FRACTION。
- LIBXML
- 修复了错误 #64938(libxml_disable_entity_loader 设置在不同线程之间共享)。(CVE-2015-8866)
- Mysqli
- 修复了错误 #68114(在某些具有固定宽度小数支持的 OS X 机器上发生链接器错误)。
- 修复了错误 #68657(使用 Mysqli 和 libmysqlclient 读取 4 字节浮点数时发生舍入错误)。
- Opcache
- 修复了当启用 extended_info 操作码生成时,try 块被移除的错误。
- PDO_mysql
- 修复了错误 #68750(PDOMysql 与 mysqlnd 不允许使用命名管道)。
- Phar
- 修复了错误 #68901(use after free)。(CVE-2015-2301)
- Pgsql
- 修复了错误 #65199(pg_copy_from() 修改输入数组变量)。
- Session
- 修复了错误 #68941(mod_files.sh 是一个 bash 脚本)。
- 修复了错误 #66623(flock 上没有 EINTR 检查)。
- 修复了错误 #68063(空会话 ID 仍然会启动会话)。
- SQLite3
- 修复了错误 #68260(SQLite3Result::fetchArray 声明了错误的 required_num_args)。
- 标准
- 修复了错误 #65272(flock() 输出参数在 Windows 中未被正确设置)。
- 修复了错误 #69033(如果 PHP 作为 FastCGI 运行,请求可能会从之前的请求获取环境变量)。
- Streams
版本 5.6.5
- 核心
- 将 crypt_blowfish 升级到 1.3 版。
- 修复了错误 #60704(unlink() 使用某些文件路径时出现错误)。
- 修复了错误 #65419(在 trait 内部,self::class != __CLASS__)。
- 修复了错误 #68536(用于 64 位整数的 pack 在大端序上出现故障)。
- 修复了错误 #55541(错误会生成 MessageBox,这会阻塞测试自动化)。
- 修复了错误 #68297(应用程序弹出窗口提供的的信息太少)。
- 修复了错误 #65769(localeconv() 在 TS 构建中出现故障)。
- 修复了错误 #65230(随机设置区域设置出现故障)。
- 修复了错误 #66764(configure 未能正确定义 EXPANDED_DATADIR / PHP_DATADIR)。
- 修复了错误 #68583(超时线程中发生崩溃)。
- 修复了错误 #65576(来自 trait 的构造函数与继承的构造函数发生冲突)。
- 修复了错误 #68676(显式双重释放)。(CVE-2014-9425)
- 修复了错误 #68710(PHP 的 unserialize() 中存在 Use After Free 漏洞)。(CVE-2015-0231)
- CGI
- 修复了错误 #68618(越界读取导致 php-cgi 崩溃)。(CVE-2014-9427)
- CLI 服务器
- 修复了错误 #68745(无效的 HTTP 请求导致 webserver 发生段错误)。
- cURL
- 修复了错误 #67643(curl_multi_getcontent 在未设置 CURLOPT_RETURNTRANSFER 时返回 '')。
- 日期
- 实现了 FR #68268(DatePeriod:获取开始日期、结束日期和间隔)。
- EXIF
- 修复了错误 #68799(在未初始化的指针上调用了 free)。(CVE-2015-0232)
- Fileinfo
- 修复了错误 #68398(msooxml 匹配了太多存档)。
- 修复了错误 #68665(libmagic 中存在无效的释放)。
- 修复了错误 #68671(libmagic 中的表达式不正确)。
- 从 libmagic 源代码中删除了 readelf.c 和相关代码。
- 修复了错误 #68735(fileinfo 越界内存访问)。(CVE-2014-9652)
- FPM
- 实现了 FR #68526(为 UDS 实现了 POSIX 访问控制列表)。
- 修复了错误 #68751(listen.allowed_clients 出现故障)。
- GD
- 修复了错误 #68601(gd_gif_in.c 中的缓冲区读取溢出)。(CVE-2014-9709)
- 实现了 FR #68656(报告 gd 库版本)。
- mbstring
- 修复了错误 #68504(--with-libmbfl 配置选项在 Windows 上不存在)。
- Opcache
- 修复了错误 #68644(strlen 不正确:mbstring + func_overload=2 +UTF-8 + Opcache)。
- 修复了错误 #67111(在两个 foreach 循环中使用 "continue 2" 时发生内存泄漏)。
- OpenSSL
- 改进了对 OPENSSL_KEYTYPE_EC 密钥的处理。
- pcntl
- 修复了错误 #60509(在设置 SIG_DFL 时,pcntl_signal 不会减少旧处理程序的引用计数)。
- PCRE
- 修复了错误 #66679(PCRE 8.34 上游中的对齐错误)。
- pgsql
- 修复了错误 #68697(lo_export 在失败时返回 -1)。
- PDO
- 修复了错误 #68371(PDO#getAttribute() 无法使用平台特定的属性名称调用)。
- PDO_mysql
- 修复了错误 #68424(添加新的 PDO mysql 连接属性以控制多语句选项)。
- SPL
- 修复了错误 #66405(RecursiveDirectoryIterator::CURRENT_AS_PATHNAME 打破了 RecursiveIterator)。
- 修复了错误 #68479(为 SplFileObject::fputcsv 添加了 escape 参数)。
- SQLite
- 修复了错误 #68120(将捆绑的 libsqlite 更新到 3.8.7.2)。
- Streams
- 修复了错误 #68532(convert.base64-encode 忽略了填充字节)。
版本 5.6.4
- 核心
- 修复了错误 #68091(某些 Zend 头文件缺少适当的 extern "C" 块)。
- 修复了错误 #68104(在预先评估禁用的函数时发生段错误)。
- 修复了错误 #68185(“不一致的 insteadof 定义” - 错误地触发)。
- 修复了错误 #68355(示例 php.ini 注释中的不一致)。
- 修复了错误 #68370(“unset($this)” 可能导致程序崩溃)。
- 修复了错误 #68422(array_multisort() 的参数反射信息不正确)。
- 修复了错误 #68545(unserialize.c 中的空指针引用)。
- 修复了错误 #68446(数组常量不被接受为数组参数默认值)。
- 修复了错误 #68594(unserialize() 中存在 Use After Free 漏洞)。(CVE-2014-8142)
- 日期
- 修复了 day_of_week 函数,因为它有时会在内部返回负值。
- FPM
- 修复了错误 #68381(fpm_unix_init_main 忽略了 log_level)。
- 修复了错误 #68420(listen=9000 监听 ipv6 本地主机而不是所有地址)。
- 修复了错误 #68421(access.format='%R' 未记录 ipv6 地址)。
- 修复了错误 #68423(PHP-FPM 将不再加载所有池)。
- 修复了错误 #68428(listen.allowed_clients 仅为 IPv4)。
- 修复了错误 #68452(php-fpm 手册页已过时)。
- 实现了 FR #68458(将 pm.start_servers 默认警告更改为 notice)。
- 修复了错误 #68463(listen.allowed_clients 可能导致静默拒绝访问)。
- 实现了 FR #68391(php-fpm conf 文件的加载顺序)。
- 修复了错误 #68478(access.log 未使用前缀)。
- Mcrypt
- 修复了可能的读取超出缓冲区末尾和 use after free 错误。
- GMP
- 修复了错误 #68419(使用 gmp 4.1 时发生构建错误)。
- PDO_pgsql
- 修复了错误 #67462(PDO_PGSQL::beginTransaction() 在不在事务中时错误地抛出异常)。
- 修复了错误 #68351(PDO::PARAM_BOOL 和 ATTR_EMULATE_PREPARES 行为异常)。
- Session
- 修复了错误 #68331(会话自定义存储可调用函数未被调用)。
- SOAP
- 修复了错误 #68361(在 SoapClient::__getTypes 上发生段错误)。
- zlib
- 修复了错误 #53829(使用大文件支持编译 PHP 会将 gzopen 函数替换为 gzopen64)。
版本 5.6.3
- 核心
- 为 pack() 和 unpack() 实现了 64 位格式代码。
- 修复了错误 #51800(Windows 上的 proc_open 永久挂起)。
- 修复了错误 #67633(对从函数返回的数组进行 foreach 循环时未执行写时复制)。
- 修复了错误 #67739(Windows 8.1/Server 2012 R2 的操作系统版本号报告为 6.2(而不是 6.3))。
- 修复了错误 #67949(DOMNodeList 元素应该可以通过数组符号访问)。
- 修复了错误 #68095(AddressSanitizer 在 php_getopt() 中报告了堆缓冲区溢出)。
- 修复了错误 #68118($a->foo .= 'test'; 可能导致 $a->foo 未定义)。
- 修复了错误 #68129(parse_url() - 对空用户名和密码的支持不完整)。
- 修复了错误 #68365(zend_mm_heap 在 zend_hash_copy 中发生内存溢出后损坏)。
- CURL
- 如果 libcurl 支持,则添加 CURL_SSLVERSION_TLSv1_0、CURL_SSLVERSION_TLSv1_1 和 CURL_SSLVERSION_TLSv1_2 常量。
- Fileinfo
- 修复了错误 #66242(libmagic:不要假设 char 是带符号的)。
- 修复了错误 #68224(libmagic/readcdf.c 中的缓冲区溢出,由 AddressSanitizer 捕获)。
- 修复了错误 #68283(fileinfo:elf 注解头中存在越界读取)。(CVE-2014-3710)
- FPM
- 修复了错误 #65641(PHP-FPM 在使用 Apache、mod_proxy-fcgi 和 ProxyPass 时错误地定义了 SCRIPT_NAME 变量)。
- 实现了 FR #55508(listen 和 listen.allowed_clients 应该接受 IPv6 地址)。
- GD
- 修复了错误 #65171(imagescale() 在没有高度参数的情况下失败)。
- GMP
- 实现了 gmp_random_range() 和 gmp_random_bits()。
- 修复了错误 #63595(GMP 内存管理与使用 GMP 的其他库发生冲突)。
- Mysqli
- 修复了错误 #68114(在某些具有固定宽度小数支持的 OS X 机器上发生链接器错误)。
- ODBC
- 修复了 bug #68087 (ODBC 在 VARCHAR 列之前读取 DATE 列时无法正确读取)。
- OpenSSL
- 修复了 bug #68074 (允许使用系统密码列表,而不是硬编码值)。
- PDO_pgsql
- 修复了 bug #68199 (PDO::pgsqlGetNotify 不支持 NOTIFY 负载)。
- 修复了 bug #66584 (语句释放时出现段错误)。
- Reflection
- 修复了 bug #68103 (类别别名在 Reflection 中出现重复条目)。
- SPL
- 修复了 bug #68128 (RecursiveRegexIterator 的回归)。
版本 5.6.2
- 核心
- 修复了 bug #68044 (unserialize() 中的整数溢出 (仅限 32 位)。(CVE-2014-3669))
- cURL
- 修复了 bug #68089 (NULL 字节注入 - cURL 库)。
- EXIF
- 修复了 bug #68113 (exif_thumbnail() 中的堆损坏。(CVE-2014-3670))
- XMLRPC
- 修复了 bug #68027 (mkgmtime() 函数中的全局缓冲区溢出。(CVE-2014-3668))
版本 5.6.1
- 核心
- 实现了 FR #38409 (parse_ini_file() 丢失了布尔值的类型)。
- 修复了 bug #65463 (zend_shutdown() 期间出现 SIGSEGV)。
- 修复了 bug #66036 (Apache 进程中出现 SIGTERM 时崩溃)。
- 修复了 bug #67878 (手册中 program_prefix 未被采用)。
- 修复了 bug #67938 (使用可变参数扩展接口方法时出现段错误)。
- 修复了 bug #67985 (在 unset 后,最后一个使用的数组索引被错误地复制到新数组)。
- 修复了 bug #68088 (新的 Posthandler 潜在的非法 efree() 漏洞。(CVE-2014-3622))
- DOM
- 使 DOMNode::textContent 可写。
- Fileinfo
- 修复了 bug #67731 (finfo::file() 返回二进制文件的无效 MIME 类型)。
- GD
- GMP
- 修复了 bug #67917 (使用带重载运算符的 GMP 对象会导致内存耗尽)。
- 修复了 bug #50175 (gmp_init() 在给定基数和以 0x 或 0b 开头的数字时结果为 0)。
- 实现了 gmp_import() 和 gmp_export()。
- MySQLi
- 修复了 bug #67839 (mysqli 无法正确处理 4 字节浮点数)。
- OpenSSL
- 修复了 bug #67850 (如果 openssl 编译时没有 SSLv3,则扩展无法构建)。
- phpdbg
- 修复了问题 GH-111 (没有 ZEND_SIGNALS 时编译错误)。
- SOAP
- 修复了 bug #67955 (SoapClient 在 cookie 名称前添加 0 字节)。
- Session
- 修复了 bug #67972 (SessionHandler 非法内存读取 create_sid())。
- Sysvsem
- 实现了 FR #67990 (在 sem_acquire 中添加可选的 nowait 参数)。
版本 5.6.0
- 一般改进
- 添加了常量标量表达式语法。
- 添加了可变参数函数的专用语法。
- 添加了对参数解包的支持,以补充可变参数语法。
- 添加了一个求幂运算符 (**)。
- 添加了 phpdbg SAPI。
- 添加了统一的默认编码。
- php://input 流现在可以重复使用,并且可以在 enable_post_data_reading=0 时与之并行使用。
- 添加了 use function 和 use const..。
- 添加了一个用于计时攻击安全字符串比较的函数。
- 添加了 __debugInfo() 魔术方法,允许用户域类实现以前仅对扩展可用的 get_debug_info API。
- 添加了 gost-crypto (CryptoPro S-box) 哈希算法。
- 流包装器默认情况下在加密的客户端流中验证对等证书和主机名。
- 现在接受大小等于或大于 2GB 的上传。
- 核心
- 修复了 bug #67693 (向空数组的错误推送)。
- 删除了有关运行时常量中数组行为的不一致性。
- 修复了 bug #67497 (带有解析错误的 eval 在生成器中导致段错误)。
- 修复了 bug #67151 (带有空数组的 strtr 崩溃)。
- 修复了 bug #67407 (Windows 8.1/Server 2012 R2 被报告为 Windows 8/Server 2012)。
- 修复了 bug #66608 (嵌套的“finally”块行为不正确)。
- 实现了 FR #34407 (ucwords 和标题大小写)。
- 修复了 bug #67091 (make install 无法在 FreeBSD 10.0 上安装 libphp5.so)。
- 修复了 bug #67368 (在类常量中立即解除引用的数组会导致内存泄漏)。
- 修复了 bug #67468 (highlight_file()/highlight_string() 中出现段错误)。
- 修复了 bug #67498 (phpinfo() 类型混淆信息泄漏漏洞。(CVE-2014-4721))
- 修复了 bug #67551 (php://input 临时文件将位于 sys_temp_dir 而不是 upload_tmp_dir)。
- 修复了 bug #67169 (array_splice 所有元素,然后 []= 给出错误的索引)。
- 修复了 bug #67198 (php://input 回归)。
- 修复了 bug #67247 (spl_fixedarray_resize 整数溢出)。
- 修复了 bug #67250 (iptcparse 越界读取)。
- 修复了 bug #67252 (convert_uudecode 越界读取)。
- 修复了 bug #67249 (printf 越界读取)。
- 实现了 FR #64744 (区分对空和非空、非对象的成员函数调用)。
- 修复了 bug #67436 (如果两个方法定义不匹配,则不会调用自动加载器)。
- 修复了 bug #66622 (在某些情况下,闭包无法正确捕获后期绑定类 (static::))。
- 修复了 bug #67390 (配置脚本中使用了不安全的临时文件。(CVE-2014-3981))
- 修复了 bug #67392 (dtrace 中断了参数解包)。
- 修复了 bug #67428 (header('Location: foo') 将覆盖 308-399 响应代码)。
- 修复了 bug #67433 (在对实现 Countable 的对象使用 count() 时出现 SIGSEGV)。
- 修复了 bug #67399 (putenv 带有空变量可能导致崩溃)。
- 将 get_debug_info 类钩子公开为 __debugInfo() 魔术方法。
- 实现了统一的默认编码 (RFC: https://wiki.php.net/rfc/default_encoding)。
- 添加了 T_POW (**) 运算符 (RFC: https://wiki.php.net/rfc/pow-operator)。
- 改进了 IS_VAR 操作数的获取。
- 改进了空字符串的处理。现在 ZE 使用一个内部字符串,而不是每次都分配新的空字符串。
- 实现了内部运算符重载 (RFC: https://wiki.php.net/rfc/operator_overloading_gmp)。
- 从不兼容的上下文中调用会发出 E_DEPRECATED 警告而不是 E_STRICT (RFC 的第一阶段: https://wiki.php.net/rfc/incompat_ctx)。
- 现在接受大小等于或大于 2GB 的上传。
- 将 POST 数据内存使用量减少了 200-300%。更改了 INI 设置 always_populate_raw_post_data,使其在启用时抛出弃用警告,并接受 -1 以永远不会填充 $HTTP_RAW_POST_DATA 全局变量,这将是未来 PHP 版本的默认设置。
- 实现了可变参数函数的专用语法 (RFC: https://wiki.php.net/rfc/variadics)。
- 修复了 bug #50333 通过使用 emalloc/efree/estrdup 提高多线程可扩展性 (Anatol, Dmitry)
- 实现了常量标量表达式 (支持常量) (RFC: https://wiki.php.net/rfc/const_scalar_exprs)。
- 修复了 bug #65784 (使用 finally 时出现段错误)。
- 修复了 bug #66509 (从 5.4 开始,copy() 的 arginfo 已更改)。
- 允许在 substr_compare() 中进行零长度比较 (Tjerk)
- 修复了 bug #60602 (proc_open() 更改环境数组) (Tjerk)
- 修复了 bug #61019 (在命令流 stream_get_contents 上出现内存不足)。
- 修复了 bug #64330 (stream_socket_server() 创建错误的抽象命名空间 UNIX 套接字)。
- 修复了 bug #66182 (流过滤器中的 exit 导致段错误)。
- 修复了 bug #66736 (fpassthru 损坏)。
- 修复了 bug #66822 (无法在常量表达式中使用 T_POW) (Tjerk)
- 修复了 bug #67043 (substr_compare 被之前的更改破坏) (Tjerk)
- 修复了 bug #65701 (当目标文件名由 tempnam() 创建时,copy() 不起作用)。
- 修复了 bug #66015 (类静态属性中出现意外的数组索引)。
- 添加了 (常量) 字符串/数组解除引用到静态标量表达式,以完成集合; 现在由于修复了 #66015,这成为可能。
- 修复了 bug #66568 (更新 unserialize() 函数的反射信息)。
- 修复了 bug #66660 (Composer.phar install/update 失败)。
- 修复了 bug #67024 (getimagesize 应该识别高度为负值的 BMP 文件)。
- 修复了 bug #67064 (Countable 接口阻止使用 count() 函数的第二个参数 ($mode))。
- 修复了 bug #67072 (回显反序列化的“SplFileObject”崩溃)。
- 修复了 bug #67033 (删除对 Windows 95 的引用)。
- Apache2 处理程序 SAPI
- 修复了由 APR 不支持 %zu 导致的 Apache 日志问题 (APR 问题 https://issues.apache.org/bugzilla/show_bug.cgi?id=56120)。
- CLI 服务器
- 在 CLI Web 服务器中添加了一些 MIME 类型。
- 修复了 bug #67079 (缺少 XML/XSL 文件的 MIME 类型)。
- 修复了 bug #66830 (空标题会导致 PHP 内置 Web 服务器挂起)。
- 修复了 bug #67594 (无法访问 apache_request_headers() 元素)。
- 实现了 FR #67429 (CLI 服务器缺少一些新的 HTTP 响应代码)。
- 修复了 bug #67406 (内置 Web 服务器在启动时出现段错误)。
- COM
- 修复了 bug #41577 (DOTNET 每次服务器运行成功一次) (Aidas Kasparas)
- 修复了 com_event_sink 中缺少的类型检查 (Yussuf Khalil, Stas)。
- 修复了 bug #66431 (通过 COM 接口 (CP_UTF8) 传递特殊字符)。
- Curl
- 实现了 FR #65646 (重新启用 CURLOPT_FOLLOWLOCATION,使用 open_basedir 或 safe_mode)。
- 在加载 CA 证书时检查 openssl.cafile ini 指令。
- 删除了与 cURL 关闭策略相关的常量,因为这些常量没有效果,并且不再在 libcurl 中使用。
- 修复了 bug #66109 (无法将 CURLOPT_CUSTOMREQUEST 重置为默认行为) (Tjerk)
- 修复了在 7.10.5 到 7.12.2 (含) 之间的 libcurl 版本上的编译。
- 修复了 bug #64247 (CURLOPT_INFILE 不允许重置)。
- 修复了 bug #66562 (curl_exec 返回的结果与 curl_multi_getcontent 不同)。
- 日期
- 修复了 bug #66060 (DateInterval 中的堆缓冲区过读。(CVE-2013-6712))
- 修复了 bug #66091 (DateTime 构造函数中的内存泄漏) (Tjerk)。
- 修复了 bug #67308 (DateTime 的序列化截断了秒的几分之一)。
- 修复了 #67118 修复的回归 (构造函数无法调用两次)。
- 修复了 bug #67251 (date_parse_from_format 越界读取)。
- 修复了 bug #67253 (timelib_meridian_with_check 越界读取)。
- 添加了 DateTimeImmutable::createFromMutable 以从现有的 DateTime (可变) 对象创建 DateTimeImmutable 对象 (Derick)
- 修复了 bug #66721 (__wakeup of DateTime 在提供无效对象数据时出现段错误)。
- 修复了 bug #67118 (DateTime 构造函数在使用无效数据时崩溃)。
- DOM
- 修复了 bug #67081 (DOMDocumentType->internalSubset 返回整个 DOCTYPE 标签,而不是仅返回子集)。
- 嵌入
- 修复了 bug #65715 (不再提供 php5embed.lib)。(Anatol)。
- Fileinfo
- 修复了 bug #67716 (cdf.c 中出现段错误。(CVE-2014-3587))
- 修复了 bug #67705 (规则正则表达式中的大量回溯。(CVE-2014-3538))
- 修复了 bug #67327 (fileinfo: CDF 在 nelements 中出现无限循环,导致拒绝服务。(CVE-2014-0238))
- 修复了 bug #67328 (fileinfo: fileinfo: 许多 file_printf 调用导致性能下降。(CVE-2014-0237))
- 修复了 bug #67326 (fileinfo: cdf_read_short_sector 边界检查不足。(CVE-2014-0207))
- 修复了 #67329 错误(fileinfo:通过处理某些 CDF 文件导致 NULL 指针解除引用缺陷)。(CVE-2014-0236)
- 修复了 #67410 错误(fileinfo:mconvert 对截断的 Pascal 字符串大小处理不当)。(CVE-2014-3478)
- 修复了 #67411 错误(fileinfo:cdf_check_stream_offset 边界检查不足)。(CVE-2014-3479)
- 修复了 #67412 错误(fileinfo:cdf_count_chain 边界检查不足)。(CVE-2014-3480)
- 修复了 #67413 错误(fileinfo:cdf_read_property_info 边界检查不足)。(CVE-2014-3487)
- 升级到 libmagic-5.17(Anatol)
- 修复了 #66731 错误(file:无限递归)。(CVE-2014-1943)
- 修复了 #66820 错误(fileinfo 中的越界内存访问)。(CVE-2014-2270)
- 修复了 #66946 错误(fileinfo:awk 规则正则表达式中的大量回溯)。(CVE-2013-7345)
- 修复了 #66987 错误(fileinfo ext / bigendian 中的内存损坏)。
- 修复了 #66907 错误(Solaris 10 缺少 strcasestr,需要替换)。
- 修复了 #66307 错误(Fileinfo 在处理 powerpoint 文件时崩溃)。
- FPM
- 修复了 #67606 错误(修改了 67541 的修复,破坏了 mod_fastcgi 向后兼容性)。
- 修复了 #67530 错误(error_log=syslog 被忽略)。
- 修复了 #67635 错误(php 链接到 systemd 库,但未使用 pkg-config)。
- 修复了 #67531 错误(无法在池配置中设置 syslog)。
- 修复了 #67541 错误(修复 Apache 2.4.10+ SetHandler proxy:fcgi:// 不兼容性)。
- 在 fpm 中包含了 apparmor 支持(RFC:https://wiki.php.net/rfc/fpm_change_hat)。
- 添加了 clear_env 配置指令,用于禁用 clearenv() 调用。
- 修复了 #66482 错误(php-fpm.conf 中的未知条目 'priority')。
- 修复了 #66908 错误(php-fpm 重新加载会泄漏 epoll_create() 文件描述符)。
- 修复了 #67060 错误(sapi/fpm:由于不安全的默认配置,可能导致权限提升)。(CVE-2014-0185)
- GD
- 修复了 #67730 错误(使用 imagexxx 函数可能导致空字节注入)。(CVE-2014-5120)
- 修复了 #66901 错误(php-gd 'c_color' NULL 指针解除引用)。(CVE-2014-2497)
- 修复了 #67248 错误(imageaffinematrixget 缺少对参数的检查)。
- 修复了 imagettftext,使其加载正确的字符映射,而不是上一个字符映射。
- 修复了 #66356 错误(imagecrop() 中的堆溢出漏洞)。(CVE-2013-7226)
- 修复了 #66815 错误(imagecrop():对 NULL 解除引用的修复不足)。(CVE-2013-7327)
- 修复了 #66869 错误(无效的第二个参数会导致 imageaffinematrixget 崩溃)。
- 修复了 #66887 错误(imagescale - 缩放后的图像质量差)。
- 修复了 #66890 错误(imagescale 导致段错误)。
- 修复了 #66893 错误(imagescale 忽略方法参数)。
- GMP
- 修复了 #66872 错误(无效的参数会导致 gmp_testbit 崩溃)(Pierre)
- 修复了 serialize/unserialize 中的崩溃。
- 将 GMP 迁移为使用对象作为底层结构,并在此基础上实施了各种改进。
- 添加了 gmp_root() 和 gmp_rootrem() 函数,用于计算 n 次方根。
- 哈希
- 添加了 gost-crypto(CryptoPro S-box)GOST 哈希算法。
- 修复了 #66698 错误(缺少 FNV1a32 和 FNV1a64 哈希函数)。(Michael M Slusarz)。
- 实现了时序攻击安全的字符串比较函数(RFC:https://wiki.php.net/rfc/timing_attack)。
- hash_pbkdf2() 现在在未指定 $length 参数时能够正常工作。
- Intl
- 修复了 #66873 错误(在 UConverter 中,当给出无效编码时,会导致可重现的崩溃)(Stas)
- 修复了 #66921 错误(函数 intltz_from_date_time_zone 的错误参数类型提示)。
- 修复了 #67052 错误(NumberFormatter::parse() 会重置 LC_NUMERIC 设置)。
- 修复了 #67349 错误(Locale::parseLocale 双重释放)。
- 修复了 #67397 错误(locale_get_display_name 和 uloc_getDisplayName 中的缓冲区溢出(libicu 4.8.1))。
- JSON
- ldap
- 添加了新函数 ldap_modify_batch()。
- 修复了 LDAP 绑定中空字节的问题。
- litespeed
- 修复了 #63228 错误(lsapi 代码中的 -Werror=format-security 错误)。
- Mail
- 修复了 #66535 错误(不要在 X-PHP-Originating-Script 之后添加换行符)(Tjerk)
- Mcrypt
- 不再允许 mcrypt_encrypt、mcrypt_decrypt 和已弃用的模式函数中使用无效的密钥大小、无效的 IV 大小或缺少必需的 IV。
- 将 /dev/urandom 用作 mcrypt_create_iv() 的默认源。
- Mbstring
- 升级到 oniguruma 5.9.5(Anatol)
- 修复了 #67199 错误(mb_regex_encoding 不匹配)。
- Milter
- 修复了 #67715 错误(php-milter 无法构建,并随机崩溃)。
- mysqli
- 添加了新函数 mysqli_get_links_stats() 以及新的 INI 变量 mysqli.rollback_on_cached_plink(类型为 bool)(Andrey)
- 修复了 #66762 错误(mysqli_stmt::bind_result() 在链接关闭时导致段错误)(Remi)
- 修复了针对外部 libmysqlclient 的构建。
- mysqlnd
- 针对 5.5+ 服务器,禁用了 SP OUT 变量的标志,因为它们不受上层 API 的原生支持。
- 为 mysqlnd 添加了一个新的获取模式。
- 添加了对 MySQL 5.7 中的 gb18030 的支持。
- 网络
- 修复了 #67717 错误(dns_get_record 中的段错误)。(CVE-2014-3597)
- 修复了 #67432 错误(修复 dns_get_record() 中的潜在段错误)。(CVE-2014-4049)
- OCI8
- 修复了 #66875 错误(提高多行 OCI_RETURN_LOB 查询的性能)(Perrier,Chris Jones)
- ODBC
- 修复了 #60616 错误(odbc_fetch_into 在多字节字符字段的末尾返回垃圾数据)。
- OpenSSL
- 修复了 OpenSSL 选项中缺少的类型检查(Yussuf Khalil,Stas)。
- 修复了 #67609 错误(TLS 连接在 HTTP 代理后面失败)。
- 修复了针对早于 0.9.8 的 OpenSSL 版本的构建失败,其中 ECDH 不可用。
- 修复了 #67666 错误(主题备用名称不支持通配符匹配)。
- 修复了 #67224 错误(如果在 stream_socket_enable_crypto 中没有明确指定,则回退到上下文的 crypto_type)。
- 修复了 #65698 错误(证书有效性解析在 2050 年之后不起作用)。
- 修复了 #66636 错误(openssl_x509_parse 在使用 V_ASN1_GENERALIZEDTIME 时发出警告)。
- 在客户端套接字操作中,现在默认情况下会验证对等证书(RFC:https://wiki.php.net/rfc/tls-peer-verification)。
- 新的 openssl.cafile 和 openssl.capath ini 指令。
- 为 ssl 流上下文添加了 crypto_method 选项。
- 添加了证书指纹支持。
- 添加了显式的 TLSv1.1 和 TLSv1.2 流传输。
- 修复了 #65729 错误(CN_match 会产生误报)。
- 对等名称验证会匹配使用主题备用名称 x509 扩展的证书的 SAN DNS 名称。
- 修复了在针对 OpenSSL>=1.0.1 构建时发生的段错误(Daniel Lowrey)
- 添加了 SPKAC 支持。
- 如果在 Windows 中未指定 openssl.cafile ini 指令或 "cafile" SSL 上下文选项,则回退到 Windows CA 证书存储以进行对等验证。
- 在 alpha2 中引入的 openssl.cafile 和 openssl.capath ini 指令现在具有 PHP_INI_PERDIR 可访问性(以前为 PHP_INI_ALL)。
- 新的 "peer_name" SSL 上下文选项替换了 "CN_match"(它仍然像以前一样工作,但会触发 E_DEPRECATED)。
- 修复了在为客户端 SNI 使用访问不存在的上下文时发生的段错误(Daniel Lowrey)
- 修复了 #66501 错误(在 php_openssl_is_private_key 中添加 EC 密钥支持)。
- 修复了 #47030 错误(添加新的布尔值 "verify_peer_name" SSL 上下文选项,允许客户端单独验证证书名称和证书本身)。"verify_peer_name" 在客户端流中默认情况下处于启用状态。
- 修复了 #65538 错误("cafile" SSL 上下文选项现在支持流包装器)。
- 新的 openssl_get_cert_locations() 函数,用于帮助调试 CA 文件和对等验证。
- 加密的流包装器现在默认情况下会禁用 TLS 压缩。
- 新的 "capture_session_meta" SSL 上下文选项允许加密的客户端和服务器流访问协商的协议/密码信息。
- 新的 "honor_cipher_order" SSL 上下文选项允许服务器在协商 SSL/TLS 握手时优先考虑其选择的密码套件。
- 新的 "single_ecdh_use" 和 "single_dh_use" SSL 上下文选项允许在加密的流服务器中提高前向安全性。
- 新的 "dh_param" SSL 上下文选项允许流服务器在协商 DHE 密码套件时控制参数。
- 新的 "ecdh_curve" SSL 上下文选项允许流服务器指定在协商短暂的 ECDHE 密码时使用的曲线(默认为 NIST P-256)。
- 新的 "rsa_key_size" SSL 上下文选项允许流服务器控制用于 RSA 密钥协商的密钥大小(以位为单位)。
- 加密的客户端和服务器流的加密方法现在使用按位标志来实现对协议支持的精细控制。
- 添加了新的 tlsv1.0 流包装器,以指定 TLSv1 客户端/服务器方法。tls 包装器现在会协商 TLSv1、TLSv1.1 或 TLSv1.2。
- 加密的客户端流现在默认情况下会启用 SNI。
- 加密的流现在默认情况下会优先考虑短暂的密钥协商和高强度密码。
- 新的 OPENSSL_DEFAULT_STREAM_CIPHERS 常量公开了默认密码列表。
- 新的 STREAM_CRYPTO_METHOD_* 常量,用于增强对加密的服务器/客户端会话协商的加密方法的控制。
- 加密的流服务器现在会自动缓解由客户端发起的 TLS 重新协商引发的潜在 DoS 攻击向量。新的 "reneg_limit"、"reneg_window" 和 "reneg_limit_callback" SSL 上下文选项,用于自定义重新协商限制控制。
- 修复了在验证失败时,Windows 证书验证中的内存泄漏。
- 通过 SSL 上下文选项进行的对等证书捕获,现在即使对等验证失败也能正常工作。
- 加密的 TLS 服务器现在通过新的 "SNI_server_certs" SSL 上下文选项支持服务器名称指示 TLS 扩展。
- 修复了 #66833 错误(默认的摘要算法仍然是 MD5,切换到 SHA1)。
- 修复了 #66942 错误(openssl_seal() 中的内存泄漏)。
- 修复了 #66952 错误(openssl_open() 中的内存泄漏)。
- 修复了 #66840 错误(修复在单独构建扩展时发生的构建失败)。
- OPcache
- 对类常量和对某些内部函数的常量调用进行了优化(Laruence,Dmitry)
- 添加了一个优化过程,将 FCALL_BY_NAME 转换为 DO_FCALL。
- 添加了一个优化过程,将 op_array->literals 表中相同的常量(以及相关的 cache_slots)合并。
- 添加了脚本级常量替换优化过程。
- 添加了函数 opcache_is_script_cached()。
- 添加了有关内部字符串使用情况的信息。
- 修复了 #67215 错误(php-cgi 与 opcache 协同工作,可能会发生段错误)(Dmitry,Laruence)
- PCRE
- 修复了 #67238 错误(非贪婪量词和最小/最大量词错误,应用了来自上游的补丁)。
- 升级到 PCRE 8.34。
- 添加了对 (*MARK) 回溯动词的支持。
- pgsql
- 修复了 #67550 错误(代码中的 "form" 应为 "from",pgsql.c,第 756 行),这影响了针对 libpq < 7.3 的构建。
- pg_insert()/pg_select()/pg_update()/pg_delete() 不再是实验性的。
- 实现了 FR #25854(pg_insert 的返回值应为资源而不是布尔值)。
- 实现了 FR #41146(使用扩展的标志 pg_meta_data() 添加 "description"。pg_meta_data(resource $conn, string $table [, bool extended]) 它还使 pg_meta_data() 始终返回 "is enum")。
- 通过新的 pg_socket() 函数公开对底层数据库连接的套接字流的只读访问权限,以允许在建立异步连接和在非阻塞应用程序中执行查询时进行读/写轮询。
- 现在可以使用 PGSQL_CONNECT_ASYNC 标志结合新的 pg_connect_poll() 函数和连接轮询状态常量来实现异步连接。
- 添加了新的 pg_flush() 和 pg_consume_input() 函数,用于手动完成对底层连接套接字的非阻塞读/写操作。
- pg_version() 返回由 PQparameterStatus() 获取的完整报告。
- 添加了 pg_lo_truncate()。
- 为 PostgreSQL 9.3 及更高版本添加了 64 位大对象支持。
- 修复了错误 #67555(无法针对 libpq 7.3 构建)。
- phpdbg
- 修复了错误 #67575(当构建目录 != 源目录时,phpdbg 的编译失败)。
- 修复了错误 #67499(使用 libedit 构建时 readline 功能未启用)。
- 修复了问题 GH-94(列表行为不一致)。
- 修复了问题 GH-97(提示应始终确保它在换行符上)。
- 修复了问题 GH-98(break 似乎不起作用)。
- 修复了问题 GH-99(register 函数与 run 具有相同的行为)。
- 修复了问题 GH-100(无法列出当前堆栈/帧)(帮助条目丢失)。
- 修复了导致 phpdbg 在非调试构建中启动时立即失败的错误。
- 修复了错误 #67212(phpdbg 使用非标准 TIOCGWINSZ)。
- 包含 phpdbg sapi(RFC:https://wiki.php.net/rfc/phpdbg)。
- 添加了监视点(watch 命令)。
- 重命名了一些命令(next => continue 和 how to step)。
- 修复了问题 GH-85(添加了 stdin/stdout/stderr 常量及其 php:// 包装器)。
- PDO
- 修复了错误 #66604('pdo/php_pdo_error.h' 未复制到包含目录中)。
- PDO-ODBC
- 修复了错误 #50444(PDO-ODBC 对 64 位的更改)。
- PDO_pgsql
- 修复了错误 #42614(PDO_pgsql:添加 pg_get_notify 支持)。
- 修复了错误 #63657(pgsqlCopyFromFile、pgsqlCopyToArray 使用 Postgres < 7.3 语法)。
- 通过将要求提高到提供 PQexecParams、PQprepare、PQescapeStringConn、PQescapeByteaConn 的 libpq 版本来清理代码。根据发行说明,这意味着 8.0.8+ 或 8.1.4+。
- 弃用 PDO::PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT,这是一个未记录的常量,实际上等效于 PDO::ATTR_EMULATE_PREPARES。
- 添加了 PDO::PGSQL_ATTR_DISABLE_PREPARES 常量,以便在不准备查询的情况下执行查询,同时仍然使用 PQexecParams 将参数与命令文本分开传递。
- PDO_firebird
- 修复了错误 #66071(错误处理中的内存损坏)(Popa)
- Phar
- 修复了错误 #64498($phar->buildFromDirectory 无法压缩名称中带有重音符的文件)。
- 修复了错误 #67587(nginx 与 FPM 上的重定向循环)。
- readline
- 修复了错误 #55496(交互模式不会在提示符之前强制换行)。
- 修复了错误 #67496(使用 control-c 退出交互式 shell 时保存命令历史记录)。
- Reflection
- 实现了 FR #67713(放松对 ReflectionClass::newInstanceWithoutConstructor() 的限制)。
- Session
- 修复了错误 #67694(session_regenerate_id() 中的回归)。
- 修复了 php_session_create_id 中缺少的类型检查(Yussuf Khalil,Stas)。
- 修复了错误 #66827(当会话名称变量为数组时,会话会引发 E_NOTICE)。
- 修复了错误 #65315(session.hash_function 默默地回退到默认的 md5)(Yasuo)
- 实现了 FR #17860(会话写入短路)。
- 实现了 FR #20421(session_abort() 和 session_reset() 函数)。
- 删除了在第一个 5.6.0 alpha 中引入的 session_gc() 和 session_serializer_name()。
- SimpleXML
- 修复了错误 #66084(simplexml_load_string() 篡改了空节点名称)(Anatol)
- SQLite
- 将捆绑的 libsqlite 更新到版本 3.8.3.1(Anatol)
- 修复了错误 #66967(将捆绑的 libsqlite 更新到 3.8.4.3)。
- SOAP
- 实现了 FR #49898(添加 SoapClient::__getCookies())。
- SPL
- 恢复对 #67064 的修复(BC 问题)。
- 修复了错误 #67539(由于排序期间对象更改导致的 ArrayIterator 使用后释放)。(CVE-2014-4698)
- 修复了错误 #67538(SPL 迭代器使用后释放)。(CVE-2014-4670)
- 修复了错误 #67492(反序列化() SPL ArrayObject / SPLObjectStorage 类型混淆)。(CVE-2014-3515)
- 修复了错误 #67359(RecursiveDirectoryIterator 中的段错误)。
- 修复了错误 #66127(使用 ArrayObject unset 时的段错误)。
- 实现了 FR #67453(允许反序列化空数据)。
- 修复了错误 #66834(empty() 不适用于扩展 ArrayObject 的类)(Tjerk)
- 修复了错误 #66702(RegexIterator::INVERT_MATCH 不会反转)。
- 标准
- 实现了 FR #65634(HTTP 包装器在 protocol_version 1.1 时非常慢)。
- 实现了更改 crypt() 行为而不使用盐的 RFC。(Yasuo)https://wiki.php.net/rfc/crypt_function_salt
- 实现了 FR #49824(更改 array_fill() 以允许创建空数组)。
- Streams
- 修复了错误 #67430(http:// 包装器不遵循 308 重定向)。
- Tokenizer
- 修复了错误 #67395(token_name() 不会为 T_POW 和 T_POW_EQUAL 令牌返回名称)。
- XMLReader
- 修复了错误 #55285(XMLReader::getAttribute/No/Ns 方法不一致)。
- XSL
- 修复了错误 #53965( 无法找到使用“file://”加载的具有相对路径的文件)。
- Zip
- 将 libzip 更新到版本 0.11.2。PHP 不再使用任何 ilibzip 私有符号。
- 新的方法 ZipArchive::setPassword($password)。
- 添加 --with-libzip 选项以使用系统 libzip 构建。
- 新方法:ZipArchive::setExternalAttributesName($name, $opsys, $attr [, $flags]) ZipArchive::setExternalAttributesIndex($idx, $opsys, $attr [, $flags]) ZipArchive::getExternalAttributesName($name, &$opsys, &$attr [, $flags]) ZipArchive::getExternalAttributesIndex($idx, &$opsys, &$attr [, $flags])
- Zlib
- 修复了错误 #67865(内部损坏 phar 错误)。Mike
- 修复了错误 #67724(链式 zlib 过滤器在处理大量数据时会默默地失败)。
版本 5.5.38
- 核心
- 修复了错误 #70480(php_url_parse_ex() 缓冲区溢出读取)。(CVE-2016-6288)
- 修复了 #72513 的错误(virtual_file_ex 中的基于堆栈的缓冲区溢出漏洞)。(CVE-2016-6289)
- 修复了 #72562 的错误(在 unserialize() 中使用意外的会话反序列化时发生使用后释放)。(CVE-2016-6290)
- 修复了 #72573 的错误(某些 PHP 库和应用程序错误地信任 HTTP_PROXY)。(CVE-2016-5385)
- BZip2
- 修复了 #72613 的错误(bzread() 中的错误处理不足)。(CVE-2016-5399)
- EXIF
- 修复了 #72603 的错误(exif_process_IFD_in_MAKERNOTE 中的越界读取)。(CVE-2016-6291)
- 修复了 #72618 的错误(exif_process_user_comment 中的空指针解引用)。(CVE-2016-6292)
- GD
- 修复了 #72512 的错误(gdImageTrueColorToPaletteBody 允许任意写入/读取访问)。
- 修复了 #72519 的错误(imagegif/output 越界访问)。
- 修复了 #72558 的错误(_gdContributionsAlloc() 中的整数溢出错误)。(CVE-2016-6207)
- Intl
- 修复了 #72533 的错误(locale_accept_from_http 越界访问)。(CVE-2016-6294)
- ODBC
- 修复了错误 #69975(访问 nvarchar(max) 定义的列时,PHP 会发生段错误)。(CVE-2015-8879)
- SNMP
- 修复了 #72479 的错误(在 SNMP 中使用 GC 和 unserialize() 时发生使用后释放漏洞)。(CVE-2016-6295)
- Xmlrpc
- 修复了 #72606 的错误(堆缓冲区溢出(写入)simplestring_addn simplestring.c)。(CVE-2016-6296)
- Zip
- 修复了 #72520 的错误(php_stream_zip_opener 中的基于堆栈的缓冲区溢出漏洞)。(CVE-2016-6297)
版本 5.5.37
- 核心
- 修复了 #72268 的错误(nl2br() 中的整数溢出)。
- 修复了 #72275 的错误(json_encode()/json_decode()/ json_utf8_to_utf16() 中的整数溢出)。
- 修复了 #72400 的错误(addcslashes/addslashes 中的整数溢出)。
- 修复了 #72403 的错误(字符串类型 ZVAL 长度的整数溢出)。
- GD
- 修复了错误 #66387(使用 imagefilltoborder 时发生堆栈溢出)。(CVE-2015-8874)
- 修复了 #72298 的错误(pass2_no_dither 越界访问)。
- 修复了 #72339 的错误(_gd2GetHeader() 中的整数溢出导致堆溢出)。(CVE-2016-5766)
- 修复了 #72407 的错误(_gdScaleVert 处发生空指针解引用)。
- 修复了 #72446 的错误(gdImagePaletteToTrueColor() 中的整数溢出导致堆溢出)。(CVE-2016-5767)
- mbstring
- 修复了 #72402 的错误(_php_mb_regex_ereg_replace_exec - 双重释放)。(CVE-2016-5768)
- mcrypt
- 修复了 #72455 的错误(由于整数溢出导致的堆溢出)。(CVE-2016-5769)
- SPL
- 修复了 #72262 的错误(SplFileObject::fread 中的 int/size_t 混乱)。(CVE-2016-5770)
- 修复了 #72433 的错误(PHP GC 算法和 unserialize() 中的使用后释放漏洞)。(CVE-2016-5771)
- WDDX
- 修复了 #72340 的错误(wddx_deserialize 中的双重释放破坏)。(CVE-2016-5772)
- zip
- 修复了 #72434 的错误(ZipArchive 类在 PHP GC 算法和 unserialize() 中发生使用后释放漏洞)。(CVE-2016-5773)
版本 5.5.36
- 核心
- 修复了 #72114 的错误(fread/gzread 中的整数下溢/任意空写入)。(CVE-2016-5096)
- 修复了 #72135 的错误(php_html_entities 中的整数溢出)。(CVE-2016-5094)
- GD
- 修复了 #72227 的错误(imagescale 越界读取)。(CVE-2013-7456)
- Intl
- 修复了 #72241 的错误(get_icu_value_internal 越界读取)。(CVE-2016-5093)
- Phar
- 修复了错误 #71331(phar_make_dirstream() 中的未初始化指针)。(CVE-2016-4343)
版本 5.5.35
- BCMath
- 修复了 #72093 的错误(bcpowmod 接受负数比例并破坏 _one_ 定义)。(CVE-2016-4537,CVE-2016-4538)
- Exif
- 修复了 #72094 的错误(exif 标头处理中堆越界读取)。(CVE-2016-4542,CVE-2016-4543,CVE-2016-4544)
- GD
- 修复了 #71912 的错误(libgd:有符号性漏洞)。(CVE-2016-3074)
- Intl
- 修复了 #72061 的错误(zif_grapheme_stripos 在偏移量为负数时发生越界读取)。(CVE-2016-4540,CVE-2016-4541)
- XML
- 修复了 #72099 的错误(xml_parse_into_struct 段错误)。(CVE-2016-4539)
版本 5.5.34
- Fileinfo
- 修复了 #71527 的错误(在使用格式错误的 magic 文件时,finfo_open 中发生缓冲区溢出)。(CVE-2015-8865)
- Mbstring
- 修复了 #71906 的错误(AddressSanitizer:mbfl_strcut 中的负尺寸参数 (-1))。(CVE-2016-4073)
- ODBC
- 修复了 #71860 的错误(phar 在文件名中包含 \0 时发生无效内存写入)。(CVE-2016-4072)
- SNMP
- 修复了 #71704 的错误(php_snmp_error() 格式字符串漏洞)。(CVE-2016-4071)
- 标准
- 修复了 #71798 的错误(php_raw_url_encode 中的整数溢出)。(CVE-2016-4070)
版本 5.5.33
- Phar
- 修复了 #71498 的错误(phar_parse_zipfile() 中的越界读取)。
- WDDX
- 修复了 #71587 的错误(WDDX 反序列化中的使用后释放/双重释放)。
版本 5.5.32
- 核心
- 修复了错误 #71039(exec 函数忽略长度,但会查找 NULL 终止符)。
- 修复了错误 #71323(stream_get_meta_data 的输出可能会被其输入伪造)。
- 修复了错误 #71459(iptcembed() 中的整数溢出)。
- GD
- 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)
- 修复了错误 #71391(phar_tar_setupmetadata() 中的空指针解引用)。
- 修复了错误 #71488(解压缩 tar 档案时堆栈溢出)。(CVE-2016-2554)
- WDDX
- 修复了错误 #71335(WDDX 数据包反序列化中的类型混淆)。
版本 5.5.31
- FPM
- 修复了错误 #70755(fpm_log.c 内存泄漏和缓冲区溢出)。(CVE-2016-5114)
- GD
- 修复了错误 #70976(通过 gdImageRotateInterpolated 数组索引越界进行内存读取)。(CVE-2016-1903)
- WDDX
- 修复了错误 #70661(WDDX 数据包反序列化中的使用后释放漏洞)。
- 修复了错误 #70741(会话 WDDX 数据包反序列化类型混淆漏洞)。
- XMLRPC
- 修复了错误 #70728(PHP_to_XMLRPC_worker() 中的类型混淆漏洞)。
版本 5.5.30
- Phar
- 修复了错误 #69720(phar_get_fp_offset() 中的空指针解引用)。(CVE-2015-7803)
- 修复了错误 #70433(当 zip 条目文件名是“/”时,phar_make_dirstream 中的未初始化指针)。(CVE-2015-7804)
版本 5.5.29
- 核心
- 修复了错误 #70172(unserialize() 中的使用后释放漏洞)。(CVE-2015-6834)
- 修复了错误 #70219(会话反序列化器中的使用后释放漏洞)。(CVE-2015-6835)
- EXIF
- 修复了错误 #70385(使用 TIFF IFD 标签字节值为 32 字节的 exif_read_data 时,出现缓冲区过读)。
- hash
- 修复了错误 #70312(HAVAL 在特定情况下会生成错误的哈希值)。
- PCRE
- 修复了错误 #70345(与 PCRE 函数相关的多个漏洞)。
- SOAP
- 修复了错误 #70388(SOAP serialize_function_call() 类型混淆 / RCE)。(CVE-2015-6836)
- SPL
- 修复了错误 #70365(使用 SplObjectStorage 时,unserialize() 中出现使用后释放漏洞)。(CVE-2015-6834)
- 修复了错误 #70366(使用 SplDoublyLinkedList 时,unserialize() 中出现使用后释放漏洞)。(CVE-2015-6834)
- XSLT
- 修复了错误 #69782(空指针解引用)。(CVE-2015-6837、CVE-2015-6838)
- ZIP
- 修复了错误 #70350(ZipArchive::extractTo 在创建目录时允许目录遍历)。(CVE-2014-9767)
版本 5.5.28
- 核心
- 修复了错误 #69793(通过递归方法调用远程触发堆栈耗尽)。
- 修复了错误 #69892(由于整数键截断,不同的数组比较为相同)。
- 修复了错误 #70002(TS 与临时目录处理有关的问题)。
- 修复了错误 #70121(unserialize() 可能导致意外方法执行 / 空指针解引用)。
- OpenSSL
- 修复了错误 #70014(openssl_random_pseudo_bytes() 不安全)。(CVE-2015-8867)
- Phar
- 改进了解决错误 #69441 的方法。
- 修复了错误 #70019(从档案中提取的文件可能被放置在目标目录之外)。(CVE-2015-6833)
- SOAP
- 修复了错误 #70081(通过多个类型混淆,SoapClient 信息泄漏 / 空指针解引用)。
- SPL
- 修复了错误 #70068(在反序列化 ArrayObject 项目时出现悬挂指针)。(CVE-2015-6832)
- 修复了错误 #70166(使用 `unserialize()` 与 SPLArrayObject 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 修复了错误 #70168(使用 `unserialize()` 与 SplObjectStorage 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 修复了错误 #70169(使用 `unserialize()` 与 SplDoublyLinkedList 后出现的内存泄露漏洞)。(CVE-2015-6831)
版本 5.5.27
- 核心
- 修复了错误 #69768(`escapeshell*()` 函数没有对 `!` 符号进行处理)。
- 修复了错误 #69703(在 PowerPC 上使用 `__builtin_clzl`)。
- 修复了错误 #69732(使用基本 PHP 代码可能会导致段错误)。
- 修复了错误 #69642(将 Windows 10 报告为 Windows 8)。
- 修复了错误 #69551(`parse_ini_file()` 和 `parse_ini_string()` 函数导致段错误)。
- 修复了错误 #69781(`phpinfo()` 函数将 Windows 7/8/8.1/10 专业版报告为“企业版”)。
- 修复了错误 #69835(`phpinfo()` 函数没有报告许多 Windows SKU)。
- 修复了错误 #69892(由于整数键截断,不同的数组比较为相同)。
- 修复了错误 #69874(无法为 `mail()` 函数设置空的 `additional_headers`),这是对错误 #68776 修复的回归问题。
- GD
- 修复了错误 #61221(`imagegammacorrect` 函数丢失了 alpha 通道)。
- Mysqlnd
- 修复了错误 #69669(mysqlnd 存在 BACKRONYM 漏洞)。(CVE-2015-3152)
- PCRE
- 修复了错误 #53823(`preg_replace`:在 Unicode 替换中使用 `*` 量词会导致字符串乱码)。
- 修复了错误 #69864(`preg_replace_callback` 函数中存在段错误)。
- PDO_pgsql
- 修复了错误 #69752(当 `closeCuror()` 函数为 `u` 时,`PDOStatement::execute()` 函数在使用 DML 语句时存在内存泄露)。
- 修复了错误 #69362(如果密码以单引号开头,则 PDO-pgsql 无法连接)。
- 修复了错误 #69344(PDO PgSQL 在绑定带间隙的数值数组时存在错误)。
- Phar
- 修复了错误 #69958(`Phar::convertToData` 函数在处理无效文件时存在段错误)。(CVE-2015-5589)
- 修复了错误 #69923(`phar_fix_filepath` 函数中存在缓冲区溢出和堆栈粉碎错误)。(CVE-2015-5590)
- SimpleXML
- 重构了对错误 #66084 的修复(`simplexml_load_string()` 函数会破坏空节点名称)。
- SPL
- 修复了错误 #69737(当 `SplMinHeap::compare` 函数产生致命错误时会发生段错误)。
- 修复了错误 #67805(`SplFileObject` 的 `setMaxLineLength` 函数)。
版本 5.5.26
- 核心
- 修复了错误 #69566(条件跳转或移动取决于扩展特性的未初始化值)。
- 修复了错误 #66048(临时目录在多个请求期间被缓存)。
- 修复了错误 #69628(在 Windows 上,复杂的 GLOB_BRACE 匹配失败)。
- 修复了错误 #69646(`escapeshellarg` 函数中存在操作系统命令注入漏洞)。(CVE-2015-4642)
- 修复了错误 #69719(对包含 NUL 字符的路径处理不正确)。(CVE-2015-4598)
- FTP
- 改进了对错误 #69545 的修复(`ftp_genlist()` 函数中存在整数溢出漏洞,导致堆溢出)。(CVE-2015-4643)
- GD
- 修复了错误 #69479(GD 在使用较新的 libvpx 时无法构建)。
- Iconv
- 修复了错误 #48147(使用 `//IGNORE` 的 `iconv` 函数会截断字符串)。
- Litespeed SAPI
- Mail
- 修复了错误 #68776(`mail()` 函数没有对 `additional_headers` 进行邮件头注入防御)。
- MCrypt
- 为 `mcrypt_create_iv()` 函数添加了文件描述符缓存。
- Opcache
- 修复了错误 #69549(当 `opcache.optimization_level=0xFFFFFFFF` 时存在内存泄露)。
- PCRE
- 将 pcrelib 升级到 8.37。(CVE-2015-2325,CVE-2015-2326)
- Phar
- 修复了错误 #69680(二进制目录中的 Phar 符号链接失效)。
- Postgres
- 修复了错误 #69667(`php_pgsql_meta_data` 函数中存在段错误)。(CVE-2015-4644)
- SQLite3
- 将捆绑的 SQLite 升级到 3.8.10.2。(CVE-2015-3414,CVE-2015-3415,CVE-2015-3416)
版本 5.5.25
- 核心
- 修复了错误 #69364(PHP Multipart/form-data 远程拒绝服务漏洞)。(CVE-2015-4024)
- 修复了错误 #69403(`str_repeat()` 函数中存在基于符号不匹配的内存损坏问题)。
- 修复了错误 #69418(CVE-2006-7243 修复在 5.4+ 版本中存在的回归问题)。(CVE-2015-4025)
- 修复了错误 #69522(`unpack()` 函数中存在堆缓冲区溢出问题)。
- 修复了错误 #69467(使用 Trait 时,对接口的检查错误)。
- 修复了错误 #69420(`zend_std_get_method` 函数中存在无效读取)。
- 修复了错误 #60022(“`use` 语句[...]没有效果”取决于前导反斜杠)。
- 修复了错误 #67314(`gc_remove_zval_from_buffer` 函数中存在段错误)。
- 修复了错误 #68652(析构函数中存在段错误)。
- 修复了错误 #69419(返回兼容的子生成器会产生警告)。
- 修复了错误 #69472(`php_sys_readlink` 函数忽略了 `GetFinalPathNameByHandleA` 函数返回的各种错误)。
- FTP
- 修复了错误 #69545(`ftp_genlist()` 函数中存在整数溢出漏洞,导致堆溢出)。(CVE-2015-4022)
- ODBC
- 修复了错误 #69354(在 ODBC 3.0 中,`SQLColAttributes` 函数的使用不正确)。
- 修复了错误 #69474(ODBC:包含两个表中相同字段名称的查询返回错误结果)。
- 修复了错误 #69381(使用 Sage ODBC 驱动程序会导致内存不足)。
- OpenSSL
- 修复了错误 #69402(读取空 SSL 流会一直挂起,直到超时)。
- PCNTL
- 修复了错误 #68598(`pcntl_exec()` 函数不应该允许空字符)。(CVE-2015-4026)
- Phar
- 修复了错误 #69453(当条目文件名以空字符开头时,`phar_parse_tarfile` 函数中存在内存损坏问题)。(CVE-2015-4021)
版本 5.5.24
- Apache2handler
- 修复了错误 #69218(在 Apache 2.4 apache2handler 中,存在潜在的远程代码执行漏洞)。(CVE-2015-3330)
- 核心
- 修复了错误 #66609(在某些情况下,`__get()` 函数与 `++` 运算符一起使用会导致 PHP 崩溃)。
- 修复了错误 #67626(用户异常在流中未得到正确处理)。
- 修复了错误 #68021(`get_browser()` 函数的 `browser_name_regex` 属性返回非 UTF-8 字符)。
- 修复了错误 #68917(`parse_url` 函数对某些部分 URL 失败)。
- 修复了错误 #69134(每个目录的值会覆盖 `PHP_INI_SYSTEM` 配置选项)。
- 进一步修复了错误 #69152(`exception::getTraceAsString` 函数中存在类型混淆漏洞)。
- 修复了错误 #69212(当在 `__call`/... 函数参数传递过程中发生异常时,会泄露 `VIA_HANDLER` 函数)。
- 修复了错误 #69221(当将生成器与迭代器组合使用时,会发生段错误)。
- 修复了错误 #69337(`php_stream_url_wrap_http_ex()` 函数中存在类型混淆漏洞)。
- 修复了错误 #69353(在各种 PHP 扩展中,缺少对路径的空字节检查)。(CVE-2015-3411,CVE-2015-3412)
- cURL
- 实现了 FR #69278(HTTP2 支持)。
- 修复了错误 #68739(缺少 `break` / 控制流)。
- 修复了错误 #69316(与 `CURLOPT_FILE` / `_INFILE` / `_WRITEHEADER` 相关的 `php_curl` 函数中存在使用后释放问题)。
- 日期
- 导出 date_get_immutable_ce,以便扩展可以使用它。
- 修复了错误 #69336(存在“`` 的最后一天”问题)。
- Enchant
- 修复了错误 #65406(Enchant 代理插件在 Windows 构建中的位置错误)。
- Ereg
- Fileinfo
- 修复了错误 #68819(Fileinfo 在处理特定文件时会导致错误的 OOM 和/或段错误)。(CVE-2015-4604,CVE-2015-4605)
- Filter
- 修复了错误 #69202(除非使用其他标志,否则 `FILTER_FLAG_STRIP_BACKTICK` 标志会被忽略)。
- 修复了错误 #69203(`FILTER_FLAG_STRIP_HIGH` 标志没有剥离 ASCII 127)。
- Mbstring
- 修复了错误 #68846(错误检测 CJK 统一表意文字扩展 E)。
- ODBC
- 修复了错误 #69354(在 ODBC 3.0 中,`SQLColAttributes` 函数的使用不正确)。
- OPCache
- 修复了错误 #69281(`opcache_is_script_cached` 函数不再工作)。
- 修复了错误 #68677(使用后释放)。(CVE-2015-1351)
- OpenSSL
- 修复了错误 #67403(向 openssl_x509_parse 添加 signatureType)。
- 添加了一个对 `RAND_egd` 的检查,以允许针对 LibreSSL 编译。
- Phar
- 修复了错误 #64343(`PharData::extractTo` 函数无法解压缩由 BSD tar 创建的 tar 包)。
- 修复了错误 #64931(`phar_add_file` 函数对文件名限制过于严格)。
- 修复了错误 #65467(调用未定义的方法 `cli_arg_typ_string`)。
- 修复了错误 #67761(`Phar::mapPhar` 函数无法处理位于包含“.tar”的路径中的 Phar 文件)。
- 修复了错误 #69324(在解析 Phar 文件时,`unserialize` 函数中存在缓冲区过读问题)。(CVE-2015-2783,CVE-2015-3307)
- 修复了错误 #69441(在 `phar_set_inode` 函数中,解析 tar/zip/phar 文件时存在缓冲区溢出问题)。(CVE-2015-3329)
- Postgres
- 修复了错误 #68741(空指针解除引用)。(CVE-2015-1352)
- SOAP
- 修复了错误 #69152(`unserialize()` 函数与 SoapFault 一起使用时,存在类型混淆信息泄露漏洞)。(CVE-2015-4599)
- 修复了错误 #69293(使用 `SoapClient::__setSoapHeader` 函数时,存在新的段错误问题,回归问题)。
- SPL
- 修复了错误 #69227(由 `spl_object_storage_get_gc` 函数导致的 `zval_scan` 函数中存在使用后释放问题)。
- SQLITE
- 修复了错误 #68760(如果自定义排序器抛出异常,则 SQLite 会发生段错误)。
- 修复了错误 #69287(将捆绑的 sqlite 升级到 3.8.8.3)。
- 修复了错误 #66550(SQLite 预处理语句使用后释放)。
版本 5.5.23
- 核心
- 修复了错误 #69174(当未使用内部类使用特性的优先级时存在泄露)。
- 修复了错误 #69139(`gc_zval_possible_root` 函数在 `unserialize` 时崩溃)。
- 修复了错误 #69121(当脚本所有者不在 passwd 中时,`get_current_user` 函数在 ZTS 构建中出现段错误)。
- 修复了错误 #65593(在从输出缓冲回调函数调用 `ob_start` 函数时发生段错误)。
- 修复了错误 #69017(无法将常量值推送到使用类范围定义的空数组)。
- 修复了错误 #68986(在 `memory.c` 中,`php_stream_fopen_temporary_file` 函数返回的指针没有在内存中进行验证)。
- 修复了错误 #68166(使用无效字符导致异常,进而导致段错误)。
- 修复了错误 #69141(某些内置函数的反射信息中缺少参数)。
- 修复了错误 #68976(`unserialize()` 函数中存在使用后释放漏洞)。(CVE-2015-2787)
- 修复了错误 #69134(每个目录的值会覆盖 `PHP_INI_SYSTEM` 配置选项)。
- 修复了错误 #69207(`move_uploaded_file` 函数允许路径中存在空字符)。(CVE-2015-2348)
- CGI
- 修复了错误 #69015(`php-cgi` 的 `getopt` 函数没有看到 `$argv`)。
- CLI
- 修复了错误 #67741(`auto_prepend_file` 会破坏 `__LINE__`)。
- cURL
- 修复了错误 #69088(`PHP_MINIT_FUNCTION` 函数没有在 Win32 上完全初始化 cURL)。
- 如果 libcurl 支持,则添加 `CURLPROXY_SOCKS4A` 和 `CURLPROXY_SOCKS5_HOSTNAME` 常量。
- Ereg
- 修复了错误 #69248(`regcomp.c` 文件中存在堆溢出漏洞)。(CVE-2015-2305)
- FPM
- JSON
- 修复了错误 #64695(JSON_NUMERIC_CHECK 在字符串是数字加上字母 e 时存在问题)。
- ODBC
- 修复了错误 #68964(`odbc_exec` 函数导致内存耗尽)。
- Opcache
- 修复了错误 #69125(数组的数值字符串作为键)。
- 修复了错误 #69038(`switch(SOMECONSTANT)` 的行为错误)。
- OpenSSL
- pgsql
- 修复了错误 #68638(pg_update() 无法存储无限值)。
- Readline
- 修复了错误 #69054(readline_(read|write)_history() 在没有参数的情况下发生空指针引用)。
- SOAP
- 修复了错误 #69085(SoapClient 的 __call() 通过 unserialize() 发生类型混淆)。(CVE-2015-4147,CVE-2015-4148)
- SPL
- 修复了错误 #69108(在(反)序列化 SplObjectStorage 时发生“段错误”)。
- 修复了错误 #68557(在调用 getChildren() 后,RecursiveDirectoryIterator::seek(0) 出现故障)。
- ZIP
- 修复了错误 #69253(ZIP 整数溢出导致写入超出堆边界)。(CVE-2015-2331)
版本 5.5.22
- 核心
- 修复了错误 #67068(getClosure 返回一些不是闭包的东西)。
- 修复了错误 #68925(针对 CVE-2015-0235 的缓解措施 - GHOST:glibc gethostbyname 缓冲区溢出)。
- 修复了错误 #68942(在 unserialize() 中使用 DateTimeZone 时出现 use after free 漏洞)。(CVE-2015-0273)
- 为 exec、system 和 passthru 添加了 NULL 字节保护。
- 删除了对多行头的支持,因为它们已被 RFC 7230 弃用。
- 日期
- 修复了错误 #45081(strtotime 错误地解释了 SGT 时区)。
- Dba
- Enchant
- 修复了错误 #68552(enchant_broker_request_dict() 中的堆缓冲区溢出)。(CVE-2014-9705)
- Fileinfo
- 修复了错误 #68827(在禁用 ZMM 时发生双重释放)。
- FPM
- 修复了错误 #66479(对 FCGI_GET_VALUES 的响应错误)。
- 修复了错误 #68571(当 webserver 关闭套接字时发生核心转储)。
- Libxml
- 修复了错误 #64938(libxml_disable_entity_loader 设置在不同线程之间共享)。(CVE-2015-8866)
- PDO_mysql
- 修复了错误 #68750(PDOMysql 与 mysqlnd 不允许使用命名管道)。
- Phar
- 修复了错误 #68901(use after free)。(CVE-2015-2301)
- Pgsql
- 修复了错误 #65199(pg_copy_from() 修改输入数组变量)。
- SQLite3
- 修复了错误 #68260(SQLite3Result::fetchArray 声明了错误的 required_num_args)。
- Mysqli
- 修复了错误 #68114(在某些具有固定宽度小数支持的 OS X 机器上发生链接器错误)。
- 修复了错误 #68657(使用 Mysqli 和 libmysqlclient 读取 4 字节浮点数时发生舍入错误)。
- Session
- 修复了错误 #68941(mod_files.sh 是一个 bash 脚本)。
- 修复了错误 #66623(flock 上没有 EINTR 检查)。
- 修复了错误 #68063(空会话 ID 仍然会启动会话)。
- 标准
- 修复了错误 #65272(flock() 输出参数在 Windows 中未被正确设置)。
- 修复了错误 #69033(如果 PHP 作为 FastCGI 运行,请求可能会从之前的请求获取环境变量)。
- Streams
版本 5.5.21
- 核心
- 将 crypt_blowfish 升级到 1.3 版。
- 修复了错误 #60704(unlink() 使用某些文件路径时出现错误)。
- 修复了错误 #65419(在 trait 内部,self::class != __CLASS__)。
- 修复了错误 #65576(来自 trait 的构造函数与继承的构造函数发生冲突)。
- 修复了错误 #55541(错误会生成 MessageBox,这会阻塞测试自动化)。
- 修复了错误 #68297(应用程序弹出窗口提供的的信息太少)。
- 修复了错误 #65769(localeconv() 在 TS 构建中出现故障)。
- 修复了错误 #65230(随机设置区域设置出现故障)。
- 修复了错误 #66764(configure 未能正确定义 EXPANDED_DATADIR / PHP_DATADIR)。
- 修复了错误 #68583(超时线程中发生崩溃)。
- 修复了错误 #68676(显式双重释放)。(CVE-2014-9425)
- 修复了错误 #68710(PHP 的 unserialize() 中存在 Use After Free 漏洞)。(CVE-2015-0231)
- CGI
- 修复了错误 #68618(越界读取导致 php-cgi 崩溃)。(CVE-2014-9427)
- CLI 服务器
- 修复了错误 #68745(无效的 HTTP 请求导致 webserver 发生段错误)。
- cURL
- 修复了错误 #67643(curl_multi_getcontent 在未设置 CURLOPT_RETURNTRANSFER 时返回 '')。
- EXIF
- 修复了错误 #68799(在未初始化的指针上调用了 free)。(CVE-2015-0232)
- Fileinfo
- 修复了错误 #68671(libmagic 中的表达式不正确)。
- 修复了错误 #68735(fileinfo 越界内存访问)。(CVE-2014-9652)
- 从 libmagic 源代码中删除了 readelf.c 和相关代码。
- FPM
- 修复了错误 #68751(listen.allowed_clients 出现故障)。
- GD
- 修复了错误 #68601(gd_gif_in.c 中的缓冲区读取溢出)。(CVE-2014-9709)
- Mbstring
- 修复了错误 #68504(--with-libmbfl 配置选项在 Windows 上不存在)。
- Mcrypt
- 修复了可能的读取超出缓冲区末尾和 use after free 错误。
- Opcache
- 修复了错误 #67111(在两个 foreach 循环中使用 "continue 2" 时发生内存泄漏)。
- OpenSSL
- 修复了错误 #55618(使用不区分大小写的证书名称匹配)。
- Pcntl
- 修复了错误 #60509(在设置 SIG_DFL 时,pcntl_signal 不会减少旧处理程序的引用计数)。
- PCRE
- 修复了错误 #66679(PCRE 8.34 上游中的对齐错误)。
- pgsql
- 修复了错误 #68697(lo_export 在失败时返回 -1)。
- PDO
- 修复了错误 #68371(PDO#getAttribute() 无法使用特定于平台的属性名称调用)。
- PDO_mysql
- 修复了错误 #68424(添加新的 PDO mysql 连接属性以控制多语句选项)。
- SPL
- 修复了错误 #66405(RecursiveDirectoryIterator::CURRENT_AS_PATHNAME 打破了 RecursiveIterator)。
- 修复了错误 #65213(无法将 SplFileInfo 转换为布尔值)。
- 修复了错误 #68479(为 SplFileObject::fputcsv 添加了 escape 参数)。
- SQLite
- 修复了错误 #68120(将捆绑的 libsqlite 更新到 3.8.7.2)。
- Streams
- 修复了错误 #68532(convert.base64-encode 忽略了填充字节)。
版本 5.5.20
- 核心
- 修复了错误 #68091(某些 Zend 头文件缺少适当的 extern "C" 块)。
- 修复了错误 #68185(“不一致的 insteadof 定义” - 错误地触发)。
- 修复了错误 #68370(“unset($this)” 可能导致程序崩溃)。
- 修复了错误 #68545(unserialize.c 中的空指针引用)。
- 修复了错误 #68594(unserialize() 中存在 Use After Free 漏洞)。(CVE-2014-8142)
- 日期
- 修复了 day_of_week 函数,因为它有时会在内部返回负值。
- FPM
- 修复了错误 #68381(fpm_unix_init_main 忽略了 log_level)。
- 修复了错误 #68420(listen=9000 监听 ipv6 本地主机而不是所有地址)。
- 修复了错误 #68421(access.format='%R' 未记录 ipv6 地址)。
- 修复了错误 #68423(PHP-FPM 将不再加载所有池)。
- 修复了错误 #68428(listen.allowed_clients 仅为 IPv4)。
- 修复了错误 #68452(php-fpm 手册页已过时)。
- 修复了错误 #68458(将 pm.start_servers 默认警告更改为通知)。
- 修复了错误 #68463(listen.allowed_clients 可能导致静默拒绝访问)。
- 修复了错误 #68391(php-fpm conf 文件加载顺序)。
- 修复了错误 #68478(access.log 未使用前缀)。
- Mcrypt
- 修复了可能的读取超出缓冲区末尾和 use after free 错误。
- PDO_pgsql
- 修复了 bug #66584 (语句释放时出现段错误)。
- 修复了错误 #67462(PDO_PGSQL::beginTransaction() 在不在事务中时错误地抛出异常)。
- 修复了错误 #68351(PDO::PARAM_BOOL 和 ATTR_EMULATE_PREPARES 行为异常)。
- SOAP
- 修复了错误 #68361(在 SoapClient::__getTypes 上发生段错误)。
- zlib
- 修复了错误 #53829(使用大文件支持编译 PHP 会将 gzopen 函数替换为 gzopen64)。
版本 5.5.19
- 核心
- 修复了错误 #68095(AddressSanitizer 在 php_getopt() 中报告了堆缓冲区溢出)。
- 修复了错误 #68118($a->foo .= 'test'; 可能导致 $a->foo 未定义)。
- 修复了错误 #68129(parse_url() - 对空用户名和密码的支持不完整)。
- 修复了错误 #68365(zend_mm_heap 在 zend_hash_copy 中发生内存溢出后损坏)。
- cURL
- 如果 libcurl 支持,则添加 CURL_SSLVERSION_TLSv1_0、CURL_SSLVERSION_TLSv1_1 和 CURL_SSLVERSION_TLSv1_2 常量。
- Fileinfo
- 修复了错误 #66242(libmagic:不要假设 char 是带符号的)。
- 修复了错误 #68283(fileinfo:elf 注解头中存在越界读取)。(CVE-2014-3710)
- FPM
- 实现了 FR #55508(listen 和 listen.allowed_clients 应该接受 IPv6 地址。
- GD
- 修复了错误 #65171imagescale() 在没有高度参数的情况下失败
- GMP
- 修复了错误 #63595(GMP 内存管理与使用 GMP 的其他库发生冲突)。
- Mysqli
- 修复了错误 #68114(在某些具有固定宽度小数支持的 OS X 机器上发生链接器错误)。
- ODBC
- 修复了错误 #68087(ODBC 在 DATE 列之前是 VARCHAR 列时无法正确读取 DATE 列)
- SPL
- 修复了错误 #68128(RecursiveRegexIterator 中的回归)
版本 5.5.18
- 核心
- 修复了 bug #67985 (在 unset 后,最后一个使用的数组索引被错误地复制到新数组)。
- 修复了错误 #67739(Windows 8.1/Server 2012 R2 的操作系统版本号报告为 6.2(而不是 6.3))。
- 修复了错误 #67633(对从函数返回的数组进行 foreach 循环时未执行写时复制)。
- 修复了错误 #51800(Windows 上的 proc_open 永久挂起)。
- 修复了 bug #68044 (unserialize() 中的整数溢出 (仅限 32 位)。(CVE-2014-3669))
- cURL
- 修复了 bug #68089 (NULL 字节注入 - cURL 库)。
- Exif
- 修复了 bug #68113 (exif_thumbnail() 中的堆损坏。(CVE-2014-3670))
- FPM
- 修复了错误 #65641(PHP-FPM 在使用 Apache、mod_proxy-fcgi 和 ProxyPass 时错误地定义了 SCRIPT_NAME 变量)。
- OpenSSL
- Reflection
- 修复了 bug #68103 (类别别名在 Reflection 中出现重复条目)。
- Session
- 修复了 bug #67972 (SessionHandler 非法内存读取 create_sid())。
- XMLRPC
- 修复了 bug #68027 (mkgmtime() 函数中的全局缓冲区溢出。(CVE-2014-3668))
版本 5.5.17
- 核心
- 修复了错误 #47358(glob 返回错误,应该是空数组)。
- 修复了 bug #65463 (zend_shutdown() 期间出现 SIGSEGV)。
- 修复了 bug #66036 (Apache 进程中出现 SIGTERM 时崩溃)。
- 修复了 bug #67878 (手册中 program_prefix 未被采用)。
- COM
- 修复了错误 #41577(DOTNET 在每次服务器运行时都成功)。
- 日期
- 修复了错误 #66091(DateTime 构造函数中的内存泄漏)。
- 修复了错误 #66985(某些时区在 PHP 5.5.10 中不再有效)。
- 修复了错误 #67109(第一个大写字母会破坏日期字符串解析)。
- FPM
- 修复了错误 #67606(使用 mod_fastcgi/apache2.4 的 FPM 出现故障)。
- GD
- MySQLi
- 修复了 bug #67839 (mysqli 无法正确处理 4 字节浮点数)。
- OpenSSL
- 修复了错误 #41631(在阻塞 SSL 读取中未遵守套接字超时)。
- 修复了 bug #67850 (如果 openssl 编译时没有 SSLv3,则扩展无法构建)。
- SPL
- 修复了错误 #67813(CachingIterator::__construct InvalidArgumentException 错误消息)。
- Zlib
- 修复了错误 #67724(链式 zlib 过滤器在处理大量数据时会默默地失败)。
- 修复了错误 #67865(内部损坏 phar 错误)。
版本 5.5.16
- COM
- 修复了 com_event_sink 中缺少的类型检查。
- 核心
- Fileinfo
- 修复了 bug #67705 (规则正则表达式中的大量回溯。(CVE-2014-3538))
- 修复了错误 #67716(cdf.c 中的段错误)。(CVE-2014-3587)。
- FPM
- 修复了 #67635 错误(php 链接到 systemd 库,但未使用 pkg-config)。
- GD
- 修复了 #66901 错误(php-gd 'c_color' NULL 指针解除引用)。(CVE-2014-2497)
- 修复了错误 #67730(使用 imagexxx 函数可能存在空字节注入)。(CVE-2014-5120)。
- Milter
- 修复了 #67715 错误(php-milter 无法构建,并随机崩溃)。
- 网络
- 修复了错误 #67717(dns_get_record 中的段错误)。(CVE-2014-3597)。
- OpenSSL
- readline
- 修复了错误 #55496(交互模式不会在提示符之前强制换行)。
- 修复了错误 #67496(使用 control-c 退出交互式 shell 时保存命令历史记录)。
- 会话
- 修复了 php_session_create_id 中缺少的类型检查。
- ODBC
- 修复了错误 #60616(odbc_fetch_into 在多字节字符字段末尾返回垃圾数据)。
版本 5.5.15
- CLI 服务器
- 修复了错误 #67429(CLI 服务器缺少一些新的 HTTP 响应代码)。
- 修复了 bug #66830 (空标题会导致 PHP 内置 Web 服务器挂起)。
- 核心
- 修复了 bug #67428 (header('Location: foo') 将覆盖 308-399 响应代码)。
- 修复了 bug #67436 (如果两个方法定义不匹配,则不会调用自动加载器)。
- 修复了 bug #67091 (make install 无法在 FreeBSD 10.0 上安装 libphp5.so)。
- 修复了错误 #67497 eval 带有解析错误会导致生成器中的段错误。
- 修复了 bug #67151 (带有空数组的 strtr 崩溃)。
- 修复了 bug #67407 (Windows 8.1/Server 2012 R2 被报告为 Windows 8/Server 2012)。
- FPM
- 修复了 #67530 错误(error_log=syslog 被忽略)。
- 修复了错误 #67531(无法在池配置中设置 syslog)。
- Intl
- 修复了 #66921 错误(函数 intltz_from_date_time_zone 的错误参数类型提示)。
- 修复了 #67052 错误(NumberFormatter::parse() 会重置 LC_NUMERIC 设置)。
- OPCache
- 修复了错误 #67215(php-cgi 与 opcache 一起工作,可能会发生段错误)。
- pgsql
- 修复了错误 #67550(代码中的错误“form”而不是“from”,pgsql.c,第 756 行),这会影响针对 libpq < 7.3 的构建)。
- Phar
- 修复了错误 #67587(nginx 与 FPM 上的重定向循环)。
- SPL
- 修复了错误 #67539(由于排序期间对象更改导致的 ArrayIterator 使用后释放)。(CVE-2014-4698)
- 修复了错误 #67538(SPL 迭代器使用后释放)(CVE-2014-4670)。
- Streams
- 修复了错误 #67430(http:// 包装器不遵循 308 重定向)。
版本 5.5.14
- CLI 服务器
- 修复了 bug #67406 (内置 Web 服务器在启动时出现段错误)。
- 核心
- 修复了 bug #66622 (在某些情况下,闭包无法正确捕获后期绑定类 (static::))。
- 修复了错误 #67390(配置脚本中不安全的临时文件使用)。(CVE-2014-3981)。
- 修复了 bug #67399 (putenv 带有空变量可能导致崩溃)。
- 修复了 bug #67498 (phpinfo() 类型混淆信息泄漏漏洞。(CVE-2014-4721))
- 修复了针对错误 #67072 的补丁引入的 BC 中断。
- 日期
- 修复了 bug #67308 (DateTime 的序列化截断了秒的几分之一)。
- 修复了错误 #67118 修复中的回归(无法两次调用构造函数)。
- Fileinfo
- 修复了错误 #67326(cdf_read_short_sector 边界检查不足)。(CVE-2014-0207)。
- 修复了错误 #67410(mconvert 对截断的 Pascal 字符串大小的处理不正确)。(CVE-2014-3478)。
- 修复了错误 #67411 (cdf_check_stream_offset 边界检查不足)。(CVE-2014-3479)。
- 修复了错误 #67412 (cdf_count_chain 边界检查不足)。(CVE-2014-3480)。
- 修复了错误 #67413 (cdf_read_property_info 边界检查不足)。(CVE-2014-3487)。
- Intl
- 修复了 #67349 错误(Locale::parseLocale 双重释放)。
- 修复了 #67397 错误(locale_get_display_name 和 uloc_getDisplayName 中的缓冲区溢出(libicu 4.8.1))。
- 网络
- 修复了错误 #67432 (修复 dns_get_record() 中潜在的段错误)。(CVE-2014-4049)).
- OPCache
- 修复了问题 GH-183 (TMP_VAR 不仅使用一次)。
- OpenSSL
- 修复了 #65698 错误(证书有效性解析在 2050 年之后不起作用)。
- 修复了 #66636 错误(openssl_x509_parse 在使用 V_ASN1_GENERALIZEDTIME 时发出警告)。
- PDO-ODBC
- 修复了错误 #50444(PDO-ODBC 对 64 位的更改)。
- SOAP
- 实现了 FR #49898(添加 SoapClient::__getCookies())。
- SPL
- 修复了错误 #66127(使用 ArrayObject unset 时的段错误)。
- 修复了错误 #67359(RecursiveDirectoryIterator 中的段错误)。
- 修复了错误 #67360 (ArrayObject::getIterator 后缺少元素)。
- 修复了错误 #67492 (unserialize() SPL ArrayObject / SPLObjectStorage 类型混淆)。(CVE-2014-3515)。
版本 5.5.13
- CLI 服务器
- 修复了 bug #67079 (缺少 XML/XSL 文件的 MIME 类型)。
- COM
- 修复了 bug #66431 (通过 COM 接口 (CP_UTF8) 传递特殊字符)。
- 核心
- 修复了 bug #65701 (当目标文件名由 tempnam() 创建时,copy() 不起作用)。
- 修复了 bug #67072 (回显反序列化的“SplFileObject”崩溃)。
- 修复了错误 #67245 (zend_exceptions.c 中 memcpy() 与重叠的 src 和 dst 的使用)。
- 修复了 bug #67247 (spl_fixedarray_resize 整数溢出)。
- 修复了 bug #67249 (printf 越界读取)。
- 修复了 bug #67250 (iptcparse 越界读取)。
- cURL
- 修复了 bug #64247 (CURLOPT_INFILE 不允许重置)。
- 日期
- 修复了 bug #67118 (DateTime 构造函数在使用无效数据时崩溃)。
- 修复了 bug #67251 (date_parse_from_format 越界读取)。
- 修复了 bug #67253 (timelib_meridian_with_check 越界读取)。
- DOM
- 修复了 bug #67081 (DOMDocumentType->internalSubset 返回整个 DOCTYPE 标签,而不是仅返回子集)。
- Fileinfo
- 修复了 #66307 错误(Fileinfo 在处理 powerpoint 文件时崩溃)。
- 修复了错误 #67327 (CDF 在 nelements DoS 中无限循环) (CVE-2014-0238)。
- 修复了错误 #67328 (大量的 file_printf 调用导致性能下降) (CVE-2014-0237)。
- FPM
- 修复了 #66908 错误(php-fpm 重新加载会泄漏 epoll_create() 文件描述符)。
- GD
- 修复了 #67248 错误(imageaffinematrixget 缺少对参数的检查)。
- PCRE
- 修复了错误 #67248 非贪婪和最小/最大量词错误,应用了来自上游的补丁。
- Phar
- 修复了错误 #64498($phar->buildFromDirectory 无法压缩名称中带有重音符的文件)。
版本 5.5.12
- 核心
- 修复了 bug #61019 (在命令流 stream_get_contents 上出现内存不足)。
- 修复了 bug #64330 (stream_socket_server() 创建错误的抽象命名空间 UNIX 套接字)。
- 修复了 bug #66182 (流过滤器中的 exit 导致段错误)。
- 修复了 bug #66736 (fpassthru 损坏)。
- 修复了错误 #67024 (getimagesize 应该识别具有负高度的 BMP 文件)。
- 修复了错误 #67043 (substr_compare 被之前的更改破坏了)。
- cURL
- 修复了 bug #66562 (curl_exec 返回的结果与 curl_multi_getcontent 不同)。
- 日期
- 修复了 bug #66721 (__wakeup of DateTime 在提供无效对象数据时出现段错误)。
- 嵌入
- 修复了错误 #65715 (php5embed.lib 不再提供)。
- Fileinfo
- 修复了 #66987 错误(fileinfo ext / bigendian 中的内存损坏)。
- FPM
- 修复了 #66482 错误(php-fpm.conf 中的未知条目 'priority')。
- 修复了错误 #67060 (由于不安全的默认配置,可能存在提权)。(CVE-2014-0185)).
- Json
- 修复了 #66021 错误(在设置 JSON_PRETTY_PRINT 时,空数组/对象内部有空行)。
- LDAP
- mysqli
- 修复了 mysqli_commit()/mysqli_rollback() 中第二个参数(额外逗号)和第三个参数(缺少转义)的问题。
- Openssl
- 修复了 #66942 错误(openssl_seal() 中的内存泄漏)。
- 修复了 #66952 错误(openssl_open() 中的内存泄漏)。
- SimpleXML
- 修复了错误 #66084 (simplexml_load_string() 弄乱了空节点名称)。
- SQLite
- 修复了错误 #66967 (将捆绑的 libsqlite 更新到 3.8.4.3)
- XSL
- 修复了错误 #53965 (<xsl:include> 当使用 "file://" 加载时无法找到具有相对路径的文件)
- Apache2 处理程序 SAPI
- 修复了由 APR 不支持 %zu(APR 问题 https://issues.apache.org/bugzilla/show_bug.cgi?id=56120)引起的 Apache 日志问题。
版本 5.5.11
- 核心
- 修复了错误 #60602 (proc_open() 更改环境数组)。
- 允许在 substr_compare() 中进行零长度比较。
- cURL
- 修复了错误 #66109 (无法将 CURLOPT_CUSTOMREQUEST 重置为默认行为)。
- 修复了在 7.10.5 到 7.12.2 (含) 之间的 libcurl 版本上的编译。
- Fileinfo
- 修复了 #66946 错误(fileinfo:awk 规则正则表达式中的大量回溯)。(CVE-2013-7345)
- FPM
- 添加了 clear_env 配置指令,用于禁用 clearenv() 调用。
- GD
- 修复了错误 #66714 (imageconvolution 损坏)。
- 修复了 #66869 错误(无效的第二个参数会导致 imageaffinematrixget 崩溃)。
- 修复了 #66887 错误(imagescale - 缩放后的图像质量差)。
- 修复了 #66890 错误(imagescale 导致段错误)。
- 修复了 #66893 错误(imagescale 忽略方法参数)。
- GMP
- 修复了错误 #66872 (无效参数导致 gmp_testbit 崩溃)。
- 哈希
- hash_pbkdf2() 现在在未指定 $length 参数时能够正常工作。
- Intl
- 修复了错误 #66873 在给出无效编码时,UConverter 中出现可重现的崩溃。
- Mail
- 修复了错误 #66535 (不要在 X-PHP-Originating-Script 后添加换行符)。
- MySQLi
- 修复了错误 #66762 (mysqli_stmt::bind_result() 在链接关闭时出现段错误)。
- OPCache
- 添加了函数 opcache_is_script_cached()。
- 添加了有关内部字符串使用情况的信息。
- Openssl
- 修复了 #66833 错误(默认的摘要算法仍然是 MD5,切换到 SHA1)。
- SQLite
- 将捆绑的 libsqlite 更新到 3.8.3.1。
- SPL
- 添加了功能 #65545 (SplFileObject::fread())。
版本 5.5.10
- 核心
- 修复了错误 #66574 (允许在 php_ini_scanned_path 中使用多个路径)。
- 日期
- 修复了错误 #45528 (允许 DateTimeZone 构造函数也接受按偏移量表示的时区)。
- 修复了错误 #44780 (一些时区偏移量不被 timezone_name_from_abbr 识别)
- 修复了错误 #45543 (DateTime::setTimezone 无法设置没有 ID 的时区)
- Fileinfo
- 修复了错误 #66731 (文件:无限递归 (CVE-2014-1943))。
- 修复了错误 #66820 (fileinfo 中的越界内存访问 (CVE-2014-2270))。
- GD
- 修复了错误 #66815 (imagecrop():对 NULL 延迟的修复不足 (CVE-2013-7327))。
- JSON
- 修复了错误 #65753 (JsonSerializeable 无法在模块扩展上实现)。
- LDAP
- 实现了 ldap_modify_batch (https://wiki.php.net/rfc/ldap_modify_batch)。
- Openssl
- 修复了 #66501 错误(在 php_openssl_is_private_key 中添加 EC 密钥支持)。
- PCRE
- Pgsql
- 为危险的客户端编码添加了警告,并删除了 pg_insert()/pg_update()/pg_delete()/pg_select() 中可能的注入。
版本 5.5.9
- 核心
- 修复了 bug #66509 (从 5.4 开始,copy() 的 arginfo 已更改)。
- GD
- 修复了错误 #66356 (imagecrop() 中的堆溢出漏洞,CVE-2013-7226)。
- OPCache
- 修复了错误 #66474 (常量字符串到布尔值的转换中的优化器错误)。
- 修复了错误 #66461 (如果 opcache.interned_strings_buffer=0,PHP 会崩溃)。
- 修复了错误 #66298 (ext/opcache/Optimizer/zend_optimizer.c 使用 dos 样式 ^M 作为行尾)。
- PDO_pgsql
- 修复了错误 #62479 (如果密码包含空格,PDO-pgsql 无法连接)。
- Readline
- 修复了错误 #66412 (readline_clear_history() 在 libedit 中使用会导致 #65714 之后出现段错误)。
- Session
- 修复了错误 #66469 (当 session.use_strict_mode=1 时,会话模块会发送多个 set-cookie 头)。
- 修复了错误 #66481 (在 session_name() 上出现段错误)。
- 标准
- 修复了错误 #66395 (basename 函数不会删除驱动器字母)。
- Sockets
- 修复了错误 #66381 (__ss_family 在 AIX 5.3 上发生了改变)。
- Zend Engine
- 修复了错误 #66009 (使用 VS 2012 的 C++ 标准库编译 PHP 扩展失败)。
版本 5.5.8
- 核心
- 不允许跳转到 finally 块。
- 添加了在自动加载过程中对类名的验证。
- 修复了 zend_strtod.c 中的无效 C 代码。
- 修复了错误 #66041 (list() 无法解包生成的 ArrayAccess 对象)。
- 修复了错误 #65764 (生成器/throw_rethrow 在 ZEND_COMPILE_EXTENDED_INFO 下失败)。
- 修复了错误 #61645 (fopen 和 O_NONBLOCK)。
- 修复了错误 #66218 (zend_register_functions 打破了反射)。
- 日期
- 修复了错误 #66060 (DateInterval 中的堆缓冲区过度读取,CVE-2013-6712)。
- 修复了错误 #65768 (DateTimeImmutable::diff 不起作用)。
- DOM
- 修复了错误 #65196 (将 DOMDocumentFragment 传递给 DOMDocument::saveHTML() 会产生无效的标记)。
- Exif
- 修复了错误 #65873 (exif_read_data() 中的整数溢出)。
- Filter
- 修复了错误 #66229 (128.0.0.0/16 不再保留)。
- GD
- 修复了错误 #64405 (使用 freetype-config 来确定 freetype2 目录)。
- PDO_odbc
- 修复了错误 #66311 (堆栈粉碎保护会终止 PDO/ODBC 查询)。
- MySQLi
- 修复了错误 #65486 (mysqli_poll() 在 win x64 上已损坏)。
- OPCache
- 修复了 revalidate_path=1 的行为以避免缓存符号链接的值。
- 修复了问题 GH-140 ("opcache.enable_file_override" 不尊重 "opcache.revalidate_freq")。
- SNMP
- 修复了针对批量遍历操作的 SNMP_ERR_TOOBIG 处理。
- SOAP
- 修复了错误 #66112 (SOAP 扩展中的使用后释放条件)。
- Sockets
- 修复了错误 #65923 (ext/socket 假设 AI_V4MAPPED 已定义)。
- XSL
- 修复了错误 #49634 (在 XSL 注册函数中抛出异常时出现段错误)。
- ZIP
- 修复了错误 #66321 (ZipArchive::open() ze_obj->filename_len 不是真实的)。
版本 5.5.7
- 核心
- 修复了错误 #66094 (unregister_tick_function 尝试将 Closure 转换为字符串)。
- 修复了错误 #65969 (带有 T_LIST 的链式赋值失败)。
- CLI 服务器
- 在 CLI Web 服务器中添加了一些 MIME 类型。
- 实现了 FR #65917 (getallheaders() 不被内置 Web 服务器支持) - 也实现了 apache_response_headers()
- OPCache
- 修复了错误 #66176 (无效的常量替换)。
- 修复了错误 #65915 (require 返回值的结果不一致)。
- 修复了错误 #65559 (Opcache:如果在运行时发生更改,缓存不会被清除)。
- readline
- 修复了错误 #65714 (PHP cli 将 tty 强制为 cooked 模式)。
- Openssl
- 修复了 openssl_x509_parse() 中的内存损坏 (CVE-2013-6420)。
版本 5.5.6
- 核心
- 通过消除无用的复制操作,提高了 array_merge() 和 func_get_args() 的性能。
- 修复了错误 #65947 (在特定情况下,basename 在 fgetcsv 之后不再工作)。
- 修复了错误 #65939 (";" 之前的空格会破坏 php.ini 解析)。
- 修复了错误 #65911 (作用域解析运算符 - $this 的奇怪行为)。
- 修复了错误 #65936 (悬挂的上下文指针会导致崩溃)。
- FPM
- 将默认的 listen() 积压更改为 65535。
- JSON
- 修复了错误 #64874 (json_decode 错误地处理了空格)。
- MySQLi
- 修复了错误 #66043 (调用 mysqli 的 bind_param() 时出现段错误)。
- OPCache
- 将 opcache.max_accelerated_files 的限制增加到 1,000,000。
- 修复了问题 GH-115 (使用 phar 时的路径问题)。
- 修复了问题 GH-149 (Phar 挂载点在启用 OPcache 时不起作用)。
- ODBC
- 修复了错误 #65950 (如果字段名称大于 32 个字符,则会截断字段名称)。
- PDO
- 修复了错误 #66033 (当 PDO 语句的构造函数抛出异常时出现段错误)。
- 修复了错误 #65946 (sql_parser 永久地将绑定到字符串的值转换为字符串)。
- 标准
- 修复了错误 #64760 (var_export() 不会对浮点数使用完整的精度)。
版本 5.5.5
- 核心
- 修复了错误 #64979 (闭包生成器中静态变量的错误行为)。
- 修复了错误 #65322 (编译时错误不会触发自动加载)。
- 修复了错误 #65821 (对字符串偏移量的属性访问进行按引用遍历会导致段错误)。
- CLI 服务器
- 修复了错误 #65633 (内置服务器将一些 HTTP 头视为区分大小写)。
- 修复了错误 #65818 (使用内置 Web 服务器和分块传输编码时出现段错误)。
- 将 application/pdf 添加到 PHP CLI Web 服务器的 mime 类型中
- Datetime
- 修复了错误 #64157 (DateTime::createFromFormat() 报告令人困惑的错误消息)。
- 修复了错误 #65502 (DateTimeImmutable::createFromFormat 返回 DateTime)。
- 修复了错误 #65548 (DateTimeImmutable 的比较不起作用)。
- DBA
- 修复了错误 #65708 (dba 函数将 $key 参数就地转换为字符串,绕过了写时复制)。
- Filter
- 将 RFC 6598 IP 添加到保留地址中。
- 修复了错误 #64441 (FILTER_VALIDATE_URL 拒绝完全限定域名)。
- FTP
- 修复了错误 #65667 (ftp_nb_continue 产生段错误)。
- GD
- IMAP
- 修复了错误 #65721 (在启用 imap 时,配置脚本在 5.5.4 和 5.4.20 中被破坏)。
- OPCache
- 修复了错误 #65845 (当 Zend Opcache 优化器完全启用时出现错误)。
- 修复了错误 #65665 (当启用 opcache 时,异常没有被正确捕获)。
- 修复了错误 #65510 (5.5.2 在 _get_zval_ptr_ptr_var 中崩溃)。
- 修复了问题 GH-135 (如果初始内存过低,则在内联字符串中出现段错误)。
- 添加了函数 opcache_compile_file(),以便在不执行的情况下将 PHP 脚本加载到缓存中。
- 添加了对 GNU Hurd 的支持。
- Sockets
- 修复了错误 #65808 (socket_connect() 无法使用 IPv6 地址)。
- SPL
- 修复了错误 #64782 (SplFileObject 构造函数使 $context 可选/为其提供默认值)。
- 标准
- 修复了错误 #61548 对于 201 Location,content-type 必须出现在 HTTP 头的末尾才能在 HTTP 中工作。
- XMLReader
- 修复了错误 #51936 使用 clone XMLReader 崩溃。
- 修复了错误 #64230 XMLReader 不会抑制错误。
- 构建系统
- 修复了错误 #51076 shtool 的 mkdir -p 实现中的竞争条件。
- 修复了错误 #62396 从 5.3.14 开始,“make test” 崩溃(缺少 gzencode())。
版本 5.5.4
- 核心
- 修复了错误 #60598 (cli/apache sapi 在对象操作时出现段错误)。
- 改进了 fputcsv() 以允许指定转义字符。
- 修复了错误 #65483 (引号可打印编码流过滤器错误地编码了空格)。
- 修复了错误 #65470 (在 zend_error() 中出现段错误,并使用 --enable-dtrace)。
- 修复了错误 #65490(对 DTRACE_FUNCTION_* 的 lineno 和 filename 的重复调用)。
- 修复了错误 #65225(PHP_BINARY 设置不正确)。
- 修复了错误 #62692(PHP 无法与 DTrace 构建)。
- 修复了错误 #61759(class_alias() 应该接受以反斜杠开头的类)。
- 修复了错误 #46311(指针别名问题导致 gcc4.4 上编译错误)。
- cURL
- Datetime
- 修复了错误 #65554(当星期几名称后面跟着一些分隔符时,createFromFormat 出现故障)。
- 修复了错误 #65564(AddressSanitizer 捕获的 DateTimeZone 内容中的堆栈缓冲区溢出)。
- OPCache
- 修复了错误 #65561(Solaris 11 x86 上的 Zend Opcache 需要 ZEND_MM_ALIGNMENT=4)。
- Openssl
- 修复了错误 #64802(openssl_x509_parse 在某些情况下无法正确解析主题)。
- Session
- 标准
- 修复了密码 API 辅助函数的返回类型问题。通过 cjones 的静态分析发现。
版本 5.5.3
- Openssl
- 修复了 CVE-2013-4248 修复中的 UMR。
版本 5.5.2
- 核心
- 修复了错误 #65372(当返回引用失败时,gc_zval_possible_root 中的段错误)。
- 修复了 FILTER_SANITIZE_FULL_SPECIAL_CHARS 常量的值(之前错误地设置为 FILTER_SANITIZE_SPECIAL_CHARS 值)。
- 修复了错误 #65304(在 array_sum 中使用最大整数)。
- 修复了错误 #65291(get_defined_constants() 导致 PHP 在非常有限的情况下崩溃)。
- 修复了错误 #62691(solaris sed 没有 -i 开关)。
- 修复了错误 #61345(CGI 模式 - make install 不起作用)。
- 修复了错误 #61268(--enable-dtrace 导致 make 覆盖 Zend/zend_dtrace.d)。
- DOM
- 为 DOMDocument::schemaValidate() 和 DOMDocument::schemaValidateSource() 添加了 flags 选项。添加了 LIBXML_SCHEMA_CREATE 标志。
- OPcache
- 添加了 opcache.restrict_api 配置指令,该指令可能将 OPcahce API 函数的使用限制为特定的脚本。
- 在黑名单条目中添加了对 glob 符号的支持(?,*,**)。
- 修复了错误 #65338(启用 php_opcache 和 php_wincache 在关闭时出现 AV)。
- Openssl
- 修复了对 subjectAltName 中空字节的处理(CVE-2013-4248)。
- PDO_mysql
- Phar
- 修复了错误 #65028(Phar::buildFromDirectory 为某些特定内容创建损坏的存档)。
- Pgsql
- 修复了错误 #62978(禁止使用 pg_select()/pg_update() /pg_delete()/pg_insert() 的可能的 SQL 注入)。
- 修复了错误 #65336(pg_escape_literal/identifier() 静默返回 false)。
- 会话
- 实现了严格会话 RFC(https://wiki.php.net/rfc/strict_sessions),该 RFC 可防止会话固定攻击和会话冲突(CVE-2011-4718)。
- 修复了 Windows 下可能的缓冲区溢出。注意:这不是安全修复。
- 将 session.auto_start 更改为 PHP_INI_PERDIR。
- SOAP
- 修复了错误 #65018(SoapServer 存在 SoapHeader 问题)。
- SPL
- 修复了错误 #65328(获取 SplStack 对象值时出现段错误)。
- 添加了 RecursiveTreeIterator setPostfix 和 getPostifx 方法。
- 修复了错误 #61697(spl_autoload_functions 错误地返回 lambda 函数)。
- Streams
- 修复了错误 #65268(select() 实现使用过时的 tick API)。
版本 5.5.1
- 核心
- 修复了错误 #65254(在具有命名空间的自动加载中抛出异常时,无法捕获异常)。
- 修复了错误 #65088(在 OpenBSD 上生成的配置脚本格式错误)。
- 修复了错误 #65108(is_callable() 触发致命错误)。
- 修复了错误 #65035(yield/exit 段错误)。
- 修复了错误 #65161(生成器 + 自动加载 + 语法错误 = 段错误)。
- 修复了错误 #65226(chroot() 未启用)。
- hex2bin() 对无效的十六进制字符串引发 E_WARNING。
- OPcache
- 修复了错误 #64827(zval_mark_grey (zend_gc.c) 中的段错误)。
- OPcache 现在与 LiteSpeed SAPI 兼容。
- CGI
- CLI 服务器
- 修复了错误 #65066(使用 422 http 状态代码响应时,Cli 服务器无响应)。
- DateTime
- 修复了错误 #65184(strftime() 在多字节语言环境下返回的字符串长度不足)。
- GD
- 修复了错误 #65070(bgcolor 未使用与 imagerotate 输入图像相同的格式)。
- 修复了错误 #65060(imagecreatefrom... 使用用户流时崩溃)。
- 修复了错误 #65084(imagecreatefromjpeg 使用 URL 失败)。
- 修复 gdImageCreateFromWebpCtx 并使用与其他格式相同的逻辑加载 WebP 图像。
- Intl
- 添加 IntlCalendar::setMinimalDaysInFirstWeek()/intlcal_set_minimal_days_in_first_week()。
- 修复了 IntlCalendar::FIELD_FIELD_COUNT 常量名称中的尾随空格。
- 修复了错误 #62759(边缘情况下 grapheme_substr() 有错误)。
- 修复了错误 #61860(grapheme_stri* 函数的偏移量可能不正确)。
- OCI8
- 将 PECL 包信息版本检查提升到允许使用 PHP 5.5+ 安装 PECL。
- PDO
- 允许 PDO_OCI 使用 Oracle Database 12c 客户端库进行编译。
- Pgsql
- pg_unescape_bytea() 对无效输入引发 E_WARNING。
- Phar
- Session
- 在 session_set_save_handler()、SessionHandler 和新的 SessionIdInterface 中添加了可选的 create_sid() 参数。
- Sockets
- #63472使用 socket_set_option 设置 SO_BINDTODEVICE。
- 允许为 socket_bind()、socket_connect() 和 socket_sendmsg() 函数在抽象命名空间中指定路径。
- 修复了错误 #65260sendmsg() 的 SCM_RIGHTS 辅助数据构造有误。
- SPL
- 修复了错误 #65136RecursiveDirectoryIterator 段错误。
- 修复了错误 #61828在调用 Directory(Recursive)Iterator/Spl(Temp)FileObject 构造函数两次时出现内存泄漏。
- CGI/FastCGI SAPI
- 添加了 PHP_FCGI_BACKLOG,覆盖默认的监听积压。
版本 5.4.45
- 核心
- 修复了错误 #70172(unserialize() 中的使用后释放漏洞)。(CVE-2015-6834)
- 修复了错误 #70219(会话反序列化器中的使用后释放漏洞)。(CVE-2015-6835)
- EXIF
- 修复了错误 #70385(使用 TIFF IFD 标签字节值为 32 字节的 exif_read_data 时,出现缓冲区过读)。
- hash
- 修复了错误 #70312(HAVAL 在特定情况下会生成错误的哈希值)。
- PCRE
- 修复了错误 #70345(与 PCRE 函数相关的多个漏洞)。
- SOAP
- 修复了错误 #70388(SOAP serialize_function_call() 类型混淆 / RCE)。(CVE-2015-6836)
- SPL
- 修复了错误 #70365(使用 SplObjectStorage 时,unserialize() 中出现使用后释放漏洞)。(CVE-2015-6834)
- 修复了错误 #70366(使用 SplDoublyLinkedList 时,unserialize() 中出现使用后释放漏洞)。(CVE-2015-6834)
- XSLT
- 修复了错误 #69782(空指针解引用)。(CVE-2015-6837、CVE-2015-6838)
- ZIP
- 修复了错误 #70350(ZipArchive::extractTo 在创建目录时允许目录遍历)。(CVE-2014-9767)
版本 5.4.44
- 核心
- 修复了错误 #69793(通过递归方法调用远程触发堆栈耗尽)。
- 修复了错误 #69892(由于整数键截断,不同的数组比较为相同)。
- 修复了错误 #70121(unserialize() 可能导致意外方法执行 / 空指针解引用)。
- OpenSSL
- 修复了错误 #70014(openssl_random_pseudo_bytes() 不安全)。(CVE-2015-8867)
- Phar
- 改进了解决错误 #69441 的方法。
- 修复了错误 #70019(从档案中提取的文件可能被放置在目标目录之外)。(CVE-2015-6833)
- SOAP
- 修复了错误 #70081(通过多个类型混淆,SoapClient 信息泄漏 / 空指针解引用)。
- SPL
- 修复了错误 #70068(在反序列化 ArrayObject 项目时出现悬挂指针)。(CVE-2015-6832)
- 修复了错误 #70166(使用 `unserialize()` 与 SPLArrayObject 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 修复了错误 #70168(使用 `unserialize()` 与 SplObjectStorage 后出现的内存泄露漏洞)。(CVE-2015-6831)
- 修复了错误 #70169(使用 `unserialize()` 与 SplDoublyLinkedList 后出现的内存泄露漏洞)。(CVE-2015-6831)
版本 5.4.43
- 核心
- 修复了错误 #69768(`escapeshell*()` 函数没有对 `!` 符号进行处理)。
- 修复了错误 #69874(无法为 `mail()` 函数设置空的 `additional_headers`),这是对错误 #68776 修复的回归问题。
- Mysqlnd
- 修复了错误 #69669(mysqlnd 存在 BACKRONYM 漏洞)。(CVE-2015-3152)
- Phar
- 修复了错误 #69958(`Phar::convertToData` 函数在处理无效文件时存在段错误)。(CVE-2015-5589)
- 修复了错误 #69923(`phar_fix_filepath` 函数中存在缓冲区溢出和堆栈粉碎错误)。(CVE-2015-5590)
版本 5.4.42
- 核心
- 改进了对错误 #69545 的修复(`ftp_genlist()` 函数中存在整数溢出漏洞,导致堆溢出)。(CVE-2015-4643)
- 修复了错误 #69646(`escapeshellarg` 函数中存在操作系统命令注入漏洞)。(CVE-2015-4642)
- 修复了错误 #69719(对包含 NUL 字符的路径处理不正确)。(CVE-2015-4598)
- Litespeed SAPI
- Mail
- 修复了错误 #68776(`mail()` 函数没有对 `additional_headers` 进行邮件头注入防御)。
- Postgres
- 修复了错误 #69667(`php_pgsql_meta_data` 函数中存在段错误)。(CVE-2015-4644)
- SQLite3
- 将捆绑的 SQLite 升级到 3.8.10.2。(CVE-2015-3414,CVE-2015-3415,CVE-2015-3416)
版本 5.4.41
- 核心
- 修复了错误 #69364(PHP Multipart/form-data 远程拒绝服务漏洞)。(CVE-2015-4024)
- 修复了错误 #69403(`str_repeat()` 函数中存在基于符号不匹配的内存损坏问题)。
- 修复了错误 #69418(CVE-2006-7243 修复在 5.4+ 版本中存在的回归问题)。(CVE-2015-4025)
- 修复了错误 #69522(`unpack()` 函数中存在堆缓冲区溢出问题)。
- FTP
- 修复了错误 #69545(`ftp_genlist()` 函数中存在整数溢出漏洞,导致堆溢出)。(CVE-2015-4022)
- PCNTL
- 修复了错误 #68598(`pcntl_exec()` 函数不应该允许空字符)。(CVE-2015-4026)
- PCRE
- 将 pcrelib 升级到 8.37。(CVE-2015-2325,CVE-2015-2326)
- Phar
- 修复了错误 #69453(当条目文件名以空字符开头时,`phar_parse_tarfile` 函数中存在内存损坏问题)。(CVE-2015-4021)
版本 5.4.40
- Apache2handler
- 修复了错误 #69218(在 Apache 2.4 apache2handler 中,存在潜在的远程代码执行漏洞)。(CVE-2015-3330)
- 核心
- 进一步修复了错误 #69152(`exception::getTraceAsString` 函数中存在类型混淆漏洞)。
- 修复了错误 #69337(`php_stream_url_wrap_http_ex()` 函数中存在类型混淆漏洞)。
- 修复了错误 #69353(在各种 PHP 扩展中,缺少对路径的空字节检查)。(CVE-2015-3411,CVE-2015-3412)
- cURL
- 修复了错误 #69316(与 `CURLOPT_FILE` / `_INFILE` / `_WRITEHEADER` 相关的 `php_curl` 函数中存在使用后释放问题)。
- Ereg
- Fileinfo
- 修复了错误 #68819(Fileinfo 在处理特定文件时会导致错误的 OOM 和/或段错误)。(CVE-2015-4604,CVE-2015-4605)
- GD
- 修复了错误 #68601(gd_gif_in.c 中的缓冲区读取溢出)。(CVE-2014-9709)
- Phar
- 修复了错误 #68901(use after free)。(CVE-2015-2301)
- 修复了错误 #69324(在解析 Phar 文件时,`unserialize` 函数中存在缓冲区过读问题)。(CVE-2015-2783,CVE-2015-3307)
- 修复了错误 #69441(在 `phar_set_inode` 函数中,解析 tar/zip/phar 文件时存在缓冲区溢出问题)。(CVE-2015-3329)
- Postgres
- 修复了 #68741 错误(空指针解引用)。(CVE-2015-1352)
- SOAP
- 修复了错误 #69152(`unserialize()` 函数与 SoapFault 一起使用时,存在类型混淆信息泄露漏洞)。(CVE-2015-4599)
- 修复了错误 #69293(使用 `SoapClient::__setSoapHeader` 函数时,存在新的段错误问题,回归问题)。
- SQLite3
- 修复了错误 #66550(SQLite 预处理语句使用后释放)。
版本 5.4.39
- 核心
- 修复了错误 #68976(`unserialize()` 函数中存在使用后释放漏洞)。(CVE-2015-2787)
- 修复了错误 #69134(每个目录的值会覆盖 `PHP_INI_SYSTEM` 配置选项)。
- 修复了错误 #69207(`move_uploaded_file` 函数允许路径中存在空字符)。(CVE-2015-2348)
- Ereg
- 修复了错误 #69248(`regcomp.c` 文件中存在堆溢出漏洞)。(CVE-2015-2305)
- SOAP
- 修复了错误 #69085(SoapClient 的 __call() 通过 unserialize() 发生类型混淆)。(CVE-2015-4147,CVE-2015-4148)
- ZIP
- 修复了错误 #69253(ZIP 整数溢出导致写入超出堆边界)。(CVE-2015-2331)
版本 5.4.38
- 核心
- 删除了对多行头的支持,因为它们已被 RFC 7230 弃用。
- 为 exec、system 和 passthru 添加了 NULL 字节保护。
- 修复了错误 #68925(针对 CVE-2015-0235 的缓解措施 - GHOST:glibc gethostbyname 缓冲区溢出)。
- 修复了 #67827 错误(对系统 crypt sha256/sha512 支持的检测出现故障)。
- 修复了错误 #68942(在 unserialize() 中使用 DateTimeZone 时出现 use after free 漏洞)。(CVE-2015-0273)
- Enchant
- 修复了错误 #68552(enchant_broker_request_dict() 中的堆缓冲区溢出)。(CVE-2014-9705)
- SOAP
- 修复了 #67427 错误(SoapServer 无法处理大型消息)。
版本 5.4.37
- 核心
- 修复了错误 #68710(PHP 的 unserialize() 中存在 Use After Free 漏洞)。(CVE-2015-0231)
- CGI
- 修复了错误 #68618(越界读取导致 php-cgi 崩溃)。(CVE-2014-9427)
- EXIF
- 修复了错误 #68799(在未初始化的指针上调用了 free)。(CVE-2015-0232)
- Fileinfo
- 从 libmagic 源代码中删除了 readelf.c 和相关代码。
- 修复了错误 #68735(fileinfo 越界内存访问)。(CVE-2014-9652)
- OpenSSL
- 修复了错误 #55618(使用不区分大小写的证书名称匹配)。
版本 5.4.36
- 核心
- 将 crypt_blowfish 升级到 1.3 版。
- 修复了错误 #68545(unserialize.c 中的空指针引用)。
- 修复了错误 #68594(unserialize() 中存在 Use After Free 漏洞)。(CVE-2014-8142)
- Mcrypt
- 修复了可能的读取超出缓冲区末尾和 use after free 错误。
版本 5.4.35
- 核心
- 修复了错误 #68365(zend_mm_heap 在 zend_hash_copy 中发生内存溢出后损坏)。
- Fileinfo
- 修复了错误 #68283(fileinfo:elf 注解头中存在越界读取)。(CVE-2014-3710)
- GMP
- 修复了错误 #63595(GMP 内存管理与使用 GMP 的其他库发生冲突)。
- PDO_pgsql
版本 5.4.34
- Fileinfo
- 修复了错误 #66242(libmagic:不要假设 char 是带符号的)。
- 核心
- 修复了 bug #67985 (在 unset 后,最后一个使用的数组索引被错误地复制到新数组)。
- 修复了 bug #68044 (unserialize() 中的整数溢出 (仅限 32 位)。(CVE-2014-3669))
- cURL
- 修复了 bug #68089 (NULL 字节注入 - cURL 库)。
- EXIF
- 修复了 bug #68113 (exif_thumbnail() 中的堆损坏。(CVE-2014-3670))
- OpenSSL
- XMLRPC
- 修复了 bug #68027 (mkgmtime() 函数中的全局缓冲区溢出。(CVE-2014-3668))
版本 5.4.33
- 核心
- 修复了错误 #47358(glob 返回错误,应该是空数组)。
- 修复了 bug #65463 (zend_shutdown() 期间出现 SIGSEGV)。
- 修复了 bug #66036 (Apache 进程中出现 SIGTERM 时崩溃)。
- OpenSSL
- 修复了错误 #41631(在阻塞 SSL 读取中未遵守套接字超时)。
- 日期
- 修复了错误 #66091(DateTime 构造函数中的内存泄漏)。
- FPM
- 修复了错误 #67606(使用 mod_fastcgi/apache2.4 的 FPM 出现故障)。
- GD
- Wddx
- 修复了 #67873 错误(php_wddx_serialize_var 中出现段错误)。
- Zlib
- 修复了错误 #67724(链式 zlib 过滤器在处理大量数据时会默默地失败)。
- 修复了错误 #67865(内部损坏 phar 错误)。
版本 5.4.32
- 核心
- 修复了 #67717 错误(dns_get_record 中出现段错误)(CVE-2014-3597)。
- 修复了 #67693 错误(向空数组中错误地进行推送)。
- COM
- 修复了 com_event_sink 中缺少的类型检查。
- Fileinfo
- 修复了 bug #67705 (规则正则表达式中的大量回溯。(CVE-2014-3538))
- 修复了 #67716 错误(cdf.c 中出现段错误)(CVE-2014-3587)。
- GD
- 修复了 #66901 错误(php-gd 'c_color' NULL 指针解除引用)。(CVE-2014-2497)
- 修复了 #67730 错误(使用 imagexxx 函数可能会发生空字节注入)(CVE-2014-5120)。
- Milter
- 修复了 #67715 错误(php-milter 无法构建,并随机崩溃)。
- OpenSSL
- 修复了 OpenSSL 选项中缺少的类型检查(Yussuf Khalil,Stas)。
- Readline
- 修复了错误 #55496(交互模式不会在提示符之前强制换行)。
- 修复了错误 #67496(使用 control-c 退出交互式 shell 时保存命令历史记录)。
- 会话
- 修复了 php_session_create_id 中缺少的类型检查。
- SPL
- 修复了 #67539 错误(由于排序过程中对象更改导致 ArrayIterator 出现使用后释放)(CVE-2014-4698)。
- 修复了错误 #67538(SPL 迭代器使用后释放)(CVE-2014-4670)。
- ODBC
- 修复了错误 #60616(odbc_fetch_into 在多字节字符字段末尾返回垃圾数据)。
版本 5.4.31
- 核心
- 修复了 bug #67428 (header('Location: foo') 将覆盖 308-399 响应代码)。
- 修复了 bug #67436 (如果两个方法定义不匹配,则不会调用自动加载器)。
- 修复了 bug #67091 (make install 无法在 FreeBSD 10.0 上安装 libphp5.so)。
- 修复了 bug #67151 (带有空数组的 strtr 崩溃)。
- 修复了 bug #67407 (Windows 8.1/Server 2012 R2 被报告为 Windows 8/Server 2012)。
- CLI 服务器
- 实现了 FR #67429 (CLI 服务器缺少一些新的 HTTP 响应代码)。
- 修复了 bug #66830 (空标题会导致 PHP 内置 Web 服务器挂起)。
- FPM
- 修复了 #67530 错误(error_log=syslog 被忽略)。
- 修复了 #67531 错误(无法在池配置中设置 syslog)。
- Intl
- 修复了 #67052 错误(NumberFormatter::parse() 会重置 LC_NUMERIC 设置)。
- pgsql
- 修复了 #67550 错误(代码中的 "form" 应为 "from",pgsql.c,第 756 行),这影响了针对 libpq < 7.3 的构建。
- Phar
- 修复了错误 #67587(nginx 与 FPM 上的重定向循环)。
- Streams
- 修复了错误 #67430(http:// 包装器不遵循 308 重定向)。
版本 5.4.30
- 核心
- 修复了针对错误 #67072 的补丁引入的 BC 中断。
- 修复了 bug #66622 (在某些情况下,闭包无法正确捕获后期绑定类 (static::))。
- 修复了 #67390 错误(配置脚本中不安全地使用临时文件)(CVE-2014-3981)。
- 修复了 bug #67399 (putenv 带有空变量可能导致崩溃)。
- 修复了 bug #67498 (phpinfo() 类型混淆信息泄漏漏洞。(CVE-2014-4721))
- CLI 服务器
- 修复了 bug #67406 (内置 Web 服务器在启动时出现段错误)。
- 日期
- 修复了 bug #67308 (DateTime 的序列化截断了秒的几分之一)。
- 修复了错误 #67118 修复中的回归(无法两次调用构造函数)。
- Fileinfo
- 修复了 #67326 错误(fileinfo:cdf_read_short_sector 边界检查不足)(CVE-2014-0207)。
- 修复了 #67410 错误(fileinfo:mconvert 对截断的 Pascal 字符串大小处理不当)(CVE-2014-3478)。
- 修复了 #67411 错误(fileinfo:cdf_check_stream_offset 边界检查不足)(CVE-2014-3479)。
- 修复了 #67412 错误(fileinfo:cdf_count_chain 边界检查不足)(CVE-2014-3480)。
- 修复了 #67413 错误(fileinfo:cdf_read_property_info 边界检查不足)(CVE-2014-3487)。
- Intl
- 修复了 #67349 错误(Locale::parseLocale 双重释放)。
- 修复了 #67397 错误(locale_get_display_name 和 uloc_getDisplayName 中的缓冲区溢出(libicu 4.8.1))。
- 网络
- 修复了 #67432 错误(修复 dns_get_record() 中潜在的段错误)(CVE-2014-4049)。
- OpenSSL
- 修复了 #65698 错误(证书有效性解析在 2050 年之后不起作用)。
- 修复了 #66636 错误(openssl_x509_parse 在使用 V_ASN1_GENERALIZEDTIME 时发出警告)。
- SOAP
- 实现了 FR #49898(添加 SoapClient::__getCookies())。
- SPL
- 修复了错误 #66127(使用 ArrayObject unset 时的段错误)。
- 修复了错误 #67359(RecursiveDirectoryIterator 中的段错误)。
- 修复了错误 #67360 (ArrayObject::getIterator 后缺少元素)。
- 修复了 #67492 错误(反序列化() SPL ArrayObject / SPLObjectStorage 类型混淆)(CVE-2014-3515)。
版本 5.4.29
- COM
- 修复了 bug #66431 (通过 COM 接口 (CP_UTF8) 传递特殊字符)。
- 核心
- 修复了 bug #65701 (当目标文件名由 tempnam() 创建时,copy() 不起作用)。
- 修复了 bug #67072 (回显反序列化的“SplFileObject”崩溃)。
- 修复了错误 #67245 (zend_exceptions.c 中 memcpy() 与重叠的 src 和 dst 的使用)。
- 修复了 bug #67247 (spl_fixedarray_resize 整数溢出)。
- 修复了 bug #67249 (printf 越界读取)。
- 修复了 bug #67250 (iptcparse 越界读取)。
- 修复了 #67252 错误(convert_uudecode 越界读取)。(Stas)
- Fileinfo
- 修复了 #66307 错误(Fileinfo 在处理 powerpoint 文件时崩溃)。
- 修复了 bug #67327 (fileinfo: CDF 在 nelements 中出现无限循环,导致拒绝服务。(CVE-2014-0238))
- 修复了 bug #67328 (fileinfo: fileinfo: 许多 file_printf 调用导致性能下降。(CVE-2014-0237))
- 日期
- 修复了 bug #67118 (DateTime 构造函数在使用无效数据时崩溃)。
- 修复了 bug #67251 (date_parse_from_format 越界读取)。
- 修复了 bug #67253 (timelib_meridian_with_check 越界读取)。
- DOM
- 修复了 bug #67081 (DOMDocumentType->internalSubset 返回整个 DOCTYPE 标签,而不是仅返回子集)。
- FPM
- 修复了 #66908 错误(php-fpm 重新加载会泄漏 epoll_create() 文件描述符)。
- Phar
- 修复了错误 #64498($phar->buildFromDirectory 无法压缩名称中带有重音符的文件)。
版本 5.4.28
- 核心
- 修复了 bug #61019 (在命令流 stream_get_contents 上出现内存不足)。
- 修复了 bug #64330 (stream_socket_server() 创建错误的抽象命名空间 UNIX 套接字)。
- 修复了 #66171 错误(符号链接和会话处理程序允许绕过 open_basedir)。
- 修复了 bug #66182 (流过滤器中的 exit 导致段错误)。
- 修复了 bug #66736 (fpassthru 损坏)。
- 修复了 bug #67024 (getimagesize 应该识别高度为负值的 BMP 文件)。
- cURL
- 修复了 bug #66562 (curl_exec 返回的结果与 curl_multi_getcontent 不同)。
- 日期
- 修复了 bug #66721 (__wakeup of DateTime 在提供无效对象数据时出现段错误)。
- 嵌入
- 修复了错误 #65715 (php5embed.lib 不再提供)。
- Fileinfo
- 修复了 #66987 错误(fileinfo ext / bigendian 中的内存损坏)。
- FPM
- 修复了 #66482 错误(php-fpm.conf 中的未知条目 'priority')。
- 修复了 #67060 错误(sapi/fpm:由于不安全的默认配置,可能存在权限提升)(CVE-2014-0185)。
- JSON
- 修复了 #66021 错误(在设置 JSON_PRETTY_PRINT 时,空数组/对象内部有空行)。
- LDAP
- OpenSSL
- 修复了 #66942 错误(openssl_seal() 中的内存泄漏)。
- 修复了 #66952 错误(openssl_open() 中的内存泄漏)。
- SimpleXML
- 修复了错误 #66084(simplexml_load_string() 篡改了空节点名称)(Anatol)
- XSL
- 修复了错误 #53965( 无法找到使用“file://”加载的具有相对路径的文件)。
- Apache2 处理程序 SAPI
- 修复了由于 APR 不支持 %zu 导致的 Apache 日志问题(APR 问题 56120)。
版本 5.4.27
- 核心
- 修复了 #60602 错误(proc_open() 更改了环境数组)。
- Fileinfo
- 修复了 #66946 错误(fileinfo:awk 规则正则表达式中的大量回溯)。(CVE-2013-7345)
- FPM
- 添加了 clear_env 配置指令,用于禁用 clearenv() 调用。
- GMP
- 修复了 #66872 错误(无效参数导致 gmp_testbit 崩溃)。
- Mail
- 修复了 #66535 错误(不要在 X-PHP-Originating-Script 后添加换行符)。
- MySQLi
- 修复了 #66762 错误(当链接关闭时,mysqli_stmt::bind_result() 出现段错误)。
- Openssl
- 修复了 #66833 错误(默认的 digest 算法仍然是 MD5,改为 SHA1)。
版本 5.4.26
- 日期
- 修复了错误 #44780 (一些时区偏移量不被 timezone_name_from_abbr 识别)
- 修复了错误 #45543 (DateTime::setTimezone 无法设置没有 ID 的时区)
- JSON
- 修复了 #65753 错误(JsonSerializeable 无法在模块扩展上实现)。
- Fileinfo
- 修复了 #66731 错误(文件:无限递归)(CVE-2014-1943)。
- 修复了 #66820 错误(fileinfo 中出现越界内存访问)(CVE-2014-2270)。
- LDAP
- 实现了 ldap_modify_batch (https://wiki.php.net/rfc/ldap_modify_batch)。
- Openssl
- 修复了 #66501 错误(在 php_openssl_is_private_key 中添加 EC 密钥支持)。
- Pgsql
- 为危险的客户端编码添加了警告,并删除了 pg_insert()/pg_update()/pg_delete()/pg_select() 中可能的注入。
版本 5.4.25
- 核心
- 修复了 #66286 错误(使用继承进行对象比较时不正确)。
- 修复了 bug #66509 (从 5.4 开始,copy() 的 arginfo 已更改)。
- mysqlnd
- 修复了 #66283 错误(在 memory_limit 后出现段错误)。
- PDO_pgsql
- 修复了 #62479 错误(如果密码包含空格,PDO-psql 无法连接)。
- Session
- 修复了 #66481 错误(当 session.name 为空时,调用 session_name() 会出现段错误)。
版本 5.4.24
- 核心
- 添加了在自动加载过程中对类名的验证。
- 修复了 zend_strtod.c 中的无效 C 代码。
- 修复了错误 #61645 (fopen 和 O_NONBLOCK)。
- 日期
- 修复了错误 #66060 (DateInterval 中的堆缓冲区过度读取,CVE-2013-6712)。
- 修复了 #63391 错误(1600 年之前的星期几不正确或不一致)。
- 修复了 #61599 错误(星期几错误)。
- DOM
- 修复了错误 #65196 (将 DOMDocumentFragment 传递给 DOMDocument::saveHTML() 会产生无效的标记)。
- Exif
- 修复了错误 #65873 (exif_read_data() 中的整数溢出)。
- Filter
- 修复了错误 #66229 (128.0.0.0/16 不再保留)。
- GD
- 修复了错误 #64405 (使用 freetype-config 来确定 freetype2 目录)。
- PDO_odbc
- 修复了错误 #66311 (堆栈粉碎保护会终止 PDO/ODBC 查询)。
- SNMP
- 修复了针对批量遍历操作的 SNMP_ERR_TOOBIG 处理。
- XSL
- 修复了错误 #49634 (在 XSL 注册函数中抛出异常时出现段错误)。
- ZIP
- 修复了错误 #66321 (ZipArchive::open() ze_obj->filename_len 不是真实的)。
版本 5.4.23
- 核心
- 修复了错误 #66094 (unregister_tick_function 尝试将 Closure 转换为字符串)。
- 修复了错误 #65947 (在特定情况下,basename 在 fgetcsv 之后不再工作)。
- JSON
- 修复了 #64874 错误(“json_decode 对空白和大小写敏感性处理不当”)的空白部分。
- MySQLi
- 修复了错误 #66043 (调用 mysqli 的 bind_param() 时出现段错误)。
- mysqlnd
- 修复了 #66124 错误(在使用 'i' 绑定参数时,mysqlnd 下的 mysqli 会丢失精度)。
- 修复了 #66141 错误(在查询失败后,mysqlnd 的引用函数在 NO_BACKSLASH_ESCAPES 下不正确)。
- OpenSSL
- 修复了 openssl_x509_parse() 中的内存损坏(CVE-2013-6420)。(Stefan Esser)
- PDO
- 修复了错误 #65946 (sql_parser 永久地将绑定到字符串的值转换为字符串)。
版本 5.4.22
- 核心
- 修复了错误 #65911 (作用域解析运算符 - $this 的奇怪行为)。
- CLI 服务器
- 修复了错误 #65818 (使用内置 Web 服务器和分块传输编码时出现段错误)。
- Exif
- FTP
- 修复了错误 #65667 (ftp_nb_continue 产生段错误)。
- ODBC
- 修复了错误 #65950 (如果字段名称大于 32 个字符,则会截断字段名称)。
- Sockets
- 修复了错误 #65808 (socket_connect() 无法使用 IPv6 地址)。
- 标准
- 修复了错误 #64760 (var_export() 不会对浮点数使用完整的精度)。
- XMLReader
- 修复了 #51936 错误(使用克隆的 XMLReader 崩溃)。
- 修复了 #64230 错误(XMLReader 不会抑制错误)。
版本 5.4.21
- 核心
- CLI 服务器
- 修复了错误 #65633 (内置服务器将一些 HTTP 头视为区分大小写)。
- Datetime
- 修复了错误 #64157 (DateTime::createFromFormat() 报告令人困惑的错误消息)。
- DBA 扩展
- 修复了错误 #65708 (dba 函数将 $key 参数就地转换为字符串,绕过了写时复制)。
- Filter
- 将 RFC 6598 IP 添加到保留地址中。
- 修复了错误 #64441 (FILTER_VALIDATE_URL 拒绝完全限定域名)。
- IMAP
- 修复了错误 #65721 (在启用 imap 时,配置脚本在 5.5.4 和 5.4.20 中被破坏)。
- 标准
- 修复了 #61548 错误(content-type 必须出现在 http 中 201 Location 的标头末尾才能生效)。
- 构建系统
- 修复了 #62396 错误(从 5.3.14 开始,'make test' 崩溃(缺少 gzencode())。
版本 5.4.20
- 核心
- 修复了错误 #60598 (cli/apache sapi 在对象操作时出现段错误)。
- 修复了 #65579 错误(使用 traits 和 get_class_methods 会导致段错误)。
- 修复了错误 #65490(对 DTRACE_FUNCTION_* 的 lineno 和 filename 的重复调用)。
- 修复了错误 #65483 (引号可打印编码流过滤器错误地编码了空格)。
- 修复了 #65481 错误(由于序列化导致关闭时出现段错误)。
- 修复了错误 #65470 (在 zend_error() 中出现段错误,并使用 --enable-dtrace)。
- 修复了错误 #65372(当返回引用失败时,gc_zval_possible_root 中的段错误)。
- 修复了错误 #65304(在 array_sum 中使用最大整数)。
- 修复了错误 #65291(get_defined_constants() 导致 PHP 在非常有限的情况下崩溃)。
- 修复了错误 #65225(PHP_BINARY 设置不正确)。
- 改进了针对 #63186 错误的修复(在 NetBSD 上编译失败)。
- 修复了错误 #62692(PHP 无法与 DTrace 构建)。
- 修复了错误 #61759(class_alias() 应该接受以反斜杠开头的类)。
- 修复了错误 #61345(CGI 模式 - make install 不起作用)。
- 从 PHP 5.5 分支中挑选了一些 DTrace 构建提交(允许在 Linux 上构建,错误 #62691 和错误 #63706)。
- 修复了 #61268 错误(--enable-dtrace 导致 make 覆盖 Zend/zend_dtrace.d)。
- cURL
- Datetime
- 修复了 #65554 错误(当星期几名称后跟随一些分隔符时,createFromFormat 出现故障)。
- 修复了 #65564 错误(DateTimeZone 相关内容中出现的堆栈缓冲区溢出,由 AddressSanitizer 捕获)。
- Openssl
- 修复了错误 #64802(openssl_x509_parse 在某些情况下无法正确解析主题)。
- Session
- 修复了 #62129 错误(rfc1867 即使被关闭也会导致 PHP 崩溃)。
- 修复了 #50308 错误(对于空锚标记,会话 ID 未正确追加)。
- 修复了 Windows 下可能的缓冲区溢出。注意:这不是安全修复。
- 将 session.auto_start 更改为 PHP_INI_PERDIR。
- SOAP
- 修复了错误 #65018(SoapServer 存在 SoapHeader 问题)。
- SPL
- 修复了错误 #65328(获取 SplStack 对象值时出现段错误)。
- PDO
- 修复了 #64953 错误(Postgres 预处理语句的位置参数转换)。
- Phar
- 修复了错误 #65028(Phar::buildFromDirectory 为某些特定内容创建损坏的存档)。
- Pgsql
- 修复了错误 #65336(pg_escape_literal/identifier() 静默返回 false)。
- 修复了错误 #62978(禁止使用 pg_select()/pg_update() /pg_delete()/pg_insert() 的可能的 SQL 注入)。
- Zlib
- 修复了 #65391 错误(当调用 ob_start('ob_gzhandler') 时,无法发送 user-agent 的 vary 标头)。
版本 5.4.19
- 核心
- 修复了 #64503 错误(编译失败,出现错误:'zendparse' 的类型冲突)。
- Openssl
- 修复了 CVE-2013-4248 修复中的 UMR。
版本 5.4.18
- 核心
- 修复了 FILTER_SANITIZE_FULL_SPECIAL_CHARS 常量的值(之前错误地设置为 FILTER_SANITIZE_SPECIAL_CHARS 值)。
- 修复了错误 #65254(在具有命名空间的自动加载中抛出异常时,无法捕获异常)。
- 修复了错误 #65108(is_callable() 触发致命错误)。
- 修复了错误 #65088(在 OpenBSD 上生成的配置脚本格式错误)。
- 修复了 #62964 错误(“已注册的流过滤器”信息中可能存在 XSS)。
- 修复了 #62672 错误(序列化 ArrayObject 时出现错误)。
- 修复了 #62475 错误(当给出空值作为参数时,variant_* 函数会导致崩溃)。
- 修复了 #60732 错误(php_error_docref 链接到无效页面)。
- 修复了错误 #65226(chroot() 未启用)。
- CGI
- CLI 服务器
- 修复了错误 #65066(使用 422 http 状态代码响应时,Cli 服务器无响应)。
- CURL
- 修复了 #62665 错误(curl.cainfo 未出现在 php.ini 中)。
- FPM
- 修复了 #63983 错误(在 FreeBSD 上启用 FPM 会导致编译出现故障)。
- FTP
- 修复了 #65228 错误(使用 SSL 时,FTPs 出现内存泄漏)。
- GMP
- 修复了 #65227 错误(gmp_cmp 第二个参数中出现内存泄漏)。
- Imap
- 修复了 #64467 错误(imap_reopen 失败后出现段错误)。
- Intl
- 修复了错误 #62759(边缘情况下 grapheme_substr() 有错误)。
- 修复了错误 #61860(grapheme_stri* 函数的偏移量可能不正确)。
- mysqlnd
- 修复了在执行长时间准备时,mysqlnd 中出现的段错误。
- ODBC
- 修复了 #61387 错误(NULL 值的匿名列导致 odbc_fetch_array 中出现段错误)。
- Openssl
- 修复了对 subjectAltName 中空字节的处理(CVE-2013-4248)。
- PDO
- 允许 PDO_OCI 使用 Oracle Database 12c 客户端库进行编译。
- PDO_dblib
- 修复了 #65219 错误(PDO/dblib 不再工作(“使用 dbName” 未发送)。
- PDO_pgsql
- Phar
- Session
- 修复了 #62535 错误($_SESSION[$key]["cancel_upload"] 不按文档说明工作)。
- 修复了 #35703 错误(当 session_name("123") 仅由数字组成时,应该发出警告)。
- 修复了 #49175 错误(mod_files.sh 不支持哈希位)。
- Sockets
- 实现了 FR #63472 (使用 socket_set_option 设置 SO_BINDTODEVICE)。
- SPL
- 修复了 #65136 错误(RecursiveDirectoryIterator 出现段错误)。
- 修复了 #61828 错误(调用 Directory(Recursive)Iterator /Spl(Temp)FileObject 构造函数两次时出现内存泄漏)。
- 修复了 #60560 错误(SplFixedArray 反序列化、getSize()、count() 返回 0,键为字符串)。
- XML
- 修复了 #65236 错误(xml 解析器中出现堆损坏)。(CVE-2013-4113)
版本 5.4.17
- 核心
- 修复了 #64988 错误(类加载顺序会影响 E_STRICT 警告)。
- 修复了 #64966 错误(zend_do_fcall_common_helper_SPEC 中出现段错误)。
- 修复了 #64960 错误(gc_zval_possible_root 中出现段错误)。
- 修复了 #64936 错误(从之前的扫描运行中获取了文档注释)。
- 修复了 #64934 错误(使用 get_browser() 时,Apache2 TS 崩溃)。
- 修复了 #64166 错误(quoted-printable-encode 流过滤器错误地丢弃了空白)。
- DateTime
- 修复了 #53437 错误(使用反序列化的 DatePeriod 实例时崩溃)。
- FPM
- 修复了 #64915 错误(当 daemonize=0 时,error_log 被忽略)。
- 实现了 FR #64764 (添加对 FPM init.d 脚本的支持)。
- PDO
- 修复了 #63176 错误(实例化两个持久化的 PDO 到同一个数据库服务器时出现段错误)。
- PDO_DBlib
- 修复了 #63638 错误(使用 PDO dblib 无法连接到 SQL Server 2008)。
- 修复了 #64338 错误(pdo_dblib 无法连接到 Azure SQL)。
- 修复了 #64808 错误(FreeTDS PDO getColumnMeta 在准备好的但未执行的语句上崩溃)。
- PDO_firebird
- 修复了 #64037 错误(Firebird 为数值字段返回错误的值)。
- 修复了 #62024 错误(使用参数化查询无法插入第二行空值)。
- PDO_mysql
- 修复了 #48724 错误(getColumnMeta() 不会为 BIT、TINYINT 和 YEAR 返回 native_type)。
- PDO_pgsql
- 修复了 #64949 错误(_pdo_pgsql_error 中出现缓冲区溢出)。
- pgsql
- 修复了 #64609 错误(pg_convert 枚举类型支持)。
- Readline
- 实现了 FR #55694 (公开额外的 readline 变量以防止默认文件名完成)。
- SPL
- 修复了 #64997 错误(在 64 位系统上使用 RecursiveIteratorIterator 时出现段错误)。
版本 5.4.16
- 核心
- 修复了 #64879 错误(quoted_printable_encode 中出现的基于堆的缓冲区溢出,CVE-2013-2110)。
- 修复了 #64853 错误(使用不再可用的 ini 指令会导致 TS 构建崩溃)。
- 修复了 #64729 错误(在 x32 上编译失败)。
- 修复了错误 #64720(zend_deactivate 上的段错误)。
- 修复了 #64660 错误(在函数定义中出现内存耗尽时,出现段错误)。
- Calendar
- 修复了 bug #64895(SndToJewish 中的整数溢出)。
- Fileinfo
- 修复了 #64830 错误(在 mp3 文件上,mimetype 检测出现段错误)。
- FPM
- 当 SCRIPT_FILENAME 中发送 QUERY_STRING 时,忽略它。
- 修复了一些可能的内存或资源泄漏,以及代码覆盖率扫描检测到的可能的空值解引用。
- 在系统调用失败时记录警告。
- 添加了 --with-fpm-systemd 选项以向 systemd 报告运行状况,以及 systemd_interval 选项以配置此选项。该服务现在可以在 systemd unit 文件中使用 Type=notify。
- MySQLi
- 修复了 bug #64726(在使用 use_result 时调用 fetch_object 会导致段错误,并且 DB 指针已关闭)。
- Phar
- 修复了 bug #64214(在 DFS、SMB 或非标准临时目录上运行时,PHAR PHPT 偶尔会崩溃)。
- SNMP
- 修复了 bug #64765(某些 IPv6 地址被错误地解释)。
- 修复了 bug #64159(snmpget 被截断)。
- Streams
- 修复了 bug #64770(stream_select() 在 Windows x64 上使用 proc_open() 返回的管道时失败)。
- Zend Engine
- 修复了 bug #64821(当内部属性被覆盖时,自定义异常会崩溃)。
版本 5.4.15
- 核心
- 修复了 bug #64578(在 set_error_handler 中使用 debug_backtrace 会破坏 zend 堆:段错误)。
- 修复了 bug #64458(dns_get_record 结果为长度为 -1 的字符串)。
- 修复了 bug #64433(上下文中的 follow_location 参数对于大多数响应代码都被忽略)。
- 修复了 bug #47675(Solaris 上的 fd 泄漏)。
- 修复了 bug #64577(Solaris 上的 fd 泄漏)。
- Fileinfo
- Streams
- 修复了 Windows x64 版本的 stream_socket_pair() 并改进了错误处理。
- Zip
- 修复了 bug #64342(ZipArchive::addFile() 必须检查文件是否存在)。
版本 5.4.14
- 核心
- 修复了 bug #64529(opcode 空间不足)。
- 修复了 bug #64515(在函数声明中两次使用相同变量名时发生内存泄漏)。
- 修复了 bug #64432(在 strX 方法中出现更多空分隔符警告)。
- 修复了 bug #64417(特征中的 ArrayAccess::&offsetGet() 导致致命错误)。
- 修复了 bug #64370(microtime(true) 小于 $_SERVER['REQUEST_TIME_FLOAT'])。
- 修复了 bug #64239(自 5.4.10 或 5.4.11 以来,调试回溯行为已改变)。
- 修复了 bug #63976(父类在类属性中错误地使用子类常量)。
- 修复了 bug #63914(zend_do_fcall_common_helper_SPEC 没有正确处理异常)。
- 修复了 bug #62343(在 get_declared_classes() 中显示 class_alias)。
- PCRE
- SNMP
- 修复了 bug #61981(OO API,walk:$suffix_as_key 工作不正常)。
- Zip
- 修复了 bug #64452(Zip 偶尔会崩溃)。(Anatol)
版本 5.4.13
- 核心
- 修复了 bug #64235(Insteadof 在 5.4.11 中不适用于类方法)。
- 实施了 FR #64175(添加了 RFC 6585 中的 HTTP 代码)。
- 修复了 bug #64142(dval 到 lval 在 ppc64 上行为不同)。
- 修复了 bug #64070(特征的继承导致错误)。
- CLI 服务器
- 修复了 bug #64128(内置 Web 服务器在 ppc64 上已损坏)。
- Mbstring
- mb_split() 现在可以像 preg_split() 一样处理空匹配。
- OpenSSL
- 修复了 bug #61930(openssl 在使用 openssl_get_publickey() 时会破坏 ssl 密钥资源)。
- PDO_mysql
- 修复了 bug #60840(未定义的符号:mysqlnd_debug_std_no_trace_funcs)。
- Phar
- SOAP
- 添加了检查以确保 soap.wsdl_cache_dir 符合 open_basedir(CVE-2013-1635)。
- 禁用了外部实体加载(CVE-2013-1643,CVE-2013-1824)。
- SPL
- 修复了 bug #64264(SPLFixedArray toArray 问题)。
- 修复了 bug #64228(RecursiveDirectoryIterator 总是假设 SKIP_DOTS)。
- 修复了 bug #64106(在扩展时,SplFixedArray[][x] = y 导致段错误)。
- 修复了 bug #52861(unset 在 ArrayObject 和深度数组中失败)。
- SNMP
版本 5.4.12
- 核心
- 修复了 bug #64099(在 zend_register_class 别名中错误地使用了 TSRM)。
- 修复了 bug #64011(get_html_translation_table() 在 HTML_ENTITIES 和 ISO-8859-1 中输出不完整)。
- 修复了 bug #63982(isset() 在受保护的属性上不一致地产生致命错误)。
- 修复了 bug #63943(strpos() 在空针上出现错误的警告文本)。
- 修复了 bug #63899(zend_compile 中出现作用域后使用错误)。
- 修复了 bug #63893(使用键长度差异很大的数组时,strtr() 的效率低下)。
- 修复了 bug #63882(zend_std_compare_objects 在递归时崩溃)。
- 修复了 bug #63462(对 unset 受保护属性的调用方法)。
- 修复了 bug #62524(fopen 对非 3xx 状态执行重定向)。
- 在 getimagesize() 中支持 BITMAPV5HEADER。
- 日期
- 修复了 bug #63699(对各种 ext/date 函数进行了性能改进)。
- 修复了 bug #55397(不完整的 DateTime 的比较导致 SIGSEGV)。
- FPM
- 修复了 bug #63999(带有 fpm 的 php 无法在 Solaris 10 或 11 上构建)。
- Litespeed
- 修复了 #63228 错误(lsapi 代码中的 -Werror=format-security 错误)。
- sqlite3
- 修复了 bug #63921(sqlite3::bindvalue 和相关的 PHP 函数没有使用 sqlite3_*_int64 API)。
- PDO_OCI
- 修复了 bug #57702(多行 BLOB 获取)。
- 修复了 bug #52958(在运行完长时间测试套件后,PDO_OCI 在清理时出现段错误)。
- PDO_sqlite
- 修复了 bug #63916(PDO::PARAM_INT 在 pdo_sqlite 中,即使在 64 位构建中,也会内部转换为 32 位整数)。
版本 5.4.11
- 核心
- 修复了 bug #63762(当用户更改 Exception::$trace 时,出现 Sigsegv)。
- 修复了 bug #43177(eval()'ed 代码中的错误会产生状态代码 500)。
- Filter
- 修复了 bug #63757(getenv() 在 CGI SAPI 中会导致内存泄漏)。
- 修复了 bug #54096(FILTER_VALIDATE_INT 不接受 +0 和 -0)。
- JSON
- 修复了 bug #63737(json_decode 在使用 options 参数时没有正确解码)。
- CLI 服务器
- 更新了常见 MIME 类型列表。添加了 webm、ogv、ogg。
- cURL 扩展
- 修复了 bug(由于 libcurl 连接缓存导致段错误)。
- 修复了 bug #63859(在重用 curl-handle 时发生内存泄漏)。
- 修复了 bug #63795(CURL >= 7.28.0 不再支持 CURLOPT_SSL_VERIFYHOST 的值 1)。
- 修复了 bug #63352(在使用 curl 流包装器时,无法启用主机名验证)。
- 修复了 bug #55438(Curlwapper 随机地没有发送 http 头)。
版本 5.4.10
- 核心
- 修复了 bug #63635(gc_collect_cycles 中出现段错误)。
- 修复了 bug #63512(parse_ini_file() 在使用 INI_SCANNER_RAW 时会从值中删除引号)。
- 修复了 bug #63468(使用继承时,回调方法错误)。
- 修复了 bug #63451(config.guess 文件没有定义 AIX 7,没有创建共享对象)。
- 修复了 bug #61557(tt-rss backend.php 中的崩溃)。
- 修复了 bug #61272(ob_start 回调传递空字符串)。
- 日期
- 修复了 bug #63666(date() 性能低下)。
- 修复了 bug #63435(Datetime::format('u') 有时会错误 1 微秒)。
- Imap
- 修复了 bug #63126(DISABLE_AUTHENTICATOR 忽略数组)。
- Json
- 修复了 bug #63588(使用 php_next_utf8_char 并删除重复的实现)。
- MySQLnd
- 修复了 bug #63398(在轮询已关闭的链接时出现段错误)。
- Fileinfo
- 修复了 bug #63590(TS 和 NTS 在 Windows 下的结果不同)。
- FPM
- 修复了 bug #63581(可能的空指针解除引用和缓冲区溢出)。
- Pdo_sqlite
- 修复了 bug #63149(getColumnMeta 应该在使用系统 SQLite 时返回表名)。
- Apache2 处理程序 SAPI
- 为 Windows 启用了 Apache 2.4 配置选项。
- Reflection
- 修复了 bug #63614(在 Reflection 上出现致命错误)。
- SOAP
- 修复了 bug #63271(SOAP wsdl 缓存未在初始请求后启用)。
- Sockets
- 修复了 bug #49341(为 socket_set_option() 添加 SO_REUSEPORT 支持)。
版本 5.4.9
- 核心
- 修复了 bug #63305(zend_mm_heap 在使用特征时被破坏)。
- 修复了 bug #63369((un)serialize() 会留下悬挂指针,导致崩溃)。
- 修复了 bug #63241(PHP 无法打开 Windows 重复数据文件)。
- 修复了 bug #62444(is_readable 在 windows 上的句柄泄漏)。
- Curl
- 修复了 bug #63363(Curl 静默地接受 SSL_VERIFYHOST 的布尔值 true)。
- Fileinfo
- 修复了 bug #63248(从 Windows 下的目录加载多个魔术文件)。
- Libxml
- 修复了 bug #63389(libxml_set_streams_context() 上缺少上下文检查会导致内存泄漏)。
- Mbstring
- 修复了 bug #63447(max_input_vars 在 mbstring.encoding_translation = On 时不会过滤变量)。
- OCI8
- 修复了 bug #63265(将 ORA-00028 添加到 PHP_OCI_HANDLE_ERROR 宏中)
- PCRE
- 修复了 bug #63180(哈希表的损坏)。
- 修复了 bug #63055(zend_gc 在 SF2 测试套件中出现段错误)。
- 修复了 bug #63284(将 PCRE 升级到 8.31)。
- PDO
- 修复了 bug #63235(在使用 SQLGetDiagRec 时发生缓冲区溢出)。
- PDO_pgsql
- 修复了 bug #62593(模拟准备在使用 PARAM_BOOL 时表现奇怪)。
- Phar
- 修复了 bug #63297(Phar 无法写入基于 openssl 的签名)。
- Streams
- 修复了 bug #63240(stream_get_line() 返回值包含分隔符字符串)。
- Reflection
- 修复了 bug #63399(ReflectionClass::getTraitAliases() 错误地解析特征名)。
版本 5.4.8
- CLI 服务器
- 根据 RFC,将对未知 HTTP 方法的响应更改为 501。
- 支持 HTTP PATCH 方法。
- 核心
- 为 assert() 添加了可选的第二个参数,用于指定自定义消息。
- 支持使用原生客户端工具链构建 PHP。
- 为测试添加了 --offline 选项。
- 修复了 bug #63162(parse_url 无法匹配密码组件)。
- 修复了 bug #63111(is_callable() 对抽象静态方法撒谎)。
- 修复了 bug #63093(在 zts-build 中加载扩展失败时出现段错误)。
- 修复了 bug #62976(注意:在比较某些内置类时无法转换为整数)。
- 修复了 bug #62955(仅从“每个目录的值”Windows 注册表中加载一个指令)。
- 修复了 bug #62907(在使用特征时出现双重释放)。
- 修复了 bug #61767(在某些错误情况下,关闭函数未被调用)。
- 修复了 bug #60909(自定义错误处理程序抛出异常 + 致命错误 = 没有关闭函数)。
- 修复了 bug #60723(error_log 错误时间已更改为 UTC,忽略了默认时区)。
- cURL
- 修复了 bug #62085(使用 Curl 包装器获取远程文件会使 CPU 飙升)。
- 日期
- 修复了 bug #62896("DateTime->modify('+0 days')" 会修改 DateTime 对象)
- 修复了 bug #62561(DateTime 添加 'P1D' 会添加 25 小时)。
- DOM
- 修复了 bug #63015(DOMErrorHandler 的 arginfo 不正确)。
- FPM
- 修复了 bug #62954(启动问题 fpm / php-fpm)。
- 修复了 bug #62886(PHP-FPM 可能会在启动时出现段错误/挂起)。
- 修复了 bug #63085(Systemd 集成和守护进程化)。
- 修复了 bug #62947(FPM 上出现不必要的警告)。
- 修复了 bug #62887(只有 /status?plain&full 会显示“上次请求 CPU”)。
- 修复了 bug #62216(将 PID 添加到 php-fpm init.d 脚本中)。
- OpenSSL
- 已实现 FR #61421 (OpenSSL 签名验证缺少 RMD160、SHA224、SHA256、SHA384、SHA512)。
- SOA
- 修复了错误 #50997 (尝试提交选择中的第二个元素时出现 SOAP 错误)。
- SPL
- 修复了错误 #62987 (将值赋值给 ArrayObject[null][something] 会覆盖所有未定义的变量)。
- mbstring
- 允许将 null 作为默认值传递给 mb_substr() 和 mb_strcut()。此补丁由 Alexander Moskaliov 通过 GitHub PR GH-133 提供。
- Filter 扩展
- 修复了错误 #49510 (布尔验证在使用 FILTER_NULL_ON_FAILURE 且字符串为空或为假时会失败)。
- Socket
- 修复了错误 #63000 (OSX 上的 MCAST_JOIN_GROUP 存在问题,合并了 Igor Wiedler 的 PR 185)。
版本 5.4.7
- 核心
- 修复了错误 (使用 zts 和 GOTO vm-kind 构建时出现段错误)。
- 修复了错误 #62955 (Windows 注册表中“Per Directory Values”仅加载一个指令)。
- 修复了错误 #62844 (parse_url() 不识别 //)。
- 修复了错误 #62829 (在未设置 HAVE_STDINT_H 的平台上包含 stdint.h)。
- 修复了错误 #62763 (register_shutdown_function 和扩展类)。
- 修复了错误 #62725 (在关闭函数中调用 exit() 不会返回退出值)。
- 修复了错误 #62744 (zend_disable_class 造成的悬空指针)。
- 修复了错误 #62716 (munmap() 使用了错误的长度)。
- 修复了错误 #62358 (大量使用 trait 时出现段错误)。
- 修复了错误 #62328 (实现 __toString 和强制转换为字符串会失败)。
- 修复了错误 #51363 (var_export() 抛出的致命错误没有被错误处理程序捕获)。
- 修复了错误 #40459 (Stat 和 Dir 流包装器方法没有调用构造函数)。
- CURL
- 修复了错误 #62912 (CURLINFO_PRIMARY_* 和 CURLINFO_LOCAL_* 没有公开)。
- 修复了错误 #62839 (使用 CURLOPT_FILE 时 curl_copy_handle 出现段错误)。
- DateTime
- 修复了错误 #62852 (反序列化无效的 DateTime 会导致崩溃)。
- Intl
- 修复了 Spoofchecker 在 ICU 49.1 上未注册的问题。
- 修复了错误 #62933 (ext/intl 在 icu 3.4.1 上出现编译错误)。
- 修复了错误 #62915 (几个 intl 类中的克隆存在缺陷)。
- 安装
- 修复了错误 #62460 (php 二进制文件安装为 binary.dSYM)。
- PCRE
- 修复了错误 #55856 (preg_replace 应该在尾部垃圾存在时失败)。
- PDO
- 修复了错误 #62685 (PDO::inTransaction() 中的返回值类型错误)。
- Reflection
- 修复了错误 #62892 (ReflectionClass::getTraitAliases 在将导入的 trait 方法设置为私有时崩溃)。
- 修复了错误 #62715 (ReflectionParameter::isDefaultValueAvailable() 结果错误)。
- Session
- 修复了错误 (由于 retval 未初始化而导致的段错误)。
- 修复了错误 (由于 PS(mod_user_implemented) 在关闭处理程序调用 exit 时未重置而导致的段错误)。
- SPL
- 修复了错误 #62904 (克隆继承 SplFixedArray 的对象时崩溃)。
- 已实现 FR #62840 (向 ArrayObject::ksort 添加排序标志)。
- 标准
- 修复了错误 #62836 (在反序列化时出现段错误或对象引用损坏)。
- FPM
- 合并了 minitux 的 PR 121,以在 PHP FPM 状态页面上添加对缓慢请求计数的支持。
版本 5.4.6
- CLI 服务器
- 已实现 FR #62700 (使控制台输出“Listening on http://localhost:8000”)。
- 核心
- 修复了错误 #62661 (如果在 auto_prepend_file 中使用 include(),交互式 php-cli 会崩溃)。
- 修复了错误 #62653:(unset($array[$float]) 会导致崩溃)。
- 修复了错误 #62565 (由于内部 properties_table 未初始化而导致的崩溃)。
- 修复了错误 #60194 (--with-zend-multibyte 和 --enable-debug 使用 run-test.php 报告 LEAK)。
- CURL
- 修复了错误 #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") 返回 false)。
- DateTime
- 修复了错误 #62500 (扩展 DateInterval 类时,在 DateInterval 类中出现段错误)。
- Fileinfo
- 修复了错误 #61964 (使用目录时 finfo_open 导致无效的释放)。
- Intl
- 修复了错误 #62564 (扩展 MessageFormatter 并添加属性会导致崩溃)。
- MySQLnd
- 修复了错误 #62594 (mysqlnd_res_meta::set_mode 中出现段错误)。
- readline
- 修复了错误 #62612 (readline 扩展编译失败,错误提示为 sapi/cli/cli.h: No such file)。
- Reflection
- 已实现 FR #61602 (允许访问用作默认值的常量的名称)。
- SPL
- 修复了错误 #62616 (来自 IteratorIterator 实例的 ArrayIterator::count() 会导致段错误)。
- 修复了错误 #61527 (ArrayIterator 在移动到末尾时,next() 会发出误导性的通知)。
- Streams
- 修复了错误 #62597 (php_stream_wrapper_log_error 在 ZTS 构建中出现段错误)。
- Zlib
- 修复了错误 #55544 (ob_gzhandler 始终与 zlib.output_compression 冲突)。
版本 5.4.5
- 核心
- 修复了错误 #62443 (Crypt SHA256/512 在使用格式错误的盐时出现段错误)。
- 修复了错误 #62432 (ReflectionMethod 在高并发情况下随机损坏内存)。
- 修复了错误 #62373 (serialize() 生成指向对象的错误引用)。
- 修复了错误 #62357 (编译失败: (S) Arguments missing for built-in function __memcmp)。
- 修复了错误 #61998 (使用带方法别名的 trait 在执行期间会导致崩溃)。
- 修复了错误 #51094 (使用 INI_SCANNER_RAW 时,parse_ini_file() 会截断包含分号的值)。
- 修复了 _php_stream_scandir 中的潜在溢出 (CVE-2012-2688)。
- FPM
- 修复了错误 #62205 (php-fpm 出现段错误 (null 传递给 strstr)。
- 修复了错误 #62160 (向 process.priority 添加 set nice(2) 优先级)。
- 修复了错误 #62153 (使用 Unix 套接字时,多个 FPM 实例)。
- 修复了错误 #62033 (php-fpm 在某些启动失败时退出状态为 0)。
- 修复了错误 #61839 (无法使用 --enable-fpm 交叉编译 PHP)。
- 修复了错误 #61835 (php-fpm 不允许以 root 身份运行)。
- 修复了错误 #61295 (php-fpm 应该不会因为注释掉“user”而失败)。
- 修复了错误 #61218 (FPM 在接收 FastCGI 请求中的一些二进制值时会断开连接)。
- 修复了错误 #61045 (fpm 不会将错误日志发送到 FastCGI 客户端)。(fat) 适用于非 root 启动。
- 修复了错误 #61026 (FPM 池可以监听同一个地址)。(fat) 可以启动并且不会报错。
- Iconv
- 修复了错误 #55042 (iconv.c 中的 Erealloc 不安全)。
- Intl
- 修复了错误 #62083 (grapheme_extract() 内存泄露)。
- 修复了错误 #62081 (IntlDateFormatter 构造函数在两次调用时会内存泄露)。
- 修复了错误 #62070 (Collator::getSortKey() 返回垃圾数据)。
- 修复了错误 #62017 (使用错误编码的时区创建 datefmt_create 会泄露模式)。
- 修复了错误 #60785 (IntlDateFormatter 构造函数中的内存泄露)。
- ResourceBundle 构造函数现在接受前两个参数为 NULL。
- JSON
- 修复了错误 #61359 (json_encode() 调用了太多 reallocs)。
- libxml
- 修复了错误 #62266 (自定义扩展在使用 FPM SAPI 时,在 xmlParseFile 期间出现段错误)。
- Phar
- 修复了错误 #62227 (无效的 phar 流路径会导致崩溃)。
- Readline
- 修复了错误 #62186 (readline 编译失败 - 无返回值函数不应该返回任何值)。
- Reflection
- 修复了错误 #62384 (尝试多次调用闭包会造成段错误)。
- 修复了错误 #62202 (ReflectionParameter::getDefaultValue() 在使用常量时内存泄露)。
- Sockets
- 修复了错误 #62025 (__ss_family 在 AIX 5.3 上发生了改变)。
- SPL
- 修复了错误 #62433 (RecursiveDirectoryIterator 对点文件的行为不一致)。
- 修复了错误 #62262 (RecursiveArrayIterator 没有实现 Countable)。
- XML Writer
- 修复了错误 #62064 (XML Writer 模块中的内存泄露)。
版本 5.4.4
- CLI SAPI
- 已实现 FR #61977 (需要 CLI Web 服务器支持具有 .htm 和 svg 扩展名的文件)。
- 提高发送错误页面的性能,这也修复了错误修复了错误 #61785 (在没有路由器的情况下访问不存在的文件时出现内存泄露)。
- 修复了错误 #61546 (在 cli sapi 中执行 chdir() 时,与当前脚本相关的函数失败)。
- 核心
- 修复了 iptcparse() 中的边界检查缺失。
- 修复了 CVE-2012-2143。
- 修复了错误 #62097 (修复了错误 #54547 )。
- 修复了错误 #62005 (对空对象的成员进行增量赋值时的意外行为)。
- 修复了错误 #61978 (对于实现了 JsonSerializable 的类,没有检测到对象递归)。
- 修复了错误 #61991 (realpath_cache_get() 中的 long 溢出)。
- 修复了错误 #61922 (ZTS 构建不接受 zend.script_encoding 配置)。
- 修复了错误 #61827 (Windows 上的 \e 处理不正确)。
- 修复了错误 #61782 (__clone/__destruct 在检查访问控制时与其他方法不匹配)。
- 修复了错误 #61761 (用不同签名的私有静态方法“覆盖”会导致崩溃)。
- 修复了错误 #61730 (通过引用传递数组时,array_walk 修改数组会导致段错误)。
- 修复了错误 #61728 (在 request_shutdown 阶段调用 ob_start() 时,PHP 崩溃)。
- 修复了错误 #61660 (bin2hex(hex2bin($data)) != $data)。
- 修复了错误 #61650 (ini 解析器在使用 ${xxxx} ini 变量 (没有 apache2) 时会崩溃)。
- 修复了错误 #61605 (header_remove() 不会移除所有头部)。
- 修复了错误 #54547 (字符串数字的比较错误)。
- 修复了错误 #54197 ([PATH=] 部分与 user_ini.filename 设置为 null 不兼容)。
- 更改 php://fd,使其仅在 CLI 中可用。
- CURL
- 修复了错误 #61948 (CURLOPT_COOKIEFILE '' 会触发 open_basedir 限制)。
- COM
- 修复了错误 #62146 com_dotnet 无法以共享模式构建。
- Fileinfo
- 修复了错误 #61812 (libmagic 中使用了未初始化的值)。
- FPM
- 修复了错误 #61812 (libmagic 中使用了未初始化的值)。
- 修复了错误 #61565,其中 php_stream_open_wrapper_ex 试图在 Windows 下打开目录描述符。
- 修复了错误 #61566,由 Windows 下的 posix lseek 和 read 版本在 cdf_read() 中引起的失败。
- Intl
- 修复了错误 #62082 (内部函数 get_icu_disp_value_src_php() 中的内存损坏)。
- JSON
- 修复了错误 #61537 (json_encode() 错误地截断/丢弃信息)。
- LibXML
- 修复了错误 #61617 (Libxml 测试失败 (ht is already destroyed))。
- PDO
- 修复了错误 #61755 (准备好的语句中的解析错误会导致访问冲突)。(CVE-2012-3450)。
- Phar
- 修复了错误 #61065 (Secunia SA44335) (CVE-2012-2386)。
- Streams
- 修复了错误 #61961 (在访问空文件且设置了 maxlen 时,file_get_contents 会内存泄露)。
- zlib
- 修复了错误 #61820(使用 ob_gzhandler 当不压缩时会抱怨头信息已经发送)
- 修复了错误 #61443(无法动态更改 zlib.output_compression)
- 修复了错误 #60761(zlib.output_compression 在刷新时失败)
版本 5.4.3
- 修复了错误 #61807 apache_request_headers 中的缓冲区溢出,CVE-2012-2329。
- 修复了错误 #61910 改善了针对 PHP-CGI 查询字符串参数漏洞的修复,CVE-2012-2311。
版本 5.4.2
- 修复了错误 #61910 修复 PHP-CGI 查询字符串参数漏洞,CVE-2012-1823。
版本 5.4.1
- CLI 服务器
- 修复了错误 #61461(在 malloc() 调用周围缺少检查)。
- 实现了 FR #60850(内置 Web 服务器在使用路由器时不设置 $_SERVER['SCRIPT_FILENAME'])。
- 核心
- 修复了 ZTS 中使用多个线程中的相同类的崩溃。
- 修复了错误 #61374(html_entity_decode 尝试解码 ISO-8859-1 中不存在的代码点)。
- 修复了错误 #61225(对 0b00*+<NUM> 的词法分析错误)。
- 修复了错误 #61106(使用 header_register_callback 时出现段错误)。
- 修复了错误 #61052(特征中的 'insteadof' 子句缺少错误检查)。
- 修复了错误 #61011(当 __autoload 访问静态属性时抛出异常会导致崩溃)。
- 修复了错误 #60978(退出代码不正确)。
- 修复了错误 #60911(扩展特征时出现令人困惑的错误信息)。
- 修复了错误 #60717(use 语句中特征的顺序会导致致命错误)。
- 修复了错误 #60573(使用“self”关键字进行类型提示会导致奇怪的错误)。
- Intl
- 修复了错误 #61487(grapheme_strpos 中的边界检查错误)。
- mbstring
- MFH mb_ereg_replace_callback() 用于安全增强。
- mysqlnd
- 修复了错误 #60948(当启用 -Wformat-security 时,mysqlnd FTBFS)。
- 标准
- 修复了 substr_replace 中的内存泄漏。
- 使 max_file_uploads ini 指令可以在 php 之外设置。
- 修复了错误 #61409(phpinfo() 的格式错误)。
- 修复了错误 #60222(time_nanosleep() 不验证输入参数)。
- 修复了错误 #60106(stream_socket_server 默默截断长的 unix 套接字路径)。
版本 5.3.29
- 核心
- 修复了错误 #66127(使用 ArrayObject unset 时的段错误)。
- 修复了 bug #67247 (spl_fixedarray_resize 整数溢出)。
- 修复了 bug #67249 (printf 越界读取)。
- 修复了 bug #67250 (iptcparse 越界读取)。
- 修复了 bug #67252 (convert_uudecode 越界读取)。
- 修复了错误 #67359(RecursiveDirectoryIterator 中的段错误)。
- 修复了 bug #67390 (配置脚本中使用了不安全的临时文件。(CVE-2014-3981))
- 修复了 bug #67399 (putenv 带有空变量可能导致崩溃)。
- 修复了 #67492 错误(反序列化() SPL ArrayObject / SPLObjectStorage 类型混淆)(CVE-2014-3515)。
- 修复了 bug #67498 (phpinfo() 类型混淆信息泄漏漏洞。(CVE-2014-4721))
- COM
- 修复了 com_event_sink 中缺少的类型检查。
- 日期
- 修复了 bug #66060 (DateInterval 中的堆缓冲区过读。(CVE-2013-6712))
- 修复了 bug #67251 (date_parse_from_format 越界读取)。
- 修复了 bug #67253 (timelib_meridian_with_check 越界读取)。
- Exif
- 修复了错误 #65873 (exif_read_data() 中的整数溢出)。
- Fileinfo
- 修复了 #66307 错误(Fileinfo 在处理 powerpoint 文件时崩溃)。
- 修复了 bug #67326 (fileinfo: cdf_read_short_sector 边界检查不足。(CVE-2014-0207))
- 修复了 bug #67327 (fileinfo: CDF 在 nelements 中出现无限循环,导致拒绝服务。(CVE-2014-0238))
- 修复了 bug #67328 (fileinfo: fileinfo: 许多 file_printf 调用导致性能下降。(CVE-2014-0237))
- 修复了 #67410 错误(fileinfo:mconvert 对截断的 Pascal 字符串大小处理不当)(CVE-2014-3478)。
- 修复了 #67411 错误(fileinfo:cdf_check_stream_offset 边界检查不足)(CVE-2014-3479)。
- 修复了 #67412 错误(fileinfo:cdf_count_chain 边界检查不足)(CVE-2014-3480)。
- 修复了 #67413 错误(fileinfo:cdf_read_property_info 边界检查不足)(CVE-2014-3487)。
- Intl
- 修复了 #67349 错误(Locale::parseLocale 双重释放)。
- 修复了 #67397 错误(locale_get_display_name 和 uloc_getDisplayName 中的缓冲区溢出(libicu 4.8.1))。
- 网络
- 修复了 #67432 错误(修复 dns_get_record() 中的潜在段错误)。(CVE-2014-4049)
- OpenSSL
- Session
- 修复了 php_session_create_id 中缺少的类型检查。
版本 5.3.28
- Openssl
- 修复了对 subjectAltName 中空字节的处理(CVE-2013-4248)。
- 修复了 openssl_x509_parse() 中的内存损坏(CVE-2013-6420)。(Stefan Esser)
版本 5.3.27
- 核心
- 修复了 #64966 错误(zend_do_fcall_common_helper_SPEC 中出现段错误)。
- 修复了 #64960 错误(gc_zval_possible_root 中出现段错误)。
- 修复了 #64934 错误(使用 get_browser() 时,Apache2 TS 崩溃)。
- 修复了 #63186 的 bug(在 NetBSD 上编译失败)。
- DateTime
- 修复了 #53437 错误(使用反序列化的 DatePeriod 实例时崩溃)。
- PDO_firebird
- 修复了 #64037 错误(Firebird 为数值字段返回错误的值)。
- 修复了 #62024 错误(使用参数化查询无法插入第二行空值)。
- PDO_pgsql
- 修复了 #64949 错误(_pdo_pgsql_error 中出现缓冲区溢出)。
- pgsql
- 修复了 #64609 错误(pg_convert 枚举类型支持)。
- SPL
- 修复了 #64997 错误(在 64 位系统上使用 RecursiveIteratorIterator 时出现段错误)。
- XML
- 修复了 #65236 错误(xml 解析器中出现堆损坏)。(CVE-2013-4113)
版本 5.3.26
- 核心
- 修复了 #64879 错误(quoted_printable_encode 中出现的基于堆的缓冲区溢出,CVE-2013-2110)。
- Calendar
- 修复了 bug #64895(SndToJewish 中的整数溢出)。
- FPM
- 修复了一些可能的内存或资源泄漏,以及代码覆盖率扫描检测到的可能的空值解引用。
- 在系统调用失败时记录警告。
- MySQLi
- 修复了 bug #64726(在使用 use_result 时调用 fetch_object 会导致段错误,并且 DB 指针已关闭)。
- Phar
- 修复了 bug #64214(在 DFS、SMB 或非标准临时目录上运行时,PHAR PHPT 偶尔会崩溃)。
- Streams
- 修复了 bug #64770(stream_select() 在 Windows x64 上使用 proc_open() 返回的管道时失败)。
- Zend Engine
- 修复了 #64821 的 bug(当内部属性被覆盖时,自定义异常会崩溃)。
版本 5.3.25
- 核心
- 修复了 bug #64578(在 set_error_handler 中使用 debug_backtrace 会破坏 zend 堆:段错误)。
- 修复了 bug #64458(dns_get_record 结果为长度为 -1 的字符串)。
- 修复了 bug #47675(Solaris 上的 fd 泄漏)。
- 修复了 bug #64577(Solaris 上的 fd 泄漏)。
- Streams
- 修复了 Windows x64 版本的 stream_socket_pair() 并改进了错误处理。
- Zip
- 修复了 bug #64342(ZipArchive::addFile() 必须检查文件是否存在)。
版本 5.3.24
- 核心
- 修复了 bug #64370(microtime(true) 小于 $_SERVER['REQUEST_TIME_FLOAT'])。
- 修复了 bug #63914(zend_do_fcall_common_helper_SPEC 没有正确处理异常)。
- 修复了 bug #62343(在 get_declared_classes() 中显示 class_alias)。
- PCRE
- mysqlnd
- 修复了 #63530 的 bug(mysqlnd_stmt::bind_one_parameter 崩溃,对 stmt->param_bind 使用了错误的分配)。
- DateTime
- 修复了 #62852 的 bug(反序列化无效日期会导致崩溃)。
- Zip
版本 5.3.23
- Phar
- SOAP
- 添加了检查以确保 soap.wsdl_cache_dir 符合 open_basedir(CVE-2013-1635)。
- 禁用了外部实体加载(CVE-2013-1643,CVE-2013-1824)。
- SPL
- 修复了 bug #64264(SPLFixedArray toArray 问题)。
- 修复了 bug #64228(RecursiveDirectoryIterator 总是假设 SKIP_DOTS)。
- 修复了 bug #64106(在扩展时,SplFixedArray[][x] = y 导致段错误)。
- 修复了 bug #52861(unset 在 ArrayObject 和深度数组中失败)。
版本 5.3.22
- Zend Engine
- 修复了 #64099 的 bug(在 zend_Register_class 别名中错误地使用了 TSRM)。
- 修复了 bug #63899(zend_compile 中出现作用域后使用错误)。
- 核心
- 修复了 bug #63943(strpos() 在空针上出现错误的警告文本)。
- 日期
- 修复了 #55397 的 bug(不完整的 DateTime 的比较会导致 SIGSEGV)。
- FPM
- 修复了 bug #63999(带有 fpm 的 php 无法在 Solaris 10 或 11 上构建)。
- SPL
- 修复了 bug #64106(在扩展时,SplFixedArray[][x] = y 导致段错误)。
版本 5.3.21
- Zend Engine
- 修复了 bug #63762(当用户更改 Exception::$trace 时,出现 Sigsegv)。
- cURL 扩展
- 修复了 bug(由于 libcurl 连接缓存导致段错误)。
- 修复了 bug #63795(CURL >= 7.28.0 不再支持 CURLOPT_SSL_VERIFYHOST 的值 1)。
- 修复了 bug #63352(在使用 curl 流包装器时,无法启用主机名验证)。
- 修复了 bug #55438(Curlwapper 随机地没有发送 http 头)。
版本 5.3.20
- Zend Engine
- 修复了 bug #63635(gc_collect_cycles 中出现段错误)。
- 修复了 bug #63512(parse_ini_file() 在使用 INI_SCANNER_RAW 时会从值中删除引号)。
- 修复了 bug #63468(使用继承时,回调方法错误)。
- 核心
- 修复了 bug #63451(config.guess 文件没有定义 AIX 7,没有创建共享对象)。
- 修复了 #63377 的 bug(在输出缓冲区上出现段错误)。
- Apache2 处理程序 SAPI
- 为 Windows 启用了 Apache 2.4 配置选项。
- 日期
- 修复了 bug #63435(Datetime::format('u') 有时会错误 1 微秒)。
- Fileinfo
- 修复了 bug #63248(从 Windows 下的目录加载多个魔术文件)。
- 修复了 bug #63590(TS 和 NTS 在 Windows 下的结果不同)。
- FPM
- 修复了 #63581 的 bug(可能的空指针解引用和缓冲区溢出)。
- Imap
- 修复了 bug #63126(DISABLE_AUTHENTICATOR 忽略数组)。
- MySQLnd
- 修复了 bug #63398(在轮询已关闭的链接时出现段错误)。
- Reflection
- 修复了 bug #63614(在 Reflection 上出现致命错误)。
- SOAP
- 修复了 bug #63271(SOAP wsdl 缓存未在初始请求后启用)。
版本 5.3.19
- 核心
- 修复了 bug #63241(PHP 无法打开 Windows 重复数据文件)。
- 修复了 bug #62444(is_readable 在 windows 上的句柄泄漏)。
- Libxml
- 修复了 bug #63389(libxml_set_streams_context() 上缺少上下文检查会导致内存泄漏)。
- Mbstring
- 修复了 bug #63447(max_input_vars 在 mbstring.encoding_translation = On 时不会过滤变量)。
- MySQL
- 修复了在混合 32/64 位系统上编译失败的问题。
- OCI8
- 修复了 bug #63265(将 ORA-00028 添加到 PHP_OCI_HANDLE_ERROR 宏中)
- PCRE
- 修复了 bug #63055(zend_gc 在 SF2 测试套件中出现段错误)。
- 修复了 bug #63284(将 PCRE 升级到 8.31)。
- PDO
- 修复了 bug #63235(在使用 SQLGetDiagRec 时发生缓冲区溢出)。
- PDO_pgsql
- 修复了 bug #62593(模拟准备在使用 PARAM_BOOL 时表现奇怪)。
- Phar
- 修复了 bug #63297(Phar 无法写入基于 openssl 的签名)。
- Streams
- 修复了 bug #63240(stream_get_line() 返回值包含分隔符字符串)。
版本 5.3.18
- 核心
- 修复了 bug #63111(is_callable() 对抽象静态方法撒谎)。
- 修复了 bug #63093(在 zts-build 中加载扩展失败时出现段错误)。
- 修复了 bug #62976(注意:在比较某些内置类时无法转换为整数)。
- 修复了 bug #61767(在某些错误情况下,关闭函数未被调用)。
- 修复了 #61442 的 bug(在 __autoload 中抛出的异常无法捕获)。
- 修复了 bug #60909(自定义错误处理程序抛出异常 + 致命错误 = 没有关闭函数)。
- cURL
- 修复了 bug #62085(使用 Curl 包装器获取远程文件会使 CPU 飙升)。
- FPM
- 修复了 bug #62954(启动问题 fpm / php-fpm)。
- 修复了 bug #62886(PHP-FPM 可能会在启动时出现段错误/挂起)。
- 修复了 bug #63085(Systemd 集成和守护进程化)。
- 修复了 bug #62947(FPM 上出现不必要的警告)。
- 修复了 bug #62887(只有 /status?plain&full 会显示“上次请求 CPU”)。
- 修复了 bug #62216(将 PID 添加到 php-fpm init.d 脚本中)。
- Intl
- 修复了 #62915 的 bug(一些 intl 类中的克隆有缺陷)。
- SOAP
- 修复了错误 #50997 (尝试提交选择中的第二个元素时出现 SOAP 错误)。
- SPL
- 修复了错误 #62987 (将值赋值给 ArrayObject[null][something] 会覆盖所有未定义的变量)。
版本 5.3.17
- 核心
- 修复了错误 (使用 zts 和 GOTO vm-kind 构建时出现段错误)。
- 修复了错误 #62955 (Windows 注册表中“Per Directory Values”仅加载一个指令)。
- 修复了错误 #62763 (register_shutdown_function 和扩展类)。
- 修复了错误 #62744 (zend_disable_class 造成的悬空指针)。
- 修复了错误 #62716 (munmap() 使用了错误的长度)。
- 修复了错误 #62460 (php 二进制文件安装为 binary.dSYM)。
- CURL
- 修复了错误 #62839 (使用 CURLOPT_FILE 时 curl_copy_handle 出现段错误)。
- DateTime
- 修复了错误 #62852 (反序列化无效的 DateTime 会导致崩溃)。
- Intl
- 修复了 ext/intl 中一些类中的空指针解引用问题。
- MySQLnd
- 修复了 #62885 的 bug(mysqli_poll - 段错误)。
- PDO
- 修复了错误 #62685 (PDO::inTransaction() 中的返回值类型错误)。
- Session
- 修复了错误 (由于 retval 未初始化而导致的段错误)。
- SPL
- 修复了错误 #62904 (克隆继承 SplFixedArray 的对象时崩溃)。
- Enchant
- 修复了 #62838 的 bug(enchant_dict_quick_check() 销毁了 zval,但未能初始化它)。
版本 5.3.16
- 核心
- 修复了 #62763 的 bug(register_shutdown_function 和扩展类)。
- 修复了 #62744 的 bug(由 zend_disable_class 产生的悬挂指针)。
- 修复了 #62716 的 bug(munmap() 使用了错误的长度)。
- 修复了 #62460 的 bug(php 二进制文件被安装为 binary.dSYM)。
- 修复了错误 #60194 (--with-zend-multibyte 和 --enable-debug 使用 run-test.php 报告 LEAK)。
- CURL
- 修复了 #62839 的 bug(curl_copy_handle 使用 CURLOPT_FILE 导致段错误)。
- 修复了错误 #62499 (curl_setopt($ch, CURLOPT_COOKIEFILE, "") 返回 false)。
- DateTime
- 修复了错误 #62500 (扩展 DateInterval 类时,在 DateInterval 类中出现段错误)。
- Enchant
- 修复了 #62838 的 bug(enchant_dict_quick_check() 销毁了 zval,但未能初始化它)。
- PDO
- 修复了 #62685 的 bug(PDO::inTransaction() 中的错误返回值类型)。
- Reflection
- 修复了 #62715 的 bug(ReflectionParameter::isDefaultValueAvailable() 结果错误)。
- Session
- 修复了(由于 retval 未初始化导致的段错误)。
- SPL
- 修复了错误 #62616 (来自 IteratorIterator 实例的 ArrayIterator::count() 会导致段错误)。
版本 5.3.15
- Zend Engine
- 修复了错误 #51094 (使用 INI_SCANNER_RAW 时,parse_ini_file() 会截断包含分号的值)。
- COM
- 修复了错误 #62146 com_dotnet 无法以共享模式构建。
- 核心
- 修复了 _php_stream_scandir 中的潜在溢出问题,CVE-2012-2688。
- 修复了错误 #62432 (ReflectionMethod 在高并发情况下随机损坏内存)。
- 修复了错误 #62443 (Crypt SHA256/512 在使用格式错误的盐时出现段错误)。
- FPM
- 修复了 #61045 的 bug(fpm 不会将错误日志发送到 FastCGI 客户端)。
- 修复了错误 #61835 (php-fpm 不允许以 root 身份运行)。
- 修复了 #61295 的 bug(php-fpm 对于非 root 启动,不应该在 'user' 注释时失败)。
- 修复了 #61026 的 bug(FPM 池可以在同一个地址上监听)。
- 修复了错误 #62033 (php-fpm 在某些启动失败时退出状态为 0)。
- 修复了 #62153 的 bug(当使用 Unix 套接字时,可以启动多个 FPM 实例而不会出错)。
- 修复了错误 #62160 (向 process.priority 添加 set nice(2) 优先级)。
- 修复了错误 #61218 (FPM 在接收 FastCGI 请求中的一些二进制值时会断开连接)。
- 修复了 #62205 的 bug(php-fpm 出现段错误(将 NULL 传递给 strstr))。
- Intl
- 修复了错误 #62083 (grapheme_extract() 内存泄露)。
- 修复了错误 #62081 (IntlDateFormatter 构造函数在两次调用时会内存泄露)。
- 修复了错误 #62070 (Collator::getSortKey() 返回垃圾数据)。
- 修复了错误 #62017 (使用错误编码的时区创建 datefmt_create 会泄露模式)。
- 修复了错误 #60785 (IntlDateFormatter 构造函数中的内存泄露)。
- Phar
- 修复了错误 #62227 (无效的 phar 流路径会导致崩溃)。
- Reflection
- 修复了错误 #62384 (尝试多次调用闭包会造成段错误)。
- 修复了错误 #62202 (ReflectionParameter::getDefaultValue() 在使用常量时内存泄露)。
- SPL
- 修复了错误 #62262 (RecursiveArrayIterator 没有实现 Countable)。
- SQLite
- 修复了 open_basedir 绕过问题,CVE-2012-3365。
- XML 写入
- 修复了错误 #62064 (XML Writer 模块中的内存泄露)。
版本 5.3.14
- CLI SAPI
- 修复了错误 #61546 (在 cli sapi 中执行 chdir() 时,与当前脚本相关的函数失败)。
- 核心
- 修复了 CVE-2012-2143。
- 修复了错误 #62005 (对空对象的成员进行增量赋值时的意外行为)。
- 修复了错误 #61730 (通过引用传递数组时,array_walk 修改数组会导致段错误)。
- 修复了 iptcparse() 中的边界检查缺失。
- 修复了 #61764 的 bug('I' 在 LP64 上将 n 解包为有符号整数,如果 n > 2^31-1)。
- 修复了错误 #54197 ([PATH=] 部分与 user_ini.filename 设置为 null 不兼容)。
- 修复了 #61713 的 bug(htmlentities 的字符集检测中的逻辑错误)。
- 修复了错误 #61991 (realpath_cache_get() 中的 long 溢出)。
- 将 php://fd 改为仅在 CLI 中可用。
- CURL
- 修复了错误 #61948 (CURLOPT_COOKIEFILE '' 会触发 open_basedir 限制)。
- COM
- 修复了错误 #62146 com_dotnet 无法以共享模式构建。
- Fileinfo
- 修复了错误 #61812 (libmagic 中使用了未初始化的值)。
- Intl
- 修复了错误 #62082 (内部函数 get_icu_disp_value_src_php() 中的内存损坏)。
- JSON
- 修复了错误 #61537 (json_encode() 错误地截断/丢弃信息)。
- PDO
- 修复了错误 #61755 (准备好的语句中的解析错误会导致访问冲突)。(CVE-2012-3450)。
- Phar
- 修复了错误 #61065 (Secunia SA44335) (CVE-2012-2386)。
- Streams
- 修复了错误 #61961 (在访问空文件且设置了 maxlen 时,file_get_contents 会内存泄露)。
版本 5.3.13
- 修复了错误 #61910 改善了针对 PHP-CGI 查询字符串参数漏洞的修复,CVE-2012-2311。
版本 5.3.12
- 修复了错误 #61910 修复 PHP-CGI 查询字符串参数漏洞,CVE-2012-1823。
版本 5.3.11
- 核心
- 修复了 #61650 的 bug(ini 解析器在使用 ${xxxx} ini 变量(没有 Apache 2)时崩溃)。
- 修复了 #61273 的 bug(call_user_func_array 使用超过 16333 个参数会导致内存泄漏/崩溃)。
- 修复了 #61165 的 bug(段错误 - strip_tags())。
- 修复了错误 #61095(对 0x00*+<NUM> 的词法分析错误)。
- 修复了 #61087 的 bug(在指定无效扫描程序模式时,parse_ini_file 中存在内存泄漏)。
- 修复了 #61072 的 bug(在恢复异常处理程序时存在内存泄漏)。
- 修复了 #61058 的 bug(如果起始索引为 PHP_INT_MAX,则 array_fill 会泄漏)。
- 修复了 #61000 的 bug(超过最大嵌套级别不会删除数字变量)。
- 修复了错误 #60895(Windows 随机函数中可能存在无效的处理程序使用)。
- 修复了错误 #60825(运行 symfony 2 测试时出现段错误)。
- 修复了 #60801 的 bug(strpbrk() 对 NUL 字节的处理不当)。
- 修复了 #60569 的 bug(空字节会截断 Exception $message)。
- 修复了 #60227 的 bug(header() 无法检测到带有 CR 的多行标头)。
- 修复了错误 #60222(time_nanosleep() 不验证输入参数)。
- 修复了 #54374 的 bug(对上传名称的验证不足,会导致 $_FILES 索引损坏)。(CVE-2012-1172)。
- 修复了 #52719 的 bug(如果函数的第三个参数是按引用传递的,则 array_walk_recursive 会崩溃)。
- 改进了在进行重置操作时,set_exception_handler 的性能。
- 修复了 #51860 中的错误(包含操作在指向 / 的顶层符号链接时失败)。
- FPM
- 修复了 #61430 的 bug(在 sapi/fpm/fpm/fpm_shm 中,memset() 参数转置)。
- 修复了 #60811 的 bug(php-fpm 编译问题)。
- Fileinfo
- 将 libmagic 升级到 5。
- 修复了 #61565 的 bug,其中 php_stream_open_wrapper_ex 尝试在 Windows 下打开目录描述符。
- 修复了 #61566 的 bug,该 bug 是由 Windows 下的 posix lseek 和 read 版本在 cdf_read() 中引起的失败。
- 修复了 #61173 的 bug(无法检测到 finfo 构造函数的错误)。
- Firebird 数据库扩展 (ibase)
- 修复了 #60802 的 bug(在传递参数时,ibase_trans() 会导致段错误)。
- Ibase
- 修复了 #60947 的 bug(在执行 ibase_db_info 时出现段错误)。
- 安装
- 修复了 #61172 的 bug(添加 Apache 2.4 支持)。
- mysqli
- 修复了 #61003 的 bug(mysql_stat() 需要一个有效的连接)。
- PDO_mysql
- 修复了 #61207 的 bug(在执行多语句查询后,PDO::nextRowset() 并不总是有效)。
- 修复了 #61194 的 bug(PDO 应该使用 myslqnd 导出压缩标志)。
- PDO_odbc
- 修复了 #61212 的 bug(PDO ODBC 在 SQL_SUCESS_WITH_INFO 上出现段错误)。
- PDO_pgsql
- 修复了 #61267 的 bug(pdo_pgsql 的 PDO::exec() 在 postgresql >= 9 上返回 SELECT 的行数)。
- pgsql
- 修复了 #60718 的 bug(使用 libpq(PostgreSQL 7.3 或更低版本)时出现编译问题)。
- Phar
- 修复了 #61184 的 bug(Phar::webPhar() 会生成带有尾随 NUL 字节的标头)。
- Readline
- 修复了 #61088 的 bug(readline_callback_handler_install 中存在内存泄漏)。
- 为 readline_write_history 和 readline_read_history 添加了 open_basedir 检查。
- Reflection
- 修复了 #61388 的 bug(ReflectionObject:getProperties() 在 get_properties 返回带有(不可访问的)动态数字属性的哈希表时,会发出无效的读取)。
- 修复了 #60968 的 bug(延迟静态绑定不适用于 ReflectionMethod::invokeArgs())。
- Session
- 修复了 #60860 的 bug(session.save_handler=user 未定义函数会导致核心转储)。
- 修复了 #60634 的 bug(在尝试在 SessionHandler::write() 中使用 die() 时出现段错误)。
- SOAP
- 修复了 #61423 的 bug(gzip 压缩失败)。
- 修复了 #60887 的 bug(SoapClient 忽略了 user_agent 选项,并且没有发送 User-Agent 标头)。
- 修复了 #60842 的 bug,修复了 #51775 的 bug(当 chunksize 长度行大于 10 字节时,分块响应解析错误)。
- 修复了 #49853 的 bug(Soap 客户端流上下文标头选项被忽略)。
- SPL
- 修复了在两次调用 SplFileInfo 的构造函数时发生的内存泄漏。
- 修复了 #61418 的 bug(当 DirectoryIterator 或 FilesystemIterator 的迭代器被多次请求,并且在它们之间没有调用其 dtor 回调时,会发生段错误)。
- 修复了 #61347 的 bug(Arrayobject 的 isset 行为不一致)。
- 修复了 #61326 的 bug(ArrayObject 比较)。
- SQLite3 扩展
- 添加了 createCollation() 方法。
- Streams
- 修复了 #61371 的 bug(stream_context_create() 在使用 streams_socket_create 时会导致内存泄漏)。
- 修复了 #61253 的 bug(在 ZTS 上,使用错误的并发问题打开包装器)。
- 修复了错误 #61115(php_stream_context_link 中致命错误导致的与流相关的段错误)。
- 修复了错误 #60817(即使已经缓冲了足够的数据,stream_get_line() 也会从流中读取)。现在,stream_get_line() 的行为更像 fgets(),如文档中所述。
- 进一步修复了错误修复的错误 #60455(如果 EOF 未与最后一次读取一起检测到,则 stream_get_line 会出现错误行为)。
- 修复了错误 #60106(stream_socket_server 默默截断长的 unix 套接字路径)。
- XMLRPC
- 修复了错误 #61264(xmlrpc_parse_method_descriptions 泄漏临时变量)。
- 修复了错误 #61097(xmlrpc 函数中复制 zval 导致的内存泄漏)。
- Zlib
- 修复了错误 #61306(全局变量的初始化不适合 ZTS)。
- 修复了错误 #61287(特定字符串无法解压缩)。
- 修复了错误 #61139(gzopen 在指定无效模式时会泄漏)。
版本 5.3.10
- 核心
- 修复了 Stefan Esser 报告的任意远程代码执行漏洞,CVE-2012-0830。
版本 5.3.8
- 核心
- 修复了错误 #55439 (crypt() 仅返回 MD5 的盐)。(Stas)
- OpenSSL
- 恢复了超时处理的更改,恢复了 PHP 5.3.6 的行为,因为新的行为会导致 mysqlnd SSL 连接挂起(错误 #55283)。(Pierre, Andrey, Johannes)
版本 5.3.7
- 将捆绑的 SQLite 升级到 3.7.7.1 版本。(Scott)
- 将捆绑的 PCRE 升级到 8.12 版本。(Scott)
- Zend Engine
- 修复了错误 #55156 (ReflectionClass::getDocComment() 即使类没有注释也返回注释)。(Felipe)
- 修复了错误 #55007 (编译失败后再次失败)。(Felipe)
- 修复了错误 #54910 (使用未知函数名称调用 call_user_func 时崩溃)。(Dmitry)
- 修复了错误 #54804 (__halt_compiler 和导入的命名空间)。(Pierrick, Felipe)
- 修复了错误 #54624 (class_alias 和类型提示)。(Felipe)
- 修复了错误 #54585 (track_errors 导致段错误)。(Dmitry)
- 修复了错误 #54423 (来自 dl() 的扩展的类不会被销毁)。(Tony, Dmitry)
- 修复了错误 #54372 (访问从其 __get() 处理程序返回的全局对象本身时崩溃)。(Dmitry)
- 修复了错误 #54367 (闭包的使用会导致 ArrayAccess 出现问题)。(Dmitry)
- 修复了错误 #54358 (闭包,使用和引用)。(Dmitry)
- 修复了错误 #54262 (将值分配给非数组中的维度时崩溃)。(Dmitry)
- 修复了错误 #54039 (lambda 函数中静态变量的 use() 会破坏静态性)。(Dmitry)
- 核心
- 将 crypt_blowfish 更新到 1.2。(CVE-2011-2483) (Solar Designer) (更多信息)
- 删除了当 is_a() 或 is_subclass_of() 的参数不是已知类时发出的警告。(Stas)
- 修复了 error_log() 中的崩溃。(Felipe) 由 Mateusz Kocielski 报告。
- 添加了 PHP_MANDIR 常量来告知手册页安装到哪里,以及 php-config 的 --man-dir 参数。(Hannes)
- 修复了错误处理的 dtor 内部的崩溃。(Ilia)
- 修复了 crypt() 中的 overlog 盐的缓冲区溢出。(Clément LECIGNE, Stas
- 实现了 FR #54459 (范围函数精度)。(Adam)
- 修复了错误 #55399 (parse_url() 错误地将 ':' 视为有效的路径)。(Ilia)
- 修复了错误 #55339 (allow_call_time_pass_reference = Off 时的段错误)。(Dmitry)
- 修复了错误 #55295 [NEW]: popen_ex 在 Windows 上,修复了可能的堆溢出 (Pierre)
- 修复了错误 #55258 (Windows 版本检测错误)。(xiaomao5 at live dot com, Pierre)
- 修复了错误 #55187 (readlink 返回奇怪的字符,结果为 false)。(Pierre)
- 修复了错误 #55082 (var_export() 没有正确地转义属性)。(Gustavo)
- 修复了错误 #55014 (由于不正确使用 ctime_r() 而导致的编译失败)。(Ilia)
- 修复了错误 #54939 (RFC1867 文件上传文件名中的文件路径注入漏洞)。(Felipe) 由 Krzysztof Kotowicz 报告。(CVE-2011-2202)
- 修复了错误 #54935 php_win_err 可能会导致崩溃。(Pierre)
- 修复了错误 #54924 (assert.* 在请求关闭时没有重置)。(Ilia)
- 修复了错误 #54895 (修复在没有 membar_producer 宏的情况下使用旧版 gcc 版本编译)。(mhei at heimpold dot de)
- 修复了错误 #54866 (对 realpath_cache_size 的错误计算)。(Dustin Ward)
- 修复了错误 #54723 (getimagesize() 没有检查完整的 ico 签名)。(Scott)
- 修复了错误 #54721 (在错误的盐大小上,Windows、BSD 和 Linux 上的哈希值不同)。(Pierre, os at irj dot ru)
- 修复了错误 #54580 (当 browscap ini 指令通过 php_admin_value 设置时,get_browser() 会导致段错误)。(Gustavo)
- 修复了错误 #54332 (zend_mm_check_ptr 中的崩溃 // 堆损坏)。(Dmitry)
- 修复了错误 #54305 (gc_remove_zval_from_buffer 中的崩溃)。(Dmitry)
- 修复了错误 #54238 (substr_replace() 中的 use-after-free)。(Stas) (CVE-2011-1148)
- 修复了错误 #54204 (无法在 php.ini 中设置具有 PATH 部分的值)。(Pierre)
- 修复了错误 #54180 (parse_url() 在片段中存在 '?' 时错误地解析路径)。(tomas dot brastavicius at quantum dot lt, Pierrick)
- 修复了错误 #54137 (file_get_contents POST 请求发送额外的换行符)。(maurice-php at mertinkat dot net, Ilia)
- 修复了错误 #53848 (fgetcsv() 忽略字段开头的空格)。(Ilia)
- 修复错误 #52550 的替代方法,应用于 round() 函数(有符号溢出),因为旧的修复方法影响了大小小于 0 的数字的算法。(Gustavo)
- 修复了错误 #53727 (is_subclass_of 与接口的不一致行为) (Ralph Schindler, Dmitry)
- 修复了错误 #52935 (在 user_error_handler 中调用 exit 导致流相关的核心问题)。(Gustavo)
- 修复了错误 #51997 (SEEK_CUR 具有 0 值,返回警告)。(Ilia)
- 修复了错误 #50816 (在数组定义中使用类常量会失败)。(Pierrick, Dmitry)
- 修复了错误 #50363 (convert.quoted-printable-decode 过滤器中的无效解析)。(slusarz at curecanti dot org)
- 修复了错误 #48465 (在 Windows 上使用 TMPDIR 时,sys_get_temp_dir() 可能不一致)。(Pierre)
- Apache2 处理程序 SAPI
- 修复了错误 #54529 (SAPI 在 apache_config.c:197 处崩溃)。(hebergement at riastudio dot fr)
- CLI SAPI
- 修复了错误 #52496 (选项解析失败时的零退出代码)。(Ilia)
- cURL 扩展
- 添加了 ini 选项 curl.cainfo(支持自定义证书数据库)。(Pierre)
- 添加了 CURLINFO_REDIRECT_URL 支持。(Daniel Stenberg, Pierre)
- 添加了对 CURLOPT_MAX_RECV_SPEED_LARGE 和 CURLOPT_MAX_SEND_SPEED_LARGE 的支持。FR 修复了错误 #51815。(Pierrick)
- DateTime 扩展
- 修复了使用 date_diff() 时 DateTime 对象被更改的错误。(Derick)
- 修复了错误 #54340 (DateTime::add() 方法错误)。(Adam)
- 修复了错误 #54316 (DateTime::createFromFormat 没有正确处理尾随的 '|' )。(Adam)
- 修复了错误 #54283 (new DatePeriod(NULL) 导致崩溃)。(Felipe)
- 修复了错误 #51819 (时区名称中的大小写不一致导致未捕获的异常和致命错误)。(Hannes)
- DBA 扩展
- 抑制 Berkeley DB 5.2 中不存在的文件打开时的警告 (Chris Jones)
- 修复了错误 #54242 (如果键已存在,dba_insert 返回 true)。(Felipe)
- Exif 扩展
- 修复了错误 #54121 (错误消息格式字符串拼写错误)。(Ilia)
- Fileinfo 扩展
- 修复了错误 #54934 (HP-UX 11.11 中未解析的符号 strtoull)。(Felipe)
- Filter 扩展
- 在 filter_var_array() 和 filter_input_array() 函数中添加了第三个参数,允许禁用添加空元素。(Ilia)
- 修复了错误 #53037 (FILTER_FLAG_EMPTY_STRING_NULL 未实现)。(Ilia)
- Interbase 扩展
- 修复了错误 #54269 (短异常消息缓冲区导致崩溃)。(Felipe)
- intl 扩展
- 实现了 FR #54561 (公开 ICU 版本信息)。(David Zuelke, Ilia)
- 实现了 FR #54540 (允许在禁用回退时加载任意资源包)。(David Zuelke, Stas)
- Imap 扩展
- 修复了错误 #55313 (当指定参数时,重试次数未设置)。(kevin at kevinlocke dot name)
- json 扩展
- 修复了错误 #54484 (json_decode 中的空字符串没有重置 json_last_error())。(Ilia)
- LDAP 扩展
- 修复了错误 #53339 (在使用 gcc 4.5 和 DSO 库编译时无法构建)。(Clint Byrum, Raphael)
- libxml 扩展
- 修复了错误 #54601 (删除 doctype 节点会导致段错误)。(Hannes)
- 修复了错误 #54440 (libxml 扩展忽略默认上下文)。(Gustavo)
- mbstring 扩展
- 修复了错误 #54494 (mb_substr() 错误地处理 UTF-32LE 和 UCS-2LE)。(Gustavo)
- MCrypt 扩展
- 当没有获取到足够的数据时,将 mcrypt_create_iv 中的 E_ERROR 更改为 E_WARNING (Windows)。(Pierre)
- 修复了错误 #55169 (mcrypt_create_iv 始终无法在 Windows 上收集足够的随机数据)。(Pierre)
- MySQL 扩展
- 修复了错误 #54221 (在多查询中使用 mysqli::get_warnings 会导致段错误)。(Andrey)
- mysqlnd
- 修复了使用超过 28,000 个绑定参数时的崩溃。解决方法是将 mysqlnd.net_cmd_buffer_size 设置为至少 9000。(Andrey)
- 修复了错误 #54674 mysqlnd valid_sjis_(head|tail) 正在使用无效的操作符和范围)。(nihen at megabbs dot com, Andrey)
- MySQLi 扩展
- 修复了错误 #55283 (mysqli_ssl_set 设置的 SSL 选项被 MySQLi 持久连接忽略)。(Andrey)
- OpenSSL 扩展
- openssl_encrypt()/openssl_decrypt() 将可变长度密码的密钥截断为 OpenSSL 为该算法的默认值。(Scott)
- 在阻塞 SSL 套接字上,尽可能尊重超时选项。(Scott)
- 修复了错误 #54992 (当 SSL CN_match 失败时,流未关闭且未返回错误)。(Gustavo, laird_ngrps at dodo dot com dot au)
- Oracle 数据库扩展 (OCI8)
- 添加了 oci_client_version(),返回运行时 Oracle 客户端库版本 (Chris Jones)
- PCRE 扩展
- 将回溯限制从 100000 提高到 1000000 (Rasmus)
- PDO 扩展
- 修复了错误 #54929 (SQL 注释中存在单引号时的解析错误)。(Felipe)
- 修复了错误 #52104 (bindColumn 无论 ATTR_ERRMODE 设置如何都会创建警告)。(Ilia)
- PDO DBlib 驱动程序
- 修复了错误 #54329 (MSSql 扩展内存泄漏)。(dotslashpok at gmail dot com)
- 修复了错误 #54167 (PDO_DBLIB 在 SQLUNIQUE 字段上返回 null)。(mjh at hodginsmedia dot com, Felipe)
- PDO ODBC 驱动程序
- 修复了 64 位中的数据类型使用。(leocsilva at gmail dot com)
- PDO MySQL 驱动程序
- 修复了错误 #54644 (php_pdo_mysql_int.h 中的路径错误)。(Tony, Johannes)
- 修复了错误 #53782 (foreach 抛出不相关的异常)。(Johannes, Andrey)
- 实现了 FR #48587 (MySQL PDO 驱动程序不支持 SSL 连接)。(Rob)
- PDO PostgreSQL 驱动程序
- 修复了错误 #54318 (PDO pgsql 配置中使用了不可移植的 grep 选项)。(bwalton at artsci dot utoronto dot ca)
- PDO Oracle 驱动程序
- 修复了 bug #44989(64 位 Oracle RPM 仍然不受 pdo-oci 支持)。(jbnance at tresgeek dot net)
- Phar 扩展
- 修复了 bug #54395(Phar::mount() 在使用错误参数调用时崩溃)。(Felipe)
- PHP-FPM SAPI
- 实现了 FR #54499(FPM ping 和 status_path 应处理 HEAD 请求)。(fat)
- 实现了 FR #54172(覆盖 php-fpm 的 pid 文件位置)。(fat)
- 修复了 ping 和状态页缺少 Expires 和 Cache-Control 标头的问题。(fat)
- 修复了内存泄漏。(fat)由 Giovanni Giacobbi 报告并修复。
- 修复了使用 -tt 调用 fpm 时 log_level 值错误的问题。(fat)
- 在状态页中添加了 xml 格式。(fat)
- 删除了子进程写入日志中的时间戳。(fat)
- 修复了 FPM 启动时在 fpm_resources_prepare() 错误上退出问题。(fat)
- 在全局配置设置中添加了主 rlimit_files 和 rlimit_core。(fat)
- 删除了子进程写入调试日志中的 pid。(fat)
- 添加了自定义访问日志(还添加了每个请求的 %CPU 和内存测量)。(fat)
- 添加了真正的记分板,并对状态页进行了多项改进。(fat)
- 反射扩展
- 修复了 bug #54347(reflection_extension 不会将模块函数名称转换为小写)。(Felipe,laruence at yahoo dot com dot cn)
- SOAP 扩展
- 修复了 bug #55323(当 XSD_TYPEKIND_EXTENSION 包含自身时,SoapClient 段错误)。(Dmitry)
- 修复了 bug #54312(soap_version 逻辑错误)。(tom at samplonius dot org)
- 套接字扩展
- 修复了 socket_connect() 中的堆栈缓冲区溢出。(CVE-2011-1938)由 Mateusz Kocielski、Marek Kroemeke 和 Filip Palian 发现。(Felipe)
- 更改了 socket_set_block() 和 socket_set_nonblock(),以便它们在错误时发出警告。(Gustavo)
- 修复了 bug #51958(socket_accept() 在 IPv6 服务器套接字上失败)。(Gustavo)
- SPL 扩展
- 修复了 bug #54971(在 use_keys 为 true 时使用 iterator_to_array 时结果错误)。(Pierrick)
- 修复了 bug #54970(SplFixedArray::setSize() 没有调整大小)。(Felipe)
- 修复了 bug #54609(SplFixedArray 的某些实现会导致硬崩溃)。(Felipe)
- 修复了 bug #54384(当用户空间类不调用父构造函数时,双迭代器、GlobIterator、SplFileObject 和 SplTempFileObject 会崩溃)。(Gustavo)
- 修复了 bug #54292(错误的参数会导致 SplFileObject::__construct() 中崩溃)。(Felipe)
- 修复了 bug #54291(对以 \0 开头的目录名迭代 DirectoryIterator 时崩溃)。(Gustavo)
- 修复了 bug #54281(在未初始化的 RecursiveIteratorIterator 中崩溃)。(Felipe)
- Streams
- 修复了 bug #54946(stream_get_contents 无限循环)。(Hannes)
- 修复了 bug #54623(在关闭套接字副本后写入持久套接字时出现段错误)。(Gustavo)
- 修复了 bug #54681(addGlob() 在无效标志上崩溃)。(Felipe)
版本 5.3.5
- 修复了 bug #53632(PHP 在数值 2.2250738585072011e-308 上挂起)。(CVE-2010-4645)(Rasmus,Scott)
版本 5.3.2
- 安全修复
- 改进了 LCG 熵。(Rasmus, Samy Kamkar)
- 修复了当目录路径不以“/”结尾时 tempnam() 中的 safe_mode 验证。(Martin Jansen)
- 修复了 Grzegorz Stachowiak 发现的会话扩展中可能存在的 open_basedir/safe_mode 绕过问题。(Ilia)
- 将捆绑的 sqlite 升级到版本 3.6.22。(Ilia)
- 将捆绑的 libmagic 升级到版本 5.03。(Mikko)
- 将捆绑的 PCRE 升级到版本 8.00。(Scott)
- 将时区数据库更新到版本 2010.3。(Derick)
- 改进了 LCG 熵。(Rasmus, Samy Kamkar)
- 改进了 crypt 对边缘情况的支持(UFC 兼容性)。(Solar Designer, Joey, Pierre)
- 将 gmp_strval() 更改为使用从 2 到 62,以及 -2 到 -36 的完整范围。FR #50283(David Soria Parra)
- 将“post_max_size” php.ini 指令更改为通过将其设置为 0 来允许无限的帖子大小。(Rasmus)
- 将 tidyNode 类更改为不允许手动创建节点。(Pierrick)
- 删除了在关闭和/或流关闭时发生的自动文件描述符解锁(在所有操作系统上)。(Tony, Ilia)
- 添加了 libpng 1.4.0 支持。(Pierre)
- 为 imap_open 添加了对 DISABLE_AUTHENTICATOR 的支持。(Pierre)
- 为 FILTER_VALIDATE_URL 中的 HTTP URL 添加了缺少的主机验证。(Ilia)
- 添加了 stream_resolve_include_path()。(Mikko)
- 为 imap_append 添加了 INTERNALDATE 支持。(nick at mailtrust dot com)
- 为 php 的 crypt 添加了对 SHA-256 和 SHA-512 的支持。(Pierre)
- 添加了 realpath_cache_size() 和 realpath_cache_get() 函数。(Stas)
- 为 filter 扩展添加了 FILTER_FLAG_STRIP_BACKTICK 选项。(Ilia)
- 为 $_SESSION 添加了对中断损坏的保护,并改进了“session.save_path”检查。(Stas)
- 添加了 LIBXML_PARSEHUGE 常量以在使用 libxml2.7.3+ 时覆盖单个文本节点的最大文本大小。(Kalle)
- 添加了 ReflectionMethod::setAccessible() 以通过 Reflection API 调用非公共方法。(Sebastian)
- 为 intl 扩展添加了 Collator::getSortKey。(Stas)
- 添加了对 CURLOPT_POSTREDIR 的支持。FR #49571。(Sriram Natarajan)
- 添加了对 CURLOPT_CERTINFO 的支持。FR #49253。(Linus Nielsen Feltzing <[email protected]>)
- 在 openssl 中添加了客户端侧服务器名称指示支持。(Arnaud)
- 改进了对错误 #50006(uksort() 导致的段错误)的修复。(Stas)
- 修复了当发送长度恰好为 16777214 字节的查询时 mysqlnd 挂起的问题。(Andrey)
- 修复了 mysqlnd 中对 5 字节 BIT 序列的错误解码。(Andrey)
- 修复了当使用 message_type 3 时 error_log() 为二进制安全。(Jani)
- 修复了在禁用超时时不必要地调用 setitimer。(Arvind Srinivasan)
- 修复了在 Windows 上发生错误时扩展加载中的内存泄漏。(Pierre)
- 修复了当目录路径不以“/”结尾时 tempnam() 中的 safe_mode 验证。(Martin Jansen)
- 修复了 Grzegorz Stachowiak 发现的会话扩展中可能存在的 open_basedir/safe_mode 绕过问题。(Ilia)
- 修复了在 php 启动期间出现错误/警告时可能发生的崩溃。(Pierre)
- 修复了在 Windows 上与符号链接或无效路径一起使用时 rename 可能出现的错误行为。(Pierre)
- 修复了 Windows 上的错误输出到 stderr。(Pierre)
- 修复了 Windows 上 is_writable/readable/etc 中的内存泄漏。(Pierre)
- 修复了 Windows 上的 ACL 函数中的内存泄漏。(Pierre)
- 修复了 Windows 上的 realpath 缓存中的内存泄漏。(Pierre)
- 修复了 zip_close 中的内存泄漏。(Pierre)
- 修复了 crypt 对“设置”字符串的 blowfish 健全性检查,以拒绝编码为 36 到 39 的迭代次数。(Solar Designer, Joey, Pierre)
- 修复了错误 #51059(当给出无效的盐时 crypt 崩溃)。(Pierre)
- 修复了错误 #50952(允许 php.ini 文件中解析的常量中使用下划线 _)。(Jani)
- 修复了错误 #50940(Apache SAPI 中的自定义内容长度设置不正确)。(Brian France, Rasmus)
- 修复了错误 #50930(使用旧版本的 gcc/glibc 时 php_date.c 修补程序导致的错误日期)。(Derick)
- 修复了错误 #50907(X-PHP-Originating-Script 在 *NIX 中添加了两行新行)。(Ilia)
- 修复了错误 #50859(由于 md2 被弃用,导致 openssl 1.0 构建失败)。(Ilia, hanno at hboeck dot de)
- 修复了错误 #50847(strip_tags() 删除所有长度大于 1023 字节的标签)。(Ilia)
- 修复了错误 #50829(php.ini 指令 pdo_mysql.default_socket 被忽略)。(Ilia)
- 修复了错误 #50832(HTTP fopen 包装器不支持无密码的 HTTP 身份验证)。(Jani)
- 修复了错误 #50787(stream_set_write_buffer() 对套接字流没有影响)。(vnegrier at optilian dot com, Ilia)
- 修复了错误 #50761(xmlrpc 扩展中的 system.multiCall 崩溃)。(hiroaki dot kawai at gmail dot com, Ilia)
- 修复了错误 #50756(CURLOPT_FTP_SKIP_PASV_IP 不存在)。(Sriram)
- 修复了错误 #50732(exec() 在 $output 数组中添加了同一个字节两次)。(Ilia)
- 修复了错误 #50728(所有 PDOExceptions 都将“code”属性硬编码为 0)。(Joey, Ilia)
- 修复了错误 #50723(垃圾收集器中的错误导致崩溃)。(Dmitry)
- 修复了错误 #50690(当值只有一个字符时,putenv 不会设置 ENV)。(Pierre)
- 修复了错误 #50680(strtotime() 不支持第八个序数)。(Ilia)
- 修复了错误 #50661(DOMDocument::loadXML 不允许 UTF-16)。(Rob)
- 修复了错误 #50657(使用空(零字节)HTTP 源进行复制成功但返回 false)。(Ilia)
- 修复了错误 #50632(如果变量不存在,filter_input() 不会返回默认值)。(Ilia)
- 修复了错误 #50576(XML_OPTION_SKIP_TAGSTART 选项没有效果)。(Pierrick)
- 修复了错误 #50558(扩展 tidy 时对象模型损坏)。(Pierrick)
- 修复了错误 #50540(在运行 ldap_next_reference 测试用例时崩溃)。(Sriram)
- 修复了错误 #50519(在使用 set_error_handler 和 DomDocument 时,垃圾收集中的段错误)。(Dmitry)
- 修复了错误 #50508(编译失败:冲突的 HEADER 类型声明)。(Jani)
- 修复了错误 #50496(<stdbool.h> 的使用仅在 c99 编译环境中有效)。(Sriram)
- 修复了错误 #50464(在包含的文件中声明编码不起作用)。(Felipe)
- 修复了错误 #50458(PDO::FETCH_FUNC 在使用闭包时失败)。(Felipe, Pierrick)
- 修复了错误 #50445(来自 Solaris 64 位的 PDO-ODBC 存储过程调用导致段错误)。(davbrown4 at yahoo dot com, Felipe)
- 修复了错误 #50416(过程 db.myproc 无法在给定上下文中返回结果集)。(Andrey)
- 修复了错误 #50394(引用参数在 __call 中转换为值)。(Stas)
- 修复了错误 #50351(处理对象的性能下降,在 5.3 中比在 5.2 中慢 10 倍)。(Dmitry)
- 修复了错误 #50392(date_create_from_format() 为“u”格式字符强制执行 6 位数字)。(Ilia)
- 修复了错误 #50345(在某些 Solaris 版本上 nanosleep 未被正确检测到)。(Jani)
- 修复了错误 #50340(php.ini 解析器不允许 ini 键中出现空格)。(Jani)
- 修复了错误 #50334(crypt 忽略 sha512 前缀)。(Pierre)
- 修复了错误 #50323(允许在 PDO DSN 中通过 ;; 使用分号 ;)。(Ilia, Pierrick)
- 修复了错误 #50285(xmlrpc 在编码的索引数组中不保留键)。(Felipe)
- 修复了错误 #50282(xmlrpc_encode_request() 在调用函数中将对象更改为数组)。(Felipe)
- 修复了错误 #50267(get_browser(null) 不使用 HTTP_USER_AGENT)。(Jani)
- 修复了错误 #50266(llabs 的类型冲突)。(Jani)
- 修复了错误 #50261(使用 call_user_func() 调用父构造函数时崩溃)。(Dmitry)
- 修复了错误 #50255(isset() 和 empty() 默默地将数组转换为对象)。(Felipe)
- 修复了错误 #50240(如果 php.ini 中的 pdo_mysql.default_socket 为空,则不应使用它)。(foutrelis at gmail dot com, Ilia)
- 修复了错误 #50231(当启用 mysqlnd 时,使用 --with-mysql-sock 传递的套接字路径被忽略)。(Jani)
- 修复了错误 #50219(在重定向的 url 上 soap 调用出现段错误)。(Pierrick)
- 修复了错误 #50212(ldap_get_option() 在使用 LDAP_OPT_NETWORK_TIMEOUT 时崩溃)。(Ilia, shigeru_kitazaki at cybozu dot co dot jp)
- 修复了错误 #50209(使用 libedit 编译时无法找到 readline.h)。(tcallawa at redhat dot com)
- 修复了错误 #50207(在 64 位 Linux 上连接非常大的字符串时出现段错误)。(Ilia)
- 修复了错误 #50196(当源不是文件时,stream_copy_to_stream() 会产生警告)。(Stas)
- 修复了错误 #50195(当表名包含模式时,pg_copy_to() 失败)。(Ilia)
- 修复了错误 #50185(当没有错误时,ldap_get_entries() 返回 false 而不是空数组)。(Jani)
- 修复了错误 #50174(不正确匹配的 docComment)。(Felipe)
- 修复了错误 #50168(FastCGI 在对不存在的文件进行 HEAD 请求时出现错误)。(Dmitry)
- 修复了错误 #50162(从 Oracle 数据库获取时间戳列时的内存泄漏)。(Felipe)
- 修复了错误 #50159(符号链接文件中工作目录错误)。(Dmitry)
- 修复了错误 #50158(FILTER_VALIDATE_EMAIL 在包含 = 或 ? 的有效地址时失败)。(Pierrick)
- 修复了错误 #50152(ReflectionClass::hasProperty 的行为类似于 isset() 而不是 property_exists)。(Felipe)
- 修复了错误 #50146(property_exists:闭包对象不能拥有属性)。(Felipe)
- 修复了错误 #50145(在运行 bug35634.phpt 时崩溃)。(Felipe)
- 修复了错误 #50140(使用默认编译选项时,php 符号对 nsapi 未解析)。(Uwe Schindler)
- 修复了错误 #50087(NSAPI 性能改进)。(Uwe Schindler)
- 修复了错误 #50073(当片段中存在 ? 时,parse_url() 不正确)。(Ilia)
- 修复了错误 #50023(pdo_mysql 不使用 PHP_MYSQL_UNIX_SOCK_ADDR)。(Ilia)
- 修复了错误 #50005(通过 Reflection 抛出修改后的 Exception 对象会导致段错误)。(Felipe)
- 修复了错误 #49990(关于安全级别的 SNMP3 警告消息打印了两次)。(Jani)
- 修复了错误 #49985(pdo_pgsql prepare() 重用之前的中止的事务)。(ben dot pineau at gmail dot com, Ilia, Matteo)
- 修复了错误 #49938(Phar::isBuffering() 返回相反的值)。(Greg)
- 修复了错误 #49936(php_stream_context_get_option() 中的 ftp 流崩溃)。(Pierrick)
- 修复了错误 #49921(Curl post 上传函数已更改)。(Ilia)
- 修复了错误 #49866(在字符串偏移量上进行引用会导致 PHP 崩溃)。(Dmitry)
- 修复了错误 #49855(import_request_variables() 始终返回 NULL)。(Ilia, sjoerd at php dot net)
- 修复了错误 #49851, #50451(http 包装器在 1024 个字符长的标题上中断)。(Ilia)
- 修复了错误 #49800(SimpleXML 允许 (un)serialize() 调用而不会发出警告)。(Ilia, wmeler at wp-sa dot pl)
- 修复了错误 #49719(ReflectionClass::hasProperty 返回基类中私有属性的 true)。(Felipe)
- 修复了错误 #49677 (ini 解析器在 Apache2 中使用 ${something} ini 变量时崩溃)。(Jani)
- 修复了错误 #49660 (libxml 2.7.3+ 将文本节点限制为 10MB)。(Felipe)
- 修复了错误 #49647 (DOMUserData 不存在)。(Rob)
- 修复了错误 #49600 (imageTTFText 文本向右偏移)。(Takeshi Abe)
- 修复了错误 #49585 (date_format 缓冲区对于 >4 位数的年份不够长)。(Derick、Adam)
- 修复了错误 #49560 (oci8:使用 LOBs 会导致 PHP 关闭缓慢)。(Oracle Corp.)
- 修复了错误 #49521 (PDO fetchObject 在调用构造函数之前设置值)。(Pierrick)
- 修复了错误 #49472 (在接口中定义的常量可以被重写)。(Felipe)
- 修复了错误 #49463 (setAttributeNS 无法设置默认命名空间)。(Rob)
- 修复了错误 #49244 (浮点数 NaN 导致垃圾字符)。(Sjoerd)
- 修复了错误 #49224 (由于 AIX 系统上的旧 DNS 函数导致编译错误)。(Scott)
- 修复了错误 #49174 (扩展 PDOStatement 并尝试设置 queryString 属性时崩溃)。(Felipe)
- 修复了错误 #48811 (PATH 部分中的指令不会应用于子目录)。(补丁作者:ct at swin dot edu dot au)
- 修复了错误 #48590 (SoapClient 不遵守 max_redirects)。(Sriram)
- 修复了错误 #48190 (Content-type 参数“boundary”在 HTTP 上传中不区分大小写)。(Ilia)
- 修复了错误 #47848 (importNode 不会保留属性命名空间)。(Rob)
- 修复了错误 #47409 (extract() 在包含“this”一词的数组时出现问题)。(Ilia、chrisstocktonaz at gmail dot com)
- 修复了错误 #47281 ($php_errormsg 的字符大小有限制)。(Oracle Corp.)
- 修复了错误 #46478 (htmlentities() 使用过时的映射表来进行字符实体引用)。(Moriyoshi)
- 修复了错误 #45599 (strip_tags() 会截断带有无效属性的字符串的剩余部分)。(Ilia、hradtke)
- 修复了错误 #45120 (PDOStatement->execute() 对同一语句返回 true 然后返回 false)。(Pierrick)
- 修复了错误 #44827 (define() 允许在常量名称中使用 ::)。(Ilia)
- 修复了错误 #44098 (imap_utf8() 只返回大写字母)。(steffen at dislabs dot de、Pierre)
- 修复了错误 #34852 (odbc_exec() 使用 Oracle 提供的 ODBC 驱动程序时出现故障)。(tim dot tassonis at trivadis dot com)
版本 5.3.0
- 将捆绑的 PCRE 升级到 7.9 版。(Nuno)
- 将捆绑的 sqlite 升级到 3.6.15 版。(Scott)
- 将扩展移至 PECL(Derick,Lukas,Pierre,Scott)
- ext/dbase
- ext/fbsql
- ext/fdf
- ext/ncurses
- ext/mhash(BC 层现在完全位于 ext/hash 中)
- ext/ming
- ext/msql
- ext/sybase(不再维护,应使用 sybase_ct)
- 从 mysqli 中移除了实验性的 RPL(主/从)函数。(Andrey)
- 移除了 zend.ze1_compatibility_mode。(Dmitry)
- 移除了所有 zend_extension_* php.ini 指令。Zend 扩展现在始终使用 zend_extension 指令加载。(Derick)
- 移除了会话中 "/tmp" 在 open_basedir 中的特殊处理。注意:此未记录的行为是在 5.2.2 中引入的。(Alexey)
- 移除了 CGI sapi 中的 shebang 行检查(由扫描程序检查)。(Dmitry)
- 将 PCRE、Reflection 和 SPL 扩展更改为始终启用。(Marcus)
- 将 md5() 更改为使用改进的实现。(Solar Designer,Dmitry)
- 将 HTTP 流扩展更改为接受 200 到 399(包括)之间的任何代码作为成功。(Mike,Noah Fontes)
- 将 __call() 更改为在访问私有/受保护方法时被调用,类似于属性和 __get()。(Andrei)
- 将 dl() 更改为默认情况下禁用。仅在 SAPI 显式注册时启用。目前,已在 cli、cgi 和 embed SAPI 中启用。(Dmitry)
- 将 opendir()、dir() 和 scandir() 更改为在没有传递上下文参数时使用默认上下文。(Sara)
- 将 open_basedir 更改为允许在运行时上下文中收紧。(Sara)
- 将 PHP/Zend 扩展更改为使用灵活的构建 ID。(Stas)
- 将 Soap 扩展方法的参数验证中的错误级别 E_ERROR 更改为 E_WARNING。(Felipe)
- 将 openssl 信息更改为显示共享库版本号。(Scott)
- 将浮点行为更改为在所有平台和所有编译器上始终使用双精度。(Christian Seiler)
- 将 round() 更改为在四舍五入到特定精度时表现得更加直观,并正确四舍五入非常大或非常小的指数。(Christian Seiler)
- 将 session_start() 更改为在会话启动失败时返回 false。(Jani)
- 将 property_exists() 更改为检查属性的存在与否,与可访问性无关(如 method_exists())。(Felipe)
- 将 array_reduce() 更改为允许混合 $initial。(Christian Seiler)
- 改进了 PHP 语法和语义
- 添加了 lambda 函数和闭包。(Christian Seiler,Dmitry)
- 添加了 "跳转标签" 运算符(有限的 "goto")。(Dmitry,Sara)
- 添加了 NOWDOC 语法。(Gwynne Raskind,Stas,Dmitry)
- 添加了带有双引号的 HEREDOC 语法。(Lars Strojny,Felipe)
- 添加了对使用静态 HEREDOC 初始化静态变量和类成员或常量的支持。(Matt)
- 改进了双引号字符串中变量的语法高亮和一致性,以及 HEREDOC 和反引号中的文字文本。(Matt)
- 添加了 "?:" 运算符。(Marcus)
- 添加了对命名空间的支持。(Dmitry,Stas,Gregory,Marcus)
- 添加了对延迟静态绑定的支持。(Dmitry,Etienne Kneuss)
- 添加了对 __callStatic() 魔术方法的支持。(Sara)
- 添加了 forward_static_call(_array) 以完成 LSB。(Mike Lively)
- 添加了对使用 $foo::myFunc() 动态访问静态成员的支持。(Etienne Kneuss)
- 改进了对回调的检查。(Marcus)
- 添加了 __DIR__ 常量。(Lars Strojny)
- 添加了新的错误模式 E_USER_DEPRECATED 和 E_DEPRECATED。E_DEPRECATED 用于通知在将来 PHP 版本中将要删除的内容。(Lars Strojny,Felipe,Marcus)
- 添加了 "request_order" INI 变量以控制 $_REQUEST 的特定行为。(Stas)
- 添加了对异常链接的支持。(Marcus)
- 添加了在析构函数中处理异常的能力。(Marcus)
- 改进了 PHP 运行时速度和内存使用率
- 在编译时用全局范围、持久常量的值替换它们的值。(Matt)
- 优化了 ZEND_SIGNED_MULTIPLY_LONG()。(Matt)
- 移除了直接执行器递归。(Dmitry)
- 在 x86 上的执行器中使用 fastcall 调用约定。(Dmitry)
- 对 $this 变量使用 IS_CV 进行直接访问。(Dmitry)
- 使用 ZEND_FREE() 操作码而不是 ZEND_SWITCH_FREE(IS_TMP_VAR)。(Dmitry)
- 延迟 EG(active_symbol_table) 初始化。(Dmitry)
- 优化了 ZEND_RETURN 操作码,以在未使用返回值时不分配和复制返回值。(Dmitry)
- 将所有基于 flex 的扫描器替换为基于 re2c 的扫描器。(Marcus,Nuno,Scott)
- 添加了垃圾收集器。(David Wang,Dmitry)。
- 使用 GCC4 可见性控制改进了 PHP 二进制文件的大小和启动速度。(Nuno)
- 改进了引擎堆栈实现,以提高性能和稳定性。(Dmitry)
- 通过将常量移至只读内存,改进了内存使用率。(Dmitry,Pierre)
- 更改了异常处理。现在,每个 op_array 都不包含 ZEND_HANDLE_EXCEPTION 操作码。(Dmitry)
- 优化了 require_once() 和 include_once(),以消除在第二次使用时的 fopen(3)。(Dmitry)
- 优化了 ZEND_FETCH_CLASS + ZEND_ADD_INTERFACE 到单个 ZEND_ADD_INTERFACE 操作码。(Dmitry)
- 优化了对单个字符的字符串搜索。(Michal Dziemianko,Scott)
- 优化了插值字符串,以减少一个操作码。(Matt)
- 改进了 php.ini 处理方式:(Jani)
- 为 CGI/FastCGI 添加了“.htaccess”样式的用户定义的 php.ini 文件支持。
- 添加了对特殊 [PATH=/opt/httpd/www.example.com/] 和 [HOST=www.example.com] 部分的支持。在这些部分中设置的指令不能被用户定义的 ini 文件或在运行时覆盖。
- 添加了对 php.ini 语法错误的更好的错误报告。
- 允许使用完整路径来使用“extension”指令加载模块。
- 允许在几乎所有 php.ini 文件中使用“ini-variables”。
- 允许在“array” ini 选项中使用字母数字/变量索引。
- 为 parse_ini_file() 添加了第三个可选参数,用于指定 INI_SCANNER_NORMAL 或 INI_SCANNER_RAW 的扫描模式。在原始模式下,选项值和部分值按原样处理。
- 修复了 get_cfg_var() 以便能够返回“array” ini 选项。
- 为 ini_get_all() 添加了可选参数,以仅检索当前值。(Hannes)
- 改进了 Windows 支持
- 将所有库更新到其最新的稳定版本。(Pierre, Rob, Liz, Garrett).
- 添加了 Windows 对 stat()、touch()、filemtime()、filesize() 和相关函数的支持。(Pierre)
- 在套接字扩展中为 Windows 重新添加了 socket_create_pair()。(Kalle)
- 为 Windows 平台添加了 inet_pton() 和 inet_ntop()。(Kalle, Pierre)
- 为 Windows 平台添加了 mcrypt_create_iv()。(Pierre)
- 在 Windows 上添加了 ACL 缓存支持。(Kanwaljeet Singla, Pierre, Venkat Raman Don)
- 添加了基于 Windows 的 GetVersionEx 信息的常量。PHP_WINDOWS_VERSION_* 和 PHP_WINDOWS_NT_*。(Pierre)
- 在 Windows 上添加了对 ACL 的支持(is_writable、is_readable,报告现在显示正确的结果)。(Pierre, Venkat Raman Don, Kanwaljeet Singla)
- 在 Windows 上添加了对 fnmatch() 的支持。(Pierre)
- 在 Windows 上添加了对 time_nanosleep() 和 time_sleep_until() 的支持。(Pierre)
- 在 Windows 上添加了对 symlink()、readlink()、linkinfo() 和 link() 的支持。它们仅在运行平台支持它们时可用。(Pierre)
- GMP 扩展现在依赖于 MPIR 而不是 GMP 库。(Pierre)
- 添加了 Windows 对 stream_socket_pair() 的支持。(Kalle)
- 删除了核心功能的所有外部依赖项。(Pierre)
- 极大地改进了构建过程(Pierre, Kalle, Rob)
- VC9(Visual C++ 2008)或更高版本的支持
- 初步的实验性 x64 支持
- MSI 安装程序现在支持所有最新的 Windows 版本,包括 Windows 7。(John, Kanwaljeet Singla)
- 改进了 CGI 代码并进行了清理
- FastCGI 现在始终启用,并且不能禁用。有关更多详细信息,请参阅 sapi/cgi/CHANGES。(Dmitry)
- 添加了 CGI SAPI -T 选项,该选项可用于测量多次重复执行脚本的执行时间。(Dmitry)
- 改进了流
- 修复了在没有记录错误时发生故障时的令人困惑的错误消息。(Greg)
- 添加了 stream_supports_lock() 函数。(Benjamin Schulz)
- 为 copy() 函数添加了上下文参数。(Sara)
- 添加了“glob://”流包装器。(Marcus)
- 为 stream_context_create() 添加了“params”作为可选参数。(Sara)
- 添加了在 include_path 中使用流包装器的功能。(Gregory, Dmitry)
- 改进了 DNS API
- 添加了 Windows 对 dns_check_record()、dns_get_mx()、checkdnsrr() 和 getmxrr() 的支持。(Pierre)
- 添加了对旧式 DNS 函数的支持(支持 OSX 和 FBSD)。(Scott)
- 在 dns_check_record() 中添加了一个新的“entries”数组,其中包含 TXT 元素。(Felipe, Pierre)
- 改进了哈希扩展
- 将 mhash 更改为哈希扩展的包装层。(Scott)
- 添加了 hash_copy() 函数。(Tony)
- 在哈希扩展中添加了 sha224 哈希算法。(Scott)
- 改进了 IMAP 支持(Pierre)
- 添加了 imap_gc() 来清除 imap 缓存
- 添加了 imap_utf8_to_mutf7() 和 imap_mutf7_to_utf8()
- 改进了 mbstring 扩展
- 添加了“mbstring.http_output_conv_mimetypes” INI 指令,该指令允许 mb_output_handler() 转换常见的非文本类型,例如“application/xhtml+xml”。(Moriyoshi)
- 改进了 OCI8 扩展(Chris Jones/Oracle Corp.)
- 添加了数据库驻留连接池 (DRCP) 和快速应用程序通知 (FAN) 支持。
- 添加了对 Oracle 外部身份验证的支持(在 Windows 上不支持)。
- 改进了重新启动的 DB 的持久连接处理。
- 为 oci_bind_by_name 添加了 SQLT_AFC(又名 CHAR 数据类型)支持。
- 修复了错误 #45458(关联数组的数字键未正确处理)
- 修复了错误 #41069(通过 DB 链接查询时出现段错误)。
- 修复了使用 Oracle 10g ORACLE_HOME 构建时 SQLT_BDOUBLE 和 SQLT_BFLOAT 常量的定义。
- 将 oci8.default_prefetch 的默认值从 10 更改为 100。
- 修复了 PECL 错误 #16035(OCI8:未定义 ORACLE_HOME 的 oci_connect 会导致段错误)(Chris Jones/Oracle Corp.)
- 修复了 PECL 错误 #15988(OCI8:使用较旧的 Oracle 库时不会读取 sqlnet.ora)(Chris Jones/Oracle Corp.)
- 修复了 PECL 错误 #14268(允许“pecl install oci8”命令“自动检测”Instant Client RPM 安装)(Chris Jones/Oracle Corp.)
- 修复了 PECL 错误 #12431(OCI8 ping 功能已损坏)。
- 允许使用 PHP 4.3.9 及更高版本构建(例如从 PECL 构建)基于 PHP 5.3 的 OCI8 代码。
- 为 Windows 上的 Oracle 11g 和 10g 提供单独的扩展。(Pierre, Chris)
- 改进了 OpenSSL 扩展
- 添加了对 OpenSSL 摘要和密码函数的支持。(Dmitry)
- 添加了对 DSA、RSA 和 DH 密钥的内部值的访问。(Dmitry)
- 修复了 openssl_decrypt() 中的内存泄漏。(Henrique)
- 修复了由 openssl_pkey_new() 引起的段错误。(Henrique)
- 修复了由 openssl_pkcs7_encrypt() 和 openssl_pkcs7_sign() 中的未初始化变量引起的错误。(Henrique)
- 修复了 openssl_seal() 中的错误消息。(Henrique)
- 改进了 pcntl 扩展:(Arnaud)
- 添加了 pcntl_signal_dispatch()。
- 添加了 pcntl_sigprocmask()。
- 添加了 pcntl_sigwaitinfo()。
- 添加了 pcntl_sigtimedwait()。
- 改进了 SOAP 扩展
- 添加了对 XMLSchema 的 <any> 上下文中的元素名称的支持。(Dmitry)
- 添加了使用 Traversable 对象而不是普通数组的功能。(Joshua Reese, Dmitry)
- 修复了由未初始化的值引起的可能的崩溃错误。(Zdash Urf)
- 改进了 SPL 扩展
- 将 SPL 添加到不能禁用的标准扩展列表中。(Marcus)
- 添加了在 SplObjectStorage 中将关联信息存储在对象中的功能。(Marcus)
- 为 SplObjectStorage 添加了 ArrayAccess 支持。(Marcus)
- 添加了 SplDoublyLinkedList、SplStack、SplQueue 类。(Etienne)
- 添加了 FilesystemIterator。(Marcus)
- 添加了 GlobIterator。(Marcus)
- 添加了 SplHeap、SplMinHeap、SplMaxHeap、SplPriorityQueue 类。(Etienne)
- 为 spl_autoload_register() 添加了新的参数 $prepend。(Etienne)
- 添加了 SplFixedArray。(Etienne, Tony)
- 添加了在 SPL 的自动加载机制中延迟异常的功能。(Marcus)
- 添加了 RecursiveTreeIterator。(Arnaud, Marcus)
- 添加了 MultipleIterator。(Arnaud, Marcus, Johannes)
- 改进的 Zend 引擎
- 为 Zend MM 存储添加了“compact”处理程序。(Dmitry)
- 为 zend_parse_parameters() 添加了“+”和“*”说明符。(Andrei)
- 添加了“延迟早期绑定”的概念,该概念允许操作码缓存以与普通 PHP 完全相同的顺序执行类声明(早期和/或运行时绑定)。(Dmitry)
- 改进了 crypt() 函数:(Pierre)
- 添加了 Blowfish 和扩展的 DES 支持。(使用来自 Solar Designer 的 Blowfish 实现)。
- 通过为 crypt_r 和当操作系统未提供它们时使用的算法提供我们自己的实现,使 crypt 功能可移植。PHP 实现始终用于 Windows 构建。
- 弃用 session_register()、session_unregister() 和 session_is_registered()。(Hannes)
- 弃用 define_syslog_variables()。(Kalle)
- 弃用 ereg 扩展。(Felipe)
- 添加了新的扩展
- 添加了 Enchant 扩展作为访问拼写检查器的一种方式。(Pierre)
- 添加了 fileinfo 扩展作为 mime_magic 扩展的替代。(Derick)
- 添加了 intl 扩展用于国际化。(Ed B., Vladimir I., Dmitry L., Stanislav M., Vadim S., Kirti V.)
- 添加了 mysqlnd 扩展作为 libmysql 的替代,用于 ext/mysql、mysqli 和 PDO_mysql。(Andrey, Johannes, Ulf)
- 添加了 phar 扩展用于处理 PHP 存档。(Greg, Marcus, Steph)
- 添加了 SQLite3 扩展。(Scott)
- 添加了新的日期/时间功能:(Derick)
- date_parse_from_format():根据格式解析日期/时间字符串。
- date_create_from_format()/DateTime::createFromFormat():通过根据给定格式解析日期/时间字符串来创建日期/时间对象。
- date_get_last_errors()/DateTime::getLastErrors():返回在通过以下方式解析日期/时间字符串时发现的警告和错误列表
- strtotime() / new DateTime
- date_create_from_format() / DateTime::createFromFormat()
- date_parse_from_format()。
- 支持“e”格式说明符、DateTime::__construct()、DateTime::getTimeZone() 和 DateTimeZone::getName() 的缩写和基于偏移量的时区说明符。
- 支持通过 timezone_identifiers_list() / DateTimezone::listIdentifiers() 选择性地列出按大陆或国家/地区代码划分的时区标识符。
- timezone_location_get() / DateTimezone::getLocation() 用于从时区检索位置信息。
- date_timestamp_set() / DateTime::setTimestamp() 用于设置 Unix 时间戳,而不会调用日期解析器。(Scott, Derick)
- date_timestamp_get() / DateTime::getTimestamp() 用于检索属于日期对象的 Unix 时间戳。
- timezone_transitions_get() / DateTimeZone::getTranstions() 的两个可选参数,用于限制返回的转换范围。
- 支持“<month> 的第一天/最后一天”样式文本。
- 支持 MS SQL 返回的日期/时间字符串。
- 支持 DateTime 对象的序列化和反序列化。
- 支持通过 date_diff() / DateTime::diff() 对日期/时间进行差异化。
- 支持使用 strtotime() 和 DateTime::modify() 添加/减去工作日。
- DateInterval 类表示两个日期/时间之间的差值。
- 支持解析 ISO 间隔以用于 DateInterval。
- date_add() / DateTime::add()、date_sub() / DateTime::sub() 用于将间隔应用于现有日期/时间。
- 对“本周”、“上周/上周”和“下周”短语的正确支持,使它们实际上表示一周而不是围绕当前日期的七天期限。
- 支持“<xth> <weekday> of”和“last <weekday> of”短语,这些短语用于月份 - 就像在“2008 年 2 月的最后一个星期六”中一样。
- 支持苏格兰使用的“<hour> 的后半部分”和“<hour> 的前半部分”短语。
- DatePeriod 类支持在每次迭代中对 DateTime 对象应用 DateInterval,直到到达结束日期或受最大出现次数限制为止。
- 在 GD 中添加了兼容模式,imagerotate、image(filled)ellipse imagefilter、imageconvolution 和 imagecolormatch 现在始终启用。(Pierre)
- 添加了 array_replace() 和 array_replace_recursive() 函数。(Matt)
- 添加了 ReflectionProperty::setAccessible() 方法,该方法允许通过 ::getValue() 读取非公共属性的值,并通过 ::setValue() 设置值。(Derick, Sebastian)
- 为 sysvmsg 扩展添加了 msg_queue_exists() 函数。(Benjamin Schulz)
- 添加了可以通过 PDO::setAttribute() 设置的 Firebird 特定属性,以控制日期/时间列的格式:PDO::FB_ATTR_DATE_FORMAT、PDO::FB_ATTR_TIME_FORMAT 和 PDO::FB_ATTR_TIMESTAMP_FORMAT。(Lars W)
- 添加了 gmp_testbit() 函数。(Stas)
- 为 getimagesize() 添加了图标格式支持。(Scott)
- 为 ldap_set_option() 添加了 LDAP_OPT_NETWORK_TIMEOUT 选项,以允许设置网络超时 (FR #42837)。(Jani)
- 为 fgetcsv() 添加了可选的转义字符参数。(David Soria Parra)
- 为 strstr() 和 stristr() 添加了一个可选参数,用于检索 haystack 中 needle 首次出现之前或之后的某个部分。(Johannes, Felipe)
- 为样式表添加了 xsl->setProfiling() 用于分析。(Christian)
- 为 getopt() 添加了长选项功能,并通过将通用 getopt 实现添加到核心,使 getopt() 也在 win32 系统上可用。(David Soria Parra, Jani)
- 在 getopt() 中添加了对可选值的支持,以及 = 作为分隔符。(Hannes)
- 添加了 lcfirst() 函数。(David C)
- 添加了 PREG_BAD_UTF8_OFFSET_ERROR 常量。(Nuno)
- 添加了对 asinh()、acosh()、atanh()、log1p() 和 expm1() 的本机支持。(Kalle)
- 添加了 LIBXML_LOADED_VERSION 常量(当前使用的 libxml2 版本)。(Rob)
- 为 json_encode() 添加了 JSON_FORCE_OBJECT 标志。(Scott, Richard Quadling)
- 添加了 timezone_version_get() 用于检索使用的时区数据库的版本。(Derick)
- 在 fopen 中添加了 'n' 标志,允许将 O_NONBLOCK 传递给底层的 open(2) 系统调用。(Mikko)
- 添加了“dechunk”过滤器,可以解码带有分块传输编码的 HTTP 响应。HTTP 流在响应中存在“Transfer-Encoding: chunked”头时会自动使用此过滤器。可以使用流上下文中的“http”=>array("auto_decode"=>0) 来禁用此行为。(Dmitry)
- 在 mbstring 扩展中添加了对 CP850 编码的支持。(Denis Giffeler, Moriyoshi)
- 为用户空间流包装器添加了 stream_cast() 和 stream_set_options(),允许 stream_select()、stream_set_blocking()、stream_set_timeout() 和 stream_set_write_buffer() 与用户空间流包装器一起使用。(Arnaud)
- 添加了 header_remove() 函数。(chsc at peytz dot dk, Arnaud)
- 添加了 stream_context_get_params() 函数。(Arnaud)
- 在 sybase_connect() 中添加了可选参数“new”。(Timm)
- 添加了 parse_ini_string() 函数。(grange at lemonde dot fr, Arnaud)
- 添加了 str_getcsv() 函数。(Sara)
- 添加了 openssl_random_pseudo_bytes() 函数。(Scott)
- 添加了使用 SOAP 请求发送用户定义的 HTTP 头的能力。(Brian J.France, Dmitry)
- 在 bz2.decompress 流过滤器中添加了连接选项。(Keisial at gmail dot com, Greg)
- 添加了对使用 PDO_mysql 的压缩连接的支持。(Johannes)
- 添加了 json_decode() 的能力,可以接受用户指定的深度。(Scott)
- 添加了 libmysql 中的 mysql_stmt_next_result() 函数的支持。(Andrey)
- 添加了 preg_filter() 函数,该函数可以一次性执行 grep 和替换。(Marcus)
- 添加了与系统无关的 realpath() 实现,它在 realpath-cache 中缓存中间目录。(Dmitry)
- 在 clearstatcache() 中添加了可选的 clear_realpath_cache 和 filename 参数,用于清除缓存。(Jani, Arnaud)
- 添加了 litespeed SAPI 模块。(George Wang)
- 将 ext/hash 支持添加到 ext/session 的 ID 生成器。(Sara)
- 添加了 quoted_printable_encode() 函数。(Tony)
- 添加了 stream_context_set_default() 函数。(Davey Shafik)
- 在 nl2br() 中添加了可选的“is_xhtml”参数,当为假时该函数输出 <br>,当为真时输出 <br /> (FR #34381。(Kalle)
- 添加了 PHP_MAXPATHLEN 常量(路径的最大长度)。(Pierre)
- 在 cURL 中添加了对通过 libssh2 使用 SSH 的支持。(Pierre)
- 在 GD 扩展中添加了对具有 alpha 通道的灰度 PNG 图像的支持。(Pierre)
- 在 HASH 扩展中添加了对 salsa 哈希函数的支持。(Scott)
- 添加了 DOMNode::getLineNo 以获取解析节点的行号。(Rob)
- 在使用 SQLite 时将表信息添加到 PDO::getColumnMeta()。(Martin Jansen, Scott)
- 添加了邮件记录功能,允许记录通过 mail() 函数发送的邮件。(Ilia)
- 添加了 json_last_error() 以返回 json_decode() 中的任何错误信息。(Scott)
- 添加了 gethostname() 以返回当前系统的主机名。(Ilia)
- 添加了 shm_has_var() 函数。(Mike)
- 添加了 json_decode() 的深度参数,以根据需要降低嵌套深度,而不是最大深度。(Scott)
- 在 imagefilter() 中添加了像素化支持。(Takeshi Abe, Kalle)
- 添加了 SplObjectStorage::addAll/removeAll。(Etienne)
- 实现了 FR #41712 (curl 进度回调:CURLOPT_PROGRESSFUNCTION)。(sdteffen[at]gmail[dot].com, Pierre)
- 实现了 FR #47739 (缺少 cURL 选项以禁用 IPv6)。(Pierre)
- 实现了 FR #39637 (缺少 cURL 选项 CURLOPT_FTP_FILEMETHOD)。(Pierre)
- 修复了 ReflectionProperty::setAccessible() 的问题。(Sebastian, Roman Borschel)
- 修复了 html_entity_decode() 在 cp1251 和 cp866 中将数字 html 实体错误地转换为不同字符的问题。(Scott)
- 修复了 date() 中在使用 P 修饰符后,对 O 修饰符打印 : 的问题。(Derick)
- 修复了 Windows 上的 exec(),使其不再吞噬第一个和最后一个双引号。(Scott)
- 修复了线程安全 SAPI (apache2.x 等) 中 Windows 上的 readlink。(Pierre)
- 修复了导致使用“last <weekday> of <n> month”相对时间字符串时出现错误计算的错误。(Derick)
- 修复了导致 mhash() 的 algorithm 参数被修改的错误。(Scott)
- 修复了在使用内部 fileinfo 魔术文件时对 free 的无效调用。(Scott)
- 修复了 wddx_add_vars() 函数内部的内存泄漏。(Felipe)
- 修复了 recode 扩展中的检查,允许在使用最新 libmysql 时构建 recode 和 mysql 扩展。(Johannes)
- 修复了 PECL 错误 #12794 (PDOStatement->nextRowset() 不起作用)。(Johannes)
- 修复了 PECL 错误 #12401 (添加对 ATTR_FETCH_TABLE_NAMES 的支持)。(Johannes)
- 修复了错误 #48696 (ldap_read() 使用无效参数会导致段错误)。(Felipe)
- 修复了错误 #48643 (字符串函数内存问题)。(Dmitry)
- 修复了错误 #48641 (tmpfile() 使用旧的参数解析)。(crrodriguez at opensuse dot org)
- 修复了错误 #48624 (.user.ini 从未被解析)。(Pierre)
- 修复了错误 #48620 (X-PHP-Originating-Script 假设现有头中没有尾随 CRLF)。(Ilia)
- 修复了错误 #48578 (无法在 FBSD 4.11 上构建 5.3)。(Rasmus)
- 修复了错误 #48535 (当使用模拟时,file_exists 返回 false)。(Kanwaljeet Singla, Venkat Raman Don)
- 修复了错误 #48493 (spl_autoload_register() 在预先添加函数时无法正常工作)。(Scott)
- 修复了错误 #48215 (使用与父类同名的名称调用方法会调用构造函数)。(Scott)
- 修复了错误 #48200 (当使用 --enable-zend-multibyte 时,mbstring.c 编译失败)。(Jani)
- 修复了错误 #48188 (无法使用 PDO_PGSQL 两次执行可滚动游标)。(Matteo)
- 修复了错误 #48185 (警告:在 pdo_sqlite_stmt_get_col 第 271 行中计算的值未使用)。(Matteo)
- 修复了错误 #48087 (call_user_method() 对参数的无效释放)。(Felipe)
- 修复了错误 #48060 (pdo_pgsql - 大对象被返回为空)。(Matteo)
- 修复了错误 #48034 (当脚本长度为 8192 (8KB) 字节时,PHP 会崩溃)。(Dmitry)
- 修复了错误 #48004 (错误处理程序阻止创建默认对象)。(Dmitry)
- 修复了错误 #47880 (call_user_func_array() 中崩溃)。(Dmitry)
- 修复了错误 #47856 (stristr() 将 needle 转换为小写)。(Ilia)
- 修复了错误 #47851 (is_callable 抛出致命错误)。(Dmitry)
- 修复了错误 #47816 (pcntl 测试在 NetBSD 上失败)。(Matteo)
- 修复了错误 #47779 (SIG_UNBLOCK 和 SIG_SETMASK 常量的错误值)。(Matteo)
- 修复了错误 #47771 (从 arg 调用中构造对象期间的异常会导致调用对象的析构函数)。(Dmitry)
- 修复了错误 #47767 (include_once 无法解析 Windows 符号链接或连接点)(Kanwaljeet Singla, Venkat Raman Don)
- 修复了错误 #47757 (在 phpinfo 中将 JPG 重命名为 JPEG)。(Pierre)
- 修复了错误 #47745 (FILTER_VALIDATE_INT 不允许最小整数)。(Dmitry)
- 修复了错误 #47714 (在 exception_handler 中自动加载类会导致崩溃)。(Dmitry)
- 修复了错误 #47671 (克隆 SplObjectStorage 实例)。(Etienne)
- 修复了错误 #47664 (get_class 返回 NULL 而不是 FALSE)。(Dmitry)
- 修复了错误 #47662 (在 preg_match 中支持超过 127 个子模式)。(Nuno)
- 修复了错误 #47596 (解析文件时出现总线错误)。(Dmitry)
- 修复了错误 #47572 (未定义的常量会导致段错误)。(Felipe)
- 修复了错误 #47560 (explode() 的 limit 参数行为异常)。(Matt)
- 修复了错误 #47549 (get_defined_constants() 返回数组,其中包含损坏的数组类别)。(Ilia)
- 修复了错误 #47535 (ps_fetch_from_1_to_8_bytes() 中的编译错误)。(Johannes)
- 修复了错误 #47534 (RecursiveDiteratoryIterator::getChildren 忽略 CURRENT_AS_PATHNAME)。(Etienne)
- 修复了错误 #47443 (metaphone('scratch') 返回错误的结果)。(Felipe)
- 修复了错误 #47438 (mysql_fetch_field 忽略零偏移量)。(Johannes)
- 修复了错误 #47398 (PDO_Firebird 无法正确实现引号器)。(Felipe)
- 修复了错误 #47390 (odbc_fetch_into - PHP 5.3.0 中的 BC)。(Felipe)
- 修复了错误 #47359 (对 bmp 文件使用预期的非官方 MIME 类型)。(Scott)
- 修复了错误 #47343 (gc_collect_cycles 在某些情况下在析构函数中调用会导致段错误)。(Dmitry)
- 修复了错误 #47320 (函数中的 $php_errormsg 处于作用域之外)。(Dmitry)
- 修复了错误 #47318 (尝试激活用户配置时的 UMR)。(Pierre)
- 修复了错误 #47243 (OCI8:Windows 上关闭时崩溃)(Chris Jones/Oracle Corp.)
- 修复了错误 #47231 (使用错误偏移量时的 offsetGet 错误)。(Etienne)
- 修复了错误 #47229 (preg_quote() 应该转义 '-' 字符)。(Nuno)
- 修复了错误 #47165 (通过引用传递返回值时可能出现内存损坏)。(Dmitry)
- 修复了错误 #47087 (mssql_fetch_array() 的第二个参数)。(Felipe)
- 修复了错误 #47085 (即使 PHAR 中的文件不存在,rename() 也返回 true)。(Greg)
- 修复了错误 #47050 (mysqli_poll() 修改了不正确的变量)。(Johannes)
- 修复了错误 #47045 (使用 == 比较 SplObjectStorage 实例)。(Etienne)
- 修复了错误 #47038 (include 中的内存泄漏)。(Dmitry)
- 修复了错误 #47031 (修复 DualIterator 示例中的常量)。(Etienne)
- 修复了错误 #47021 (SoapClient 在使用“Transfer-Encoding: chunked”传输的 WSDL 时绊倒)。(Dmitry)
- 修复了错误 #46994 (OCI8:在存储过程中使用 CLOB IN OUT 参数时,CLOB 大小不会更新)(Chris Jones/Oracle Corp.)
- 修复了错误 #46979 (使用非复合名称 *有* 影响)。(Dmitry)
- 修复了错误 #46957 (词法分析器返回已弃用的值)。(Felipe)
- 修复了错误 #46944 (BMP 之外的 UTF-8 字符无法正确编码)。(Scott)
- 修复了错误 #46897 (ob_flush() 应该无法刷新不可擦除的缓冲区)。(David C.)
- 修复了错误 #46849 (克隆 DOMDocument 不会克隆属性)。(Rob)
- 修复了错误 #46847 (phpinfo() 缺少一些设置)。(Hannes)
- 修复了错误 #46844 (第一行以 # 开头的 php 脚本或包含文件会从输出中丢失第一行)。(Ilia)
- 修复了错误 #46817 (词法分析器会错过最后一个单行注释 (PHP 5.3+,使用 re2c 词法分析器))。(Matt, Shire)
- 修复了错误 #46811 (ini_set() 在失败时不会返回 false)。(Hannes)
- 修复了错误 #46763 (mb_stristr() 在 needle 不存在时输出错误)。(Henrique M. Decaria)
- 修复了错误 #46755 (警告:使用非复合名称的 use 语句)。(Dmitry)
- 修复了错误 #46746 (xmlrpc_decode_request 在提供错误数据时输出不可抑制的错误)。(Ilia)
- 修复了错误 #46738 (mb_detect_encoding() 失败时出现段错误)。(Scott)
- 修复了错误 #46731 (缺少对 imap_fetch_overview() 函数的 options 参数的验证)。(Ilia)
- 修复了错误 #46711 (cURL curl_setopt 在 foreach 循环中泄漏内存)。(magicaltux [at] php [dot] net)
- 修复了错误 #46701 (在 32 位 Linux 上,使用长值作为键创建关联数组会失败)。(Shire)
- 修复了错误 #46681 (mkdir() 在 PHP 5.3 上会静默失败)。(Hannes)
- 修复了错误 #46653 (无法扩展 mysqli)。(Johannes)
- 修复了错误 #46646 (使用异常限制对某些内部类(如 Closure 和 SplFileInfo)的序列化)。(Etienne)
- 修复了错误 #46623 (OCI8:phpinfo 在使用 phpize 时不会显示编译时的 ORACLE_HOME)(Chris Jones/Oracle Corp.)
- 修复了 bug #46578(strip_tags() 在遇到单引号时无法识别注释结束符)。(Felipe)
- 修复了 bug #46546(使用带有非字符串值的 declare 语句时出现段错误)。(Felipe)
- 修复了 bug #46542(使用 __call() 函数扩展 PDO 类无法按预期工作)。(Johannes)
- 修复了 bug #46421(SplFileInfo 无法正确处理 /)。(Etienne)
- 修复了 bug #46347(parse_ini_file() 不支持键中的 *)。(Nuno)
- 修复了 bug #46268(DateTime::modify() 不会重置相对时间值)。(Derick)
- 修复了 bug #46241(堆叠的错误处理程序,一般的内部错误处理)。(Etienne)
- 修复了 bug #46238(使用空字符串方法进行静态调用时出现段错误)。(Felipe)
- 修复了 bug #46192(将对象作为存储序列化使用的 ArrayObject)。(Etienne)
- 修复了 bug #46185(importNode 会更改 XML 元素的命名空间)。(Rob)
- 修复了 bug #46178(ext/phar 中存在内存泄漏)。(Greg)
- 修复了 bug #46160(SPL - 在 offsetSet 中抛出异常时发生内存泄漏)。(Felipe)
- 修复了 bug #46147(在流查找后,追加流过滤器读取不正确的数据)。(Greg)
- 修复了 bug #46127(php_openssl_tcp_sockop_accept 忘记在已接受的流上设置上下文)(Mark Karpeles,Pierre)
- 修复了 bug #46115(使用反射调用方法时发生内存泄漏)。(Dmitry)
- 修复了 bug #46110(XMLWriter - openmemory() 和 openuri() 在多次调用时发生内存泄漏)。(Ilia)
- 修复了 bug #46108(DateTime - 反序列化时发生内存泄漏)。(Felipe)
- 修复了 bug #46106(使用 global 语句时发生内存泄漏)。(Dmitry)
- 修复了 bug #46099(Xsltprocessor::setProfiling - 内存泄漏)。(Felipe,Rob)
- 修复了 bug #46087(DOMXPath - 在销毁克隆对象时发生段错误)。(Ilia)
- 修复了 bug #46048(SimpleXML 顶层 @attributes 不属于迭代器)。(David C.)
- 修复了 bug #46044(Mysqli - 错误消息错误)。(Johannes)
- 修复了 bug #46042(使用 mb_convert_encoding() 的反射会发生内存泄漏)。(Ilia)
- 修复了 bug #46039(ArrayObject 迭代速度慢)。(Arnaud)
- 修复了 bug #46033(直接实例化 SQLite3stmt 和 SQLite3result 会导致段错误)。(Scott)
- 修复了 bug #45991(带有 UTF-8 BOM 的 Ini 文件被视为无效)。(Scott)
- 修复了 bug #45989(json_decode() 在某些无效字符串上没有返回 NULL)。(magicaltux,Scott)
- 修复了 bug #45976(将 SXE 从 SPL 移动到 SimpleXML)。(Etienne)
- 修复了 bug #45928(来自 stdin 的大型脚本在 16K 边界被截断)。(Christian Schneider,Arnaud)
- 修复了 bug #45911(无法禁用 ext/hash)。(Arnaud)
- 修复了 bug #45907(未定义对 'PHP_SHA512Init' 的引用)。(Greg)
- 修复了 bug #45826(自定义 ArrayObject 序列化)。(Etienne)
- 修复了 bug #45820(允许 ArrayObject 中的空键)。(Etienne)
- 修复了 bug #45791(json_decode() 不会将 0e0 转换为双精度数)。(Scott)
- 修复了 bug #45786(FastCGI 进程意外退出)。(Dmitry)
- 修复了 bug #45757(FreeBSD4.11 构建失败:包含失败;stdint.h)。(Hannes)
- 修复了 bug #45743(property_exists 无法在子类中找到静态受保护的成员)。(Felipe)
- 修复了 bug #45717(Fileinfo/libmagic 构建失败,缺少 err.h 和 getopt.h)。(Derick)
- 修复了 bug #45706(从 ArrayIterator 派生的类的反序列化失败)。(Etienne,Dmitry)
- 修复了 bug #45696(并非所有 DateTime 方法都允许方法链接)。(Derick)
- 修复了 bug #45682(无法 var_dump(DateInterval))。(Derick)
- 修复了 bug #45447(Vista 和服务器 2008 上的文件系统时间函数)。(Pierre)
- 修复了 bug #45432(PDO:持久连接泄漏)。(Felipe)
- 修复了 bug #45392(ob_start()/ob_end_clean() 和 memory_limit)。(Ilia)
- 修复了 bug #45384(parse_ini_file 在没有尾随换行符的情况下会导致解析错误)。(Arnaud)
- 修复了 bug #45382(stream_socket_enable_crypto 中的超时错误)。(vnegrier at optilian dot com,Ilia)
- 修复了 bug #45044(相对路径未正确解析)。(Dmitry)
- 修复了 bug #44861(可滚动游标不适用于 pgsql)。(Matteo)
- 修复了 bug #44842(parse_ini_file 键以下划线开头/结尾)。(Arnaud)
- 修复了 bug #44575(parse_ini_file 注释 # 行问题)。(Arnaud)
- 修复了 bug #44409(PDO::FETCH_SERIALIZE 调用 __construct())。(Matteo)
- 修复了 bug #44173(PDO->query() 参数解析/检查需要更新)。(Matteo)
- 修复了 bug #44154(pdo->errorInfo() 在返回的数组中始终具有三个元素)。(David C.)
- 修复了 bug #44153(pdo->errorCode() 在没有错误时返回 NULL)。(David C.)
- 修复了 bug #44135(PDO MySQL 不支持 CLIENT_FOUND_ROWS)。(Johannes,chx1975 at gmail dot com)
- 修复了 bug #44100(对具有重复键的静态数组声明的处理不一致)。(Dmitry)
- 修复了 bug #43831(使用持久连接扩展 PDO 时 $this 被破坏)。(Felipe)
- 修复了 bug #43817(opendir() 在父目录不可访问的 Windows 目录上失败)。(Dmitry)
- 修复了 bug #43069(SoapClient 导致 505 HTTP 版本不支持错误消息)。(Dmitry)
- 修复了 bug #43008(php://filter URI 忽略 URL 编码的过滤器名称并且无法处理斜杠)。(Arnaud)
- 修复了 bug #42362(HTTP 状态代码 204 和 304 不应进行 gzip 压缩)。(Scott,Edward Z. Yang)
- 修复了 bug #41874(在 exec 函数中将 STDOUT 和 STDERR 分开)。(Kanwaljeet Singla,Venkat Raman Don,Pierre)
- 修复了 bug #41534(通过 HTTPS 的 SoapClient 无法重新建立连接)。(Dmitry)
- 修复了 bug #38802(max_redirects 和 ignore_errors)。([email protected] 的补丁)
- 修复了 bug #35980(touch() 可以对文件起作用,但不能对目录起作用)。(Pierre)
版本 5.2.17
- 修复了 bug #53632(PHP 在数值 2.2250738585072011e-308 上挂起)。(CVE-2010-4645)(Rasmus,Scott)
版本 5.2.16
- 修复了 bug #53517(当 postgres 停止时,pgsql_stmt_execute() 中出现段错误)。(gyp at balabit dot hu)
- 修复了 bug #53516(open_basedir 处理的回归)。(Ilia)
版本 5.2.15
- 修复了 extract(),使其在使用 EXTR_OVERWRITE 时不会覆盖 $GLOBALS 和 $this。(jorto at redhat dot com)
- 修复了 zip 提取方法中的崩溃问题(可能的 CWE-170)。(Maksymilian Arciemowicz,Pierre)
- 修复了 imap 扩展中可能存在的双重释放问题(由 Mateusz Kocielski 发现)。(CVE-2010-4150)。(Ilia)
- 修复了 open_basedir 中可能的缺陷。(CVE-2010-3436)。(Pierre)
- 修复了 mssql_fetch_batch() 中可能发生的崩溃问题。(Kalle)
- 修复了 ZipArchive::getArchiveComment 中的空指针解引用问题。(CVE-2010-3709)。(Maksymilian Arciemowicz)
- 修复了 bug #53492(如果抗锯齿步骤无效,则修复崩溃问题)。(Pierre)
- 修复了 #53323 错误(pdo_firebird getAttribute() 崩溃)。(preeves at ibphoenix dot com)
- 修复了 bug #52929(使用大量数据时,filter_var 使用 FILTER_VALIDATE_EMAIL 出现段错误)。(CVE-2010-3709)。(Adam)
- 修复了 bug #52879(在 __get、__set、__isset 或 __unset 中未引用的对象可能过早释放)。(mail_ben_schmidt at yahoo dot com dot au,Dmitry)
- 修复了 bug #52772(var_dump() 在调用 get_class_name 之前没有检查其是否存在)。(Kalle,Gustavo)
- 修复了 bug #52546(迭代 MONEY 值时,pdo_dblib 出现段错误)。(Felipe,Adam)
- 修复了 bug #52436(如果系统没有 stdint.h,则出现编译错误)(Sriram Natarajan)
- 修复了 #52390 错误(mysqli_report() 应该设置为每个请求)。(Kalle)
- 修复了 bug #51008(Zend/tests/bug45877.phpt 失败)。(Dmitry)
- 修复了 bug #47643(array_diff() 的速度比 php 5.2.4 慢 3000 多倍)。(Felipe)
- 修复了 #44248 错误(通过使用代理的 SoapClient 对象进行 HTTPS 请求时,违反了 RFC2616)。(Dmitry)
版本 5.2.14
- 回滚了 bug 修复 #49521(PDO fetchObject 在调用构造函数之前设置值)。(Felipe)
- 将时区数据库更新到 2010.5 版。(Derick)
- 将捆绑的 PCRE 升级到版本 8.02。(Ilia)
- 重写了 var_export() 以使用 smart_str 而不是输出缓冲,如果发生致命错误,则会阻止数据泄露(CVE-2010-2531)。(Scott)
- 修复了 strrchr() 中可能的 interrupt 数组泄漏。由 Péter Veres 报告。(CVE-2010-2484)(Felipe)
- 修复了 strchr()、strstr()、substr()、chunk_split()、strtok()、addcslashes()、str_repeat()、trim() 中可能的 interrupt 数组泄漏。(Felipe)
- 修复了 substr_replace() 中可能的内存损坏。(Dmitry)
- 修复了 SplObjectStorage 反序列化问题(CVE-2010-2225)。(Stas)
- 修复了 fnmatch() 中可能的堆栈耗尽。由 Stefan Esser 报告。(Ilia)
- 在 PDO::beginTransaction() 中重置错误状态,以重置错误状态。(Ilia)
- 修复了处理无效 XML-RPC 请求时出现的 NULL 指针解引用(修复 CVE-2010-0397,错误 #51288)。(Raphael Geissert)
- 修复了在某些前缀字符上处理会话变量序列化的问题。由 Stefan Esser 报告。(Ilia)
- 修复了 sqlite 扩展内部可能出现的任意内存访问。由 Mateusz Kocielski 报告。(Ilia)
- 修复了在调用直接实例化的类(而不是通过 PDO 方法实例化)的非存在方法时,会导致崩溃。(Felipe)
- 修复了 #52317 错误(在 rhel 4.x(仅限 64 位)上使用 mail() 时出现段错误)。(Adam)
- 修复了 #52238 错误(当迭代器数组中出现异常时,会崩溃)。(Johannes)
- 修复了 bug #52237(将非对象的属性的引用传递时崩溃)。(Dmitry)
- 修复了 bug #52163(SplFileObject::fgetss() 由于无法设置参数而失败)。(Felipe)
- 修复了 #52162 错误(包含数字的自定义请求头变量被删除了)。(Sriram Natarajan)
- 修复了 #52160 错误(无效的 E_STRICT 重新定义构造函数错误)。(Felipe)
- 修复了 bug #52061(memory_limit 超过 2G)。(Felipe)
- 修复了 #52041 错误(在未初始化的变量(从函数返回)上写入时,出现内存泄漏)。(Dmitry)
- 修复了错误 #52037(install-programs 中并发构建失败)。(seanius at debian dot org,Kalle)
- 修复了错误 #52019(make lcov 不再支持 TESTS 变量)。(Patrick)
- 修复了 bug #52010(vacuum 命令上的 open_basedir 限制不匹配)。(Ilia,Felipe)
- 修复了错误 #51943(AIX:几个文件不符合 ANSI 规范)。(Kalle,coreystup at gmail dot com)
- 修复了错误 #51911(ReflectionParameter::getDefaultValue() 在常量数组上发生内存泄漏)。(Felipe)
- 修复了错误 #51905(如果默认值为包含对 self:: 的访问的数组,则 ReflectionParameter 失败)。(Felipe)
- 修复了错误 #51822(静态类变量的奇怪 __destruct() 导致段错误)。(Dmitry)
- 修复了错误 #51671(imagefill 对小图像的处理不正确)。(Pierre)
- 修复了错误 #51670(在调用 nextRowset 后重新执行查询时,getColumnMeta 导致段错误)。(Pierrick)
- 修复了错误 #51629(CURLOPT_FOLLOWLOCATION 错误消息具有误导性)。(Pierre)
- 修复了 bug #51617(PDO PGSQL 仍然无法与 PostGreSQL <7.4 兼容)。(Felipe,wdierkes at 5dollarwhitebox dot org)
- 修复了错误 #51615(PHP 在 SimpleXML 中出现错误的 HTML 时崩溃)。(Felipe)
- 修复了错误 #51609(pg_copy_to:使用第四个参数时结果无效)。(Felipe)
- 修复了错误 #51608(pg_copy_to:警告:字符串文字中非标准使用 \\)。(cbandy at jbandy dot com)
- 修复了错误 #51607(pg_copy_from 不允许在 tablename 参数中使用模式)。(cbandy at jbandy dot com)
- 修复了错误 #51604(标头末尾的换行符显示在消息开头)。(Daniel Egeberg)
- 修复了错误 #51562(mssql 中的查询超时无法按查询更改)。(ejsmont dot artur at gmail dot com)
- 修复了错误 #51552(debug_backtrace() 导致段错误和/或内存问题)。(Dmitry)
- 修复了 bug #51532(SplFileObject::fscanf() 的原型错误)。(Etienne)
- 修复了错误 #51445(var_dump() 无效/缓慢的 *RECURSION* 检测)。(Felipe)
- 修复了错误 #51393(如果格式字符串包含时区,则 DateTime::createFromFormat() 失败)。(Adam)
- 修复了 bug #51374(对象属性初始化错误)。(Etienne)
- 修复了错误 #51338(如果 use_only_cookies 处于开启状态,则 URL-Rewriter 仍然处于启用状态)。(Ilia,j dot jeising at gmail dot com)
- 修复了错误 #51273(当 faultstring 为空时,Faultstring 属性不存在)(Ilia, dennis at transip dot nl)
- 修复了错误 #51269(zlib.output_compression 覆盖 Vary 标头)。(Adam)
- 修复了 bug #51263(imagettftext 和旋转文本使用错误的基线)(cschneid at cschneid dot com,Takeshi Abe)
- 修复了错误 #51237(milter SAPI 在启动时崩溃)。(igmar at palsenberg dot com)
- 修复了错误 #51213(pdo_mssql 正在修剪 money 列的值)。(Ilia, alexr at oplot dot com)
- 修复了 bug #51192(FILTER_VALIDATE_URL 会使包含 '-' 的主机名无效)。(Adam,solar at azrael dot ws)
- 修复了错误 #51190(ftp_put() 在传输成功时返回 false)。(Ilia)
- 修复了错误 #51183(ext/date/php_date.c 无法使用 Sun Studio 编译)。(Sriram Natarajan)
- 修复了错误 #51171(curl_setopt() 在提供无效选项时不输出任何错误或警告)。(Ilia)
- 修复了错误 #51128(imagefill() 不适用于大型图像)。(Pierre)
- 修复了错误 #51086(DBA DB4 不适用于 Berkeley DB 4.8)。(Chris Jones)
- 修复了错误 #51062(DBA DB4 使用不匹配的标头和库)。(Chris Jones)
- 修复了错误 #51023(过滤器无法使用 GCC 4.4 检测整数溢出)。(Raphael Geissert)
- 修复了错误 #50762(在 WSDL 模式下,Soap 标头处理程序函数仅在 WSDL 中定义时才被调用)。(mephius at gmail dot com)
- 修复了 bug #50698(SoapClient 应该处理具有某些不兼容端点的 wsdl)。(Justin Dearing)
- 修复了 bug #50383(在 __call() / __callStatic() 中抛出的异常在跟踪中不包含文件和行)。(Felipe)
- 修复了 bug #49730(Firebird - new PDO() 返回 NULL)。(Felipe)
- 修复了 bug #49723(使用空 SeekableIterator 的 LimitIterator)。(Etienne)
- 修复了错误 #49576(FILTER_VALIDATE_EMAIL 过滤器需要更新)(Rasmus)
- 修复了错误 #49320(SQLite 连接失败时 PDO 返回 null)。(Felipe)
- 修复了 bug #49267(iconv 的链接失败)。(Moriyosh)
- 修复了错误 #48601(xpath() 对合法查询返回 FALSE)。(Rob)
- 修复了错误 #48289(iconv_mime_encode() 的 quoted-printable 方案已损坏)。(Adam,来自 hiroaki dot kawai at gmail dot com 的补丁)。
- 修复了 bug #43314(iconv_mime_encode(),Q 方案损坏)。(Rasmus)
- 修复了错误 #33210(getimagesize() 在某些 JPEG 上无法检测宽度/高度)。(Ilia)
- 修复了 bug #23229(syslog() 截断消息)。(Adam)
版本 5.2.13
- 安全修复
- 改进了 LCG 熵。(Rasmus, Samy Kamkar)
- 修复了当目录路径不以“/”结尾时 tempnam() 中的 safe_mode 验证。(Martin Jansen)
- 修复了 Grzegorz Stachowiak 发现的会话扩展中可能存在的 open_basedir/safe_mode 绕过问题。(Ilia)
- 将时区数据库更新到 2010.2 版。(Derick)
- 将捆绑的 PCRE 升级到 7.9 版。(Ilia)
- 删除了在关闭时(在所有操作系统中,除了 Windows)发生的自动文件描述符解锁。(Tony,Ilia)
- 将 tidyNode 类更改为不允许手动创建节点。(Pierrick)
- 为 FILTER_VALIDATE_URL 中的 HTTP URL 添加了缺少的主机验证。(Ilia)
- 修复了捆绑的 libgd 中的 bug,该 bug 会导致 gdImageFilledPolygon 绘制虚假的水平线(libgd #100)。(Takeshi Abe)
- 修复了使用 MySQL 5.5.0-m2 的 mysqli 的构建。(Andrey)
- 修复了 bug #50940(Apache sapis 中自定义的 content-length 设置不正确)。(Brian France,Rasmus)
- 修复了错误 #50930(使用旧版本的 gcc/glibc 时 php_date.c 修补程序导致的错误日期)。(Derick)
- 修复了错误 #50859(由于 md2 被弃用,导致 openssl 1.0 构建失败)。(Ilia, hanno at hboeck dot de)
- 修复了错误 #50847(strip_tags() 删除所有长度大于 1023 字节的标签)。(Ilia)
- 修复了错误 #50832(HTTP fopen 包装器不支持无密码的 HTTP 身份验证)。(Jani)
- 修复了 bug #50823(ReflectionFunction::isDeprecated 产生 "无法以静态方式调用" 错误)。(Jani,Felipe)
- 修复了 bug #50791(编译失败:定义 fopencookie 模拟的逻辑错误)。(Jani)
- 修复了错误 #50787(stream_set_write_buffer() 对套接字流没有影响)。(vnegrier at optilian dot com, Ilia)
- 修复了 bug #50772(没有参数的 mysqli 构造函数不会返回有效的 mysqli 对象)。(Andrey)
- 修复了错误 #50761(xmlrpc 扩展中的 system.multiCall 崩溃)。(hiroaki dot kawai at gmail dot com, Ilia)
- 修复了错误 #50732(exec() 在 $output 数组中添加了同一个字节两次)。(Ilia)
- 修复了错误 #50728(所有 PDOExceptions 都将“code”属性硬编码为 0)。(Joey, Ilia)
- 修复了 bug #50727(在没有连接的情况下访问 mysqli->affected_rows 会导致段错误)。(Andrey,Johannes)
- 修复了错误 #50680(strtotime() 不支持第八个序数)。(Ilia)
- 修复了错误 #50661(DOMDocument::loadXML 不允许 UTF-16)。(Rob)
- 修复了错误 #50657(使用空(零字节)HTTP 源进行复制成功但返回 false)。(Ilia)
- 修复了 bug #50636(MySQLi_Result 在调用构造函数之前设置值)。(Pierrick)
- 修复了错误 #50632(如果变量不存在,filter_input() 不会返回默认值)。(Ilia)
- 修复了错误 #50576(XML_OPTION_SKIP_TAGSTART 选项没有效果)。(Pierrick)
- 修复了 bug #50575(PDO_PGSQL LOB 与 PostgreSQL 8.5 不兼容)。(Matteo)
- 修复了错误 #50558(扩展 tidy 时对象模型损坏)。(Pierrick)
- 修复了错误 #50540(在运行 ldap_next_reference 测试用例时崩溃)。(Sriram)
- 修复了错误 #50508(编译失败:冲突的 HEADER 类型声明)。(Jani)
- 修复了错误 #50394(引用参数在 __call 中转换为值)。(Stas)
- 修复了 bug #49851(http 包装器在 1024 个字符长的标头时中断)。(Ilia)
- 修复了错误 #49600 (imageTTFText 文本向右偏移)。(Takeshi Abe)
- 修复了错误 #49585 (date_format 缓冲区对于 >4 位数的年份不够长)。(Derick、Adam)
- 修复了错误 #49463 (setAttributeNS 无法设置默认命名空间)。(Rob)
- 修复了 bug #48667(实现 Iterator 和 IteratorAggregate)。(Etienne)
- 修复了错误 #48590 (SoapClient 不遵守 max_redirects)。(Sriram)
- 修复了错误 #48190 (Content-type 参数“boundary”在 HTTP 上传中不区分大小写)。(Ilia)
- 修复了 bug #47601(defined() 在测试类常量时要求类存在)。(Ilia)
- 修复了错误 #47409 (extract() 在包含“this”一词的数组时出现问题)。(Ilia、chrisstocktonaz at gmail dot com)
- 修复了 bug #47002(从具有超过 1024 个字段的 dbase 数据库中读取时字段被截断)。(Ilia,sjoerd-php at linuxonly dot nl)
- 修复了错误 #45599 (strip_tags() 会截断带有无效属性的字符串的剩余部分)。(Ilia、hradtke)
- 修复了错误 #44827 (define() 允许在常量名称中使用 ::)。(Ilia)
版本 5.2.12
- 安全修复
- 修复了 Grzegorz Stachowiak 发现的 tempnam() 中的安全模式绕过漏洞。(Rasmus)
- 修复了 Grzegorz Stachowiak 发现的 posix_mkfifo() 中的 open_basedir 绕过漏洞。(Rasmus)
- 添加了“max_file_uploads”INI 指令,该指令可以设置为限制每个请求的文件上传次数,默认值为 20,以防止通过临时文件耗尽进行可能的拒绝服务攻击。(Ilia)
- 为 $_SESSION 添加了针对 interrupt 损坏的保护,并改进了 "session.save_path" 检查,由 Stefan Esser 发现。(Stas)
- 修复了 bug #49785(htmlspecialchars() 的输入字符串验证不足)。(Moriyoshi,hello at iwamot dot com)
- 将时区数据库更新到 2009.19 版(2009 年)。(Derick)
- 添加了 LIBXML_PARSEHUGE 常量,用于在使用 libxml2.7.3+ 时覆盖单个文本节点的最大文本大小。(Kalle)
- 将“post_max_size” php.ini 指令更改为通过将其设置为 0 来允许无限的帖子大小。(Rasmus)
- 修复了当使用 message_type 3 时 error_log() 为二进制安全。(Jani)
- 修复了在禁用超时时不必要地调用 setitimer。(Arvind Srinivasan)
- 修复了在给出无效的类型库时 com_print_typeinfo 中的崩溃问题。(Pierre)
- 修复了在使用反射调用 SQLiteDatabase::ArrayQuery() 和 SQLiteDatabase::SingleQuery() 时发生的崩溃问题。(Felipe)
- 修复了通过反射实例化 PDORow 和 PDOStatement 时发生的崩溃问题。(Felipe)
- 修复了 openssl_pkcs12_export_to_file() 中的内存泄漏。(Felipe)
- 修复了错误 #50445(来自 Solaris 64 位的 PDO-ODBC 存储过程调用导致段错误)。(davbrown4 at yahoo dot com, Felipe)
- 修复了错误 #50345(在某些 Solaris 版本上 nanosleep 未被正确检测到)。(Jani)
- 修复了错误 #50323(允许在 PDO DSN 中通过 ;; 使用分号 ;)。(Ilia, Pierrick)
- 修复了错误 #50285(xmlrpc 在编码的索引数组中不保留键)。(Felipe)
- 修复了错误 #50282(xmlrpc_encode_request() 在调用函数中将对象更改为数组)。(Felipe)
- 修复了错误 #50266(llabs 的类型冲突)。(Jani)
- 修复了错误 #50255(isset() 和 empty() 默默地将数组转换为对象)。(Felipe)
- 修复了错误 #50219(在重定向的 url 上 soap 调用出现段错误)。(Pierrick)
- 修复了错误 #50209(使用 libedit 编译时无法找到 readline.h)。(tcallawa at redhat dot com)
- 修复了错误 #50207(在 64 位 Linux 上连接非常大的字符串时出现段错误)。(Ilia)
- 修复了错误 #50195(当表名包含模式时,pg_copy_to() 失败)。(Ilia)
- 修复了错误 #50185(当没有错误时,ldap_get_entries() 返回 false 而不是空数组)。(Jani)
- 修复了错误 #50174(不正确匹配的 docComment)。(Felipe)
- 修复了错误 #50168(FastCGI 在对不存在文件的 HEAD 请求时,使用错误的错误信息失败)。(Dmitry)
- 修复了错误 #50162(从 Oracle 数据库获取时间戳列时的内存泄漏)。(Felipe)
- 修复了错误 #50158(FILTER_VALIDATE_EMAIL 在包含 = 或 ? 的有效地址时失败)。(Pierrick)
- 修复了错误 #50073(当片段中存在 ? 时,parse_url() 不正确)。(Ilia)
- 修复了错误 #50006(uksort() 导致的段错误)。(Felipe)
- 修复了错误 #50005(通过 Reflection 抛出修改后的 Exception 对象会导致段错误)。(Felipe)
- 修复了错误 #49990(关于安全级别的 SNMP3 警告消息打印了两次)。(Jani)
- 修复了错误 #49985(pdo_pgsql prepare() 重用之前的中止的事务)。(ben dot pineau at gmail dot com, Ilia, Matteo)
- 修复了错误 #49972(AppendIterator 未定义函数崩溃)。(Johannes)
- 修复了错误 #49921(Curl post 上传函数已更改)。(Ilia)
- 修复了错误 #49855(import_request_variables() 始终返回 NULL)。(Ilia, sjoerd at php dot net)
- 修复了错误 #49847 (exec() 无法在给定输出行 >4095 字节时在第二个参数中返回数据)。(Ilia)
- 修复了错误 #49809 (time_sleep_until() 在 OpenSolaris 上不可用)。(Jani)
- 修复了错误 #49757 (long2ip() 在多线程应用程序中可能返回错误的值)。(Ilia、Florian Anderiasch)
- 修复了错误 #49738(在 mcrypt_generic_deinit() 之后调用 mcrypt() 会导致崩溃)。(Sriram Natarajan)
- 修复了错误 #49719(ReflectionClass::hasProperty 返回基类中私有属性的 true)。(Felipe)
- 修复了错误 #49698 (strnatcasecmp() 的意外更改)。(Rasmus)
- 修复了错误 #49677 (ini 解析器在 Apache2 中使用 ${something} ini 变量时崩溃)。(Jani)
- 修复了错误 #49660 (libxml 2.7.3+ 将文本节点限制为 10MB)。(Felipe)
- 修复了错误 #49647 (DOMUserData 不存在)。(Rob)
- 修复了错误 #49630(缺少 imap_listscan() 函数)。(Felipe)
- 修复了错误 #49627(error_log 到指定文件不会根据 date.timezone 记录时间)。(Dmitry)
- 修复了错误 #49578(make install-pear 失败)。(Hannes)
- 修复了错误 #49536(当 mbstring.strict_mode 打开时,mb_detect_encoding() 返回不正确的结果)。(Moriyoshi)
- 修复了错误 #49531 (CURLOPT_INFILESIZE 有时会导致警告“CURLPROTO_FILE 无法设置”)。(Felipe)
- 修复了错误 #49528(以 BOM 开头的 UTF-16 字符串被错误地转换)。(Moriyoshi)
- 修复了错误 #49521 (PDO fetchObject 在调用构造函数之前设置值)。(Pierrick)
- 修复了错误 #49517(cURL 的 CURLOPT_FILE 阻止了在 fclose() 之后删除文件)。(Ilia)
- 修复了错误 #49472 (在接口中定义的常量可以被重写)。(Felipe)
- 修复了错误 #49354(当偏移量位于多字节字符中间时,mb_strcut() 会截断错误的长度)。(Moriyoshi)
- 修复了错误 #49332(Snow Leopard 构建错误)。(Scott)
- 修复了错误 #49244 (浮点数 NaN 导致垃圾字符)。(Sjoerd)
- 修复了错误 #49174 (扩展 PDOStatement 并尝试设置 queryString 属性时崩溃)。(Felipe)
- 修复了错误 #49098 (mysqli 在出错时发生段错误)。(Rasmus)
- 修复了 #48805 错误(IPv6 套接字传输无法工作)。(Ilia)
- 修复了错误 #48764(PDO_pgsql::query() 如果 v3 协议可用,则始终使用隐式预处理语句)。(Matteo、Mark Kirkwood)
- 修复了错误 #47848 (importNode 不会保留属性命名空间)。(Rob)
- 修复了错误 #45120 (PDOStatement->execute() 对同一语句返回 true 然后返回 false)。(Pierrick)
- 修复了错误 #34852 (odbc_exec() 使用 Oracle 提供的 ODBC 驱动程序时出现故障)。(tim dot tassonis at trivadis dot com)
版本 5.2.11
- 安全修复
- 修复了 php_openssl_apply_verification_policy 中的证书验证问题。(Ryan Sleevi、Ilia)
- 添加了围绕 exif 处理的缺失的健全性检查。(Ilia)
- 修复了 imagecolortransparent 中颜色索引的健全性检查。(Pierre)
- 修复了 #44683 错误(当传递无效模式时,popen 崩溃)。(Pierre)
- 将时区数据库更新至 2009.13 版本(2009m)。(Derick)
- 修复了 zlib.deflate 压缩过滤器以实际接受 level 参数。(Jani)
- 修复了 Windows 上 popen/exec(以及相关函数)中发生的错误泄漏问题。(Pierre)
- 修复了 cURL 扩展中的回归问题,该问题阻止了将数据刷新到定义为文件句柄的输出中。(Ilia)
- 修复了 stream_is_local() 中的内存泄漏问题。(Felipe、Tony)
- 修复了错误 #49470 (FILTER_SANITIZE_EMAIL 允许使用不允许的字符)。(Ilia)
- 修复了错误 #49447(PHP 引擎需要正确检查 Windows 上的套接字 API 返回状态)。(Sriram Natarajan)
- 修复了错误 #49372 (php_curl_option_curl 中的段错误)。(Pierre)
- 修复了错误 #49361 (wordwrap() 在行尾边界处换行不正确)。(Ilia、code-it at mail dot ru)
- 修复了错误 #49289 (bcmath 模块无法使用 phpize configure 编译)。(Jani)
- 修复了错误 #49286 (php://input(php_stream_input_read)损坏)。(Jani)
- 修复了错误 #49269 (在 foreach 声明中使用时,三元运算符在迭代器对象上失败)。(Etienne、Dmitry)
- 修复了错误 #49236 (缺少 PHP_SUBST(PDO_MYSQL_SHARED_LIBADD))。(Jani)
- 修复了错误 #49144 (从不同主机导入模式会传输原始身份验证详细信息)。(Dmitry)
- 修复了错误 #49132 (posix_times 返回 false 但没有错误)。(phpbugs at gunnu dot us)
- 修复了错误 #49125 (dba_exists C 代码中的错误)。(jdornan at stanford dot edu)
- 修复了错误 #49095 (proc_get_status['exitcode'] 在 win32 上失败)。(Felipe)
- 修复了错误 #49074 (可以使用反射修改私有类静态字段)。(Jani)
- 修复了错误 #49072 (feof 对 zip 中的损坏文件永远不会返回 true)。(Pierre)
- 修复了错误 #49052 (在使用 --with-curlwrappers 时,上下文选项标头过早释放)。(Jani)
- 修复了错误 #49032 (SplFileObject::fscanf() 将变量按引用传递)。(Jani)
- 修复了错误 #49026 (proc_open() 可以绕过 safe_mode_protected_env_vars 限制)。(Ilia)
- 修复了错误 #49000 (PHP CLI 在交互模式(php -a)下,在包含来自函数的文件时崩溃)。(Stas)
- 修复了 #48994 错误(当 zlib.output_compression 设置为字符串值时,不会输出 HTTP 头)。(Jani)
- 修复了 #48980 错误(使用 pdo_firebird 编译时崩溃)。(Felipe)
- 修复了 #48962 错误(cURL 无法上传指定文件名的文件)。(Ilia)
- 修复了 #48929 错误(当 "header" 上下文选项为数组时,HTTP 头后出现双 \r\n)。(David Zülke)
- 修复了 #48913 错误(pdo_odbc 驱动程序中错误代码字符串过长)。(naf at altlinux dot ru,Felipe)
- 修复了 #48802 错误(printf() 返回的输出长度不正确)。(Jani)
- 修复了错误 #48801(imagettfbbox 存在问题)。(Takeshi Abe)
- 修复了 #48788 错误(RecursiveDirectoryIterator 不会下降到符号链接目录)。(Ilia)
- 修复了 #48774 错误(使用 curl_copy_handle() 时出现 SIGSEGVs)。(Sriram Natarajan)
- 修复了 #48763 错误(ZipArchive 生成损坏的存档)。(dani dot church at gmail dot com,Pierre)
- 修复了 #48762 错误(IPv6 地址过滤器仍然拒绝有效的地址)。(Felipe)
- 修复了 #48733 错误(CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR 对以 r+ 打开的文件发出警告)。(Ilia)
- 修复了错误 #48732(基线以下字母的 TTF 边界框错误)。(Takeshi Abe)
- 修复了 #48718 错误(FILTER_VALIDATE_EMAIL 无法在域名组件中使用数字)。(Ilia)
- 修复了错误 #48709(metaphone 和 'wh')。(brettz9 at yahoo dot com、Felipe)
- 修复了错误 #48697(mb_internal_encoding() 值被 parse_str() 重置)。(Moriyoshi)
- 修复了错误 #48696 (ldap_read() 使用无效参数会导致段错误)。(Felipe)
- 修复了错误 #48693(当 lambda 格式错误时,会重复声明 __lambda_func)。(peter at lvp-media dot com、Felipe)
- 修复了错误 #48661(phpize 在非 bash shell 中出现故障)。(Jani)
- 修复了 #48645 错误(mb_convert_encoding() 不理解十六进制 html 实体)。(Moriyoshi)
- 修复了 #48637 错误(使用 --with-curlwrappers 时,"file" fopen 扩展被覆盖)。(Jani)
- 修复了错误 #48636(ext/date 在 NetWare 上编译失败)。(guenter at php.net、Ilia)
- 修复了错误 #48629(get_defined_constants() 忽略 categorize 参数)。(Felipe)
- 修复了错误 #48619(imap_search ALL 导致段错误)。(Pierre)
- 修复了 #48608 错误(配置期间未检测到无效的 libreadline 版本)。(Jani)
- 修复了错误 #48555(ImageFTBBox() 在带有换行符的文本中与之前版本不同)。(Takeshi Abe)
- 修复了错误 #48539(pdo_dblib 无法连接,抛出空的 PDOException "SQLSTATE[] (null)")。(Felipe)
- 修复了错误 #48465(使用 TMPDIR 时,sys_get_temp_dir() 可能不一致)。(Ilia)
- 修复了错误 #48450(在 IRIX 6.5.30 上构建 gd.c 时编译失败)。(Kalle)
- 修复了 #48400 错误(imap 在关闭使用 OP_PROTOTYPE 标志打开的流时崩溃)。(Jani)
- 修复了错误 #48284(散列 "adler32" 字节序反转)。(Scott)
- 修复了错误 #48276(大端机器上的 date("Y") 产生错误的结果)。(Scott)
- 修复了 #48247 错误(在启动时,当记录错误时,出现错误会导致无限循环和可能的崩溃)。(Jani)
- 修复了 #48182 错误(ssl 握手在异步套接字连接期间失败)。(Sriram Natarajan)
- 修复了 #48116 错误(修复了使用 Openssl 1.0 的构建)。(Pierre,Al dot Smith at aeschi dot ch dot eu dot org)
- 修复了错误 #48060 (pdo_pgsql - 大对象被返回为空)。(Matteo)
- 修复了 #48057 错误(仅获取第一行的日期字段,其他字段为空)。(info at programmiernutte dot net)
- 修复了 #47481 错误(natcasesort() 未能正确排序扩展 ASCII 字符)。(Herman Radtke)
- 修复了 #47351 错误(DateTime 中存在内存泄漏)。(Derick,Tobias John)
- 修复了 #47273 错误(SoapServer->fault 中的编码错误)。(Dmitry)
- 修复了 #46020 错误(在 HPUX 上使用 Sun Java System Web Server 7.0 时,#define HPUX)。(Uwe Schindler)
- 修复了 #45905 错误(imagefilledrectangle() 剪切错误)。(markril at hotmail dot com,Pierre)
- 修复了错误 #45280(实例化的 COM 类别的反射导致 PHP 崩溃)。(Paul Richards、Kalle)
- 修复了 #45141 错误(setcookie 将输出超过 4 位数的过期年份)。(Ilia)
- 修复了错误 #44144(spl_autoload_functions() 应该在适当的时候返回对象实例)。(Hannes、Etienne)
- 修复了 #43510 错误(stream_get_meta_data() 没有返回与 fopen 中使用的相同模式)。(Jani)
- 修复了 #42434 错误(ImageLine 使用抗锯齿时,短 1 像素)。(wojjie at gmail dot com,Kalle)
- 修复了 #28038 错误(向 SMTP 服务器发送了不正确的 RCPT TO 命令)。(Garrett)
版本 5.2.10
- 安全修复
- 修复了错误 #48378(exif_read_data() 在某些损坏的 .jpeg 文件上导致段错误)。(Pierre)
- 将时区数据库更新至 2009.9 版本(2009i)。(Derick)
- 在 http fopen 包装器中添加了 "ignore_errors" 选项。(David Zulke、Sara)
- 添加了新的 CURL 选项 CURLOPT_REDIR_PROTOCOLS、CURLOPT_PROTOCOLS 和 CURLPROTO_*,用于修复 CURL 7.19.4 中的重定向问题。(Yoram Bar Haim、Stas)
- 添加了对 Sun CC 的支持(FR #46595 和 FR #46513)。(David Soria Parra)
- 将 array_unique() 可选排序类型参数的默认值更改回 SORT_STRING,以修复 PHP 5.2.9 中引入的向后兼容性问题。(Moriyoshi)
- 修复了读取 zip 文件属性时的内存损坏问题。(Ilia)
- 修复了 ob_get_clean/ob_get_flush 中的内存泄漏问题。(Christian)
- 修复了无效的 session.save_path 导致的段错误。(Hannes)
- 修复了在使用 mail_criteria 时,imap 中的内存泄漏问题。(Pierre)
- 修复了 spl_autoload_register 中的错误 #40091 修复中缺少的 erealloc()。(Greg)
- 修复了错误 #48562(在 wddx_serialize_vars() 中使用引用递归会导致段错误)。(Felipe)
- 修复了错误 #48557(Apache Hashmaps 中的数字字符串键没有被强制转换为整数)。(David Zuelke)
- 修复了错误 #48518(curl 在写入无效的文件句柄时崩溃)。(Tony)
- 修复了错误 #48514(cURL 扩展对简单和多 API 使用相同资源名称)。(Felipe)
- 修复了错误 #48469(ldap_get_entries() 在空搜索结果上导致内存泄漏)。(Patrick)
- 修复了错误 #48456(CPPFLAGS 在 phpize.m4 中没有被正确还原)。(Jani、spisek at kerio dot com)
- 修复了错误 #48448(在 IRIX 6.5.30 上构建 cast.c 时编译失败)。(Kalle)
- 修复了错误 #48441(ldap_search() 的 sizelimit、timelimit 和 deref 选项会持续存在)。(Patrick)
- 修复了错误 #48434(提高 memory_get_usage() 的准确性)。(Arnaud)
- 修复了错误 #48416(在 ereg() 中强制使用缓存限制,以防止过度内存使用)。(Scott)
- 修复了错误 #48409(当在传递函数参数时抛出异常时崩溃)。(Arnaud)
- 修复了错误 #48378(exif_read_data() 在某些损坏的 .jpeg 文件上导致段错误)。(Pierre)
- 修复了错误 #48359(如果 OID 不增加,脚本在 snmprealwalk 上挂起)。(Ilia、simonov at gmail dot com)
- 修复了错误 #48336(ReflectionProperty::getDeclaringClass() 在重新声明的属性上无法正常工作)。(Markus dot Lidel at shadowconnect dot com 提供的补丁)
- 修复了错误 #48326(未定义常量 MSG_DONTWAIT)。(Arnaud)
- 修复了错误 #48313(fgetcsv() 对空行不返回 null)。(Ilia)
- 修复了错误 #48309(stream_copy_to_stream() 和 fpasstru() 不会更新普通文件的流位置)。(Arnaud)
- 修复了错误 #48307(当 $source 是套接字时,stream_copy_to_stream() 会复制 0 字节)。(Arnaud)
- 修复了错误 #48273(snmp*_real_walk() 将 SNMP 错误作为值返回)。(Ilia、lytboris at gmail dot com)
- 修复了错误 #48256(由于 history.o 的双重链接导致崩溃)。(tstarling at wikimedia dot org)
- 修复了错误 #48248(通过 &__get 访问私有属性时,SIGSEGV)。(Felipe)
- 修复了错误 #48247(在启动期间出现错误时崩溃)。(Stas)
- 修复了错误 #48240(DBA 分段错误 dba_nextkey)。(Felipe)
- 修复了错误 #48224(array_rand 中的错误洗牌)。(Etienne)
- 修复了错误 #48221(传递无效的 xslt 参数时内存泄漏)。(Felipe)
- 修复了错误 #48207(CURLOPT_(FILE|WRITEHEADER 选项在处理不可写流时不会出错)。(Ilia)
- 修复了错误 #48206(使用 RecursiveIteratorIterator 遍历无效的数据结构会导致段错误)。(Scott)
- 修复了错误 #48204(xmlwriter_open_uri() 在无效的路径上不会发出警告)。(Ilia)
- 修复了错误 #48203(当 CURLOPT_STDERR 设置为普通文件时崩溃)。(Jani)
- 修复了错误 #48202(传递无效的文件路径时,出现内存不足错误消息)。(Pierre)
- 修复了错误 #48156(添加了对 lcov v1.7 的支持)。(Ilia)
- 修复了错误 #48132(使用 --disable-rpath 时,curl ssl 支持的配置检查失败)。(Jani)
- 修复了错误 #48131(不要尝试通过 bindto 将 ipv4 地址绑定到 ipv6 ip)。(Ilia)
- 修复了错误 #48070(PDO_OCI:使用持久连接时出现段错误)。(Pierre、Matteo、jarismar dot php at gmail dot com)
- 修复了错误 #48058(年份格式化程序在超出 int 范围时出错)。(Derick)
- 修复了错误 #48038(odbc_execute 会更改用于形成参数数组的变量)。(Felipe)
- 修复了错误 #47997(stream_copy_to_stream 在空流上返回 1)。(Arnaud)
- 修复了错误 #47991(如果错误堆栈包含项目,SSL 流会失败)。(Mikko)
- 修复了错误 #47981(错误处理程序无论如何都不会被调用)。(Hannes)
- 修复了错误 #47969(ezmlm_hash() 返回的值因操作系统而异)。(Ilia)
- 修复了错误 #47946(ImageConvolution 会覆盖背景)。(Ilia)
- 修复了错误 #47940(imap_body 中的内存泄漏问题)。(Pierre、Jake Levitt)
- 修复了错误 #47937(system() 调用 sapi_flush(),无论是否启用输出缓冲)。(Ilia)
- 修复了错误 #47903("@" 运算符不适用于字符串偏移量)。(Felipe)
- 修复了错误 #47893(CLI 在非阻塞 stdout 上中止)。(Arnaud)
- 修复了错误 #47849(非深度导入会丢失命名空间)。(Rob)
- 修复了错误 #47845(PDO_Firebird 从查询中省略了第一行)。(Lars W)
- 修复了错误 #47836(当数组具有 PHP_INT_MAX 索引值时,数组运算符 [] 不一致)。(Matt)
- 修复了错误 #47831(main/spprintf.c 中的 strnlen() 编译警告)。(Ilia、rainer dot jung at kippdata dot de)
- 修复了错误 #47828(当 UTF-8 转换失败时,openssl_x509_parse() 会导致段错误)。(Scott、Kees Cook、Pierre)
- 修复了错误 #47818(由于绑定回调参数导致段错误)。(Felipe)
- 修复了错误 #47801(通过 parent:: 运算符访问的 __call() 提供了不正确的函数名称)。(Felipe)
- 修复了错误 #47769(奇怪的 extends PDO)。(Felipe)
- 修复了错误 #47745 (FILTER_VALIDATE_INT 不允许最小整数)。(Dmitry)
- 修复了错误 #47721(mbstring 和 sysvshm 扩展中的对齐问题)。(crrodriguez at opensuse dot org、Ilia)
- 修复了错误 #47704(PHP 在某些 "错误的" 字符串偏移量操作中崩溃)。(Dmitry)
- 修复了错误 #47695(当 xmlrpc 和 iconv 针对不同的 iconv 版本编译时,出现构建错误)。(Scott)
- 修复了错误 #47667(ZipArchive::OVERWRITE 似乎没有效果)。(Mikko、Pierre)
- 修复了错误 #47644(有效的整数在 json_decode() 中被截断)。(Scott)
- 修复了错误 #47639(pg_copy_from() 警告:字符串文字中非标准使用 \\)。(Ilia)
- 修复了错误 #47616(curl 持续崩溃)。(Felipe)
- 修复了错误 #47598(FILTER_VALIDATE_EMAIL 是区域设置感知的)。(Ilia)
- 修复了错误 #47566(pcntl_wexitstatus() 返回带符号的状态)。(james at jamesreno dot com 提供的补丁)
- 修复了错误 #47564(解包 32 位无符号长整型大端字节序会返回错误的结果)。(Ilia)
- 修复了错误 #47487(在修复错误 #44607 之后,读取大块数据时的性能下降)。(Arnaud)
- 修复了错误 #47468(为嵌入式 sapi 启用 cli|cgi 专用扩展)。(Jani)
- 修复了错误 #47435(FILTER_FLAG_NO_PRIV_RANGE 在过滤器扩展中不适用于 ipv6 地址)。(Ilia)
- 修复了错误 #47430(在写入不存在的 previousSibling 的 nodeValue 参数之后出现错误)。(Rob)
- 修复了错误 #47365 (ip2long() 在某些 64 位系统上可能允许一些无效的值)。 (Ilia)
- 修复了错误 #47254 (扩展类的反射错误)。 (Felipe)
- 修复了错误 #47042 (cgi sapi 错误地删除了 SCRIPT_FILENAME)。 (Sriram Natarajan, David Soria Parra)
- 修复了错误 #46882 (在位数不同的操作系统下,序列化/反序列化行为异常)。 (Matt)
- 修复了错误 #46812 (get_class_vars() 不会包含查看子类时的可见私有变量)。 (Arnaud)
- 修复了错误 #46386 (SOAP 模块的摘要认证无法与 MSSQL SOAP 服务配合使用)。 (Ilia, lordelph at gmail dot com)
- 修复了错误 #46109 (mysqli::init() 多次调用时出现内存泄漏)。 (Andrey)
- 修复了错误 #45997 (使用 exec/system/passthru(仅限 Windows)绕过安全模式)。 (Pierre)
- 修复了错误 #45877 (数组键“2147483647”保留为字符串)。 (Matt)
- 修复了错误 #45822 (解析巨大的相对偏移量时出现无限循环)。 (Derick, Mike Sullivan)
- 修复了错误 #45799 (imagepng() 在空图像上崩溃)。 (Martin McNickle, Takeshi Abe)
- 修复了错误 #45622 (isset($arrayObject->p) 在设置 ArrayObject:: ARRAY_AS_PROPS 时行为异常)。 (robin_fernandes at uk dot ibm dot com, Arnaud)
- 修复了错误 #45614 (ArrayIterator::current(), ::key() 可以显示包装对象的第一个私有属性)。 (robin_fernandes at uk dot ibm dot com, Arnaud)
- 修复了错误 #45540 (stream_context_create 创建了错误的 http 请求)。 (Arnaud)
- 修复了错误 #45202 (zlib.output_compression 无法使用 ini_set() 设置)。 (Jani)
- 修复了错误 #45191 (error_log 在设置日志时间戳时忽略 date.timezone php.ini 值)。 (Derick)
- 修复了错误 #45092 (使用 --with-curlwrappers 编译时,header HTTP 上下文选项未被使用)。 (Jani)
- 修复了错误 #44996 (xmlrpc_decode() 忽略 iso8601.datetime 的时区)。 (Ilia, kawai at apache dot org)
- 修复了错误 #44827 (define() 缺少对类常量的错误检查)。 (Ilia)
- 修复了错误 #44214 (使用 preg_replace_callback() 和全局变量时崩溃)。 (Nuno, Scott)
- 修复了错误 #43073 (TrueType 边界框在角度<>0 时不正确)。 (Martin McNickle)
- 修复了错误 #42663 (gzinflate() 尝试使用截断数据分配所有内存)。 (Arnaud)
- 修复了错误 #42414 (一些 odbc_*() 函数与 Oracle ODBC 驱动程序不兼容)。 (jhml at gmx dot net)
- 修复了 bug #42362(HTTP 状态代码 204 和 304 不应进行 gzip 压缩)。(Scott,Edward Z. Yang)
- 修复了错误 #42143 (常量 NAN 在 Windows 上报告为 0) (Kanwaljeet Singla, Venkat Raman Don)
- 修复了错误 #38805 (PDO 从 SQL Server 文本数据类型字段中截断文本)。 (Steph)
版本 5.2.9
- 安全修复
- 修复了 imagerotate() 中的安全问题,背景颜色在非真彩色图像中未正确验证。由 Hamid Ebadi,APA 实验室报告 (修复 CVE-2008-5498)。 (Scott)
- 修复了 zip 中的 extract 在文件或目录条目名称包含相对路径时的崩溃。(Pierre)
- 修复了 explode() 在空字符串上的行为,以尊重负的限制。(Shire)
- 修复了在将格式错误的字符串传递给 json_decode() 时的段错误。(Scott)
- 修复了 xml_error_string() 中的错误,导致消息偏移一个。(Scott)
- 将 __call() 更改为在访问私有/受保护方法时被调用,类似于属性和 __get()。(Andrei)
- 为 array_unique() 添加了可选的排序类型标志参数。默认值为 SORT_REGULAR。(Andrei)
- 修复了 zip 文件名属性读取。(Pierre)
- 修复了 stream_filter_append() 中的错误条件处理。(Arnaud)
- 修复了错误 #47422 (取模运算符在 64 位 Linux 上返回不正确的结果)。 (Matt)
- 修复了错误 #47399 (mb_check_encoding() 对某些非法 SJIS 字符返回 true)。 (for-bugs at hnw dot jp, Moriyoshi)
- 修复了错误 #47353 (在对象析构函数中创建大量对象时崩溃)。 (Tony)
- 修复了错误 #47322 (sscanf %d 不起作用)。 (Felipe)
- 修复了错误 #47282 (FILTER_VALIDATE_EMAIL 将有效的电子邮件地址标记为无效)。 (Ilia)
- 修复了错误 #47220 (dom_document_parser 在恢复模式下出现段错误)。 (Rob)
- 修复了错误 #47217 (文件上传的 content-type 未正确设置)。 (Ilia)
- 修复了错误 #47174 (base64_decode() 将字符串中间的填充字符解释为终止符)。 (Ilia)
- 修复了错误 #47165 (通过引用传递返回值时可能出现内存损坏)。(Dmitry)
- 修复了错误 #47152 (使用 SEEK_END 的 gzseek/fseek 会产生奇怪的结果)。 (Felipe)
- 修复了错误 #47131 (SOAP 扩展忽略了 "user_agent" ini 设置)。 (Ilia)
- 修复了错误 #47109 (当 $a 不是对象时,$a->{"a"."b"} 出现内存泄漏)。 (Etienne, Dmitry)
- 修复了错误 #47104 (使用 icc 链接共享扩展失败)。 (Jani)
- 修复了错误 #47049 (SoapClient::__soapCall 导致段错误)。 (Dmitry)
- 修复了错误 #47048 (使用新的 pg_meta_data 出现段错误)。 (Felipe)
- 修复了错误 #47042 (PHP cgi sapi 为非 apache 删除了 SCRIPT_FILENAME)。 (Sriram Natarajan)
- 修复了错误 #47037 (使用空字符串的 fopen 时没有错误)。 (Cristian Rodriguez R., Felipe)
- 修复了错误 #47035 (dns_get_record 在 TXT 记录的末尾返回一个垃圾字节)。 (Felipe)
- 修复了错误 #47027 (var_export 不会在 ArrayObject 上显示数字索引)。 (Derick)
- 修复了错误 #46985 (OVERWRITE 和二进制模式不起作用,这是 5.2.8 中引入的回归)。 (Pierre)
- 修复了错误 #46973 (IPv6 地址过滤器拒绝有效地址)。 (Felipe)
- 修复了错误 #46964 (修复了 pdo_mysql 在使用较旧版本的 MySQL 时构建)。 (Ilia)
- 修复了错误 #46959 (无法禁用 PCRE)。 (Scott)
- 修复了错误 #46918 (imap_rfc822_parse_adrlist 主机部分未正确填充)。 (Felipe)
- 修复了错误 #46889 (strtotime() 中的内存泄漏)。 (Derick)
- 修复了错误 #46887 (对 php_error_docref() 的无效调用)。 (oeriksson at mandriva dot com, Ilia)
- 修复了错误 #46873 (如果 $foo['foo'] 存在,则 extract($foo) 会崩溃)。 (Arnaud)
- 修复了错误 #46843 (CP936 欧元符号未正确转换)。 (ty_c at cybozuy dot co dot jp, Moriyoshi)
- 修复了错误 #46798 (在检索二进制或图像列类型中的 NULL 值时,mssql 扩展崩溃)。 (Ilia)
- 修复了错误 #46782 (fastcgi.c 解析错误)。 (Matt)
- 修复了错误 #46760 (使用代理时,SoapClient doRequest 失败)。 (Felipe)
- 修复了错误 #46748 (当 SSL 错误有多个错误时出现段错误)。 (Scott)
- 修复了错误 #46739 (curl_getinfo 返回的数组应该包含 content_type 键)。 (Mikko)
- 修复了错误 #46699 (解析器是命名空间感知时,xml_parse 崩溃)。 (Rob)
- 修复了错误 #46419 (具有 NULL 值的关联数组的元素丢失)。 (Dmitry)
- 修复了错误 #46282 (使用 DATE 时 DBF 文件损坏)。 (arne at bukkie dot nl)
- 修复了错误 #46026 (bz2.decompress/zlib.inflate 过滤器尝试在流结束之后解压缩)。 (Greg)
- 修复了错误 #46005 (用户在 Apache2 下未始终如一地登录)。 (admorten at umich dot edu, Stas)
- 修复了错误 #45996 (libxml2 2.7 导致 xml_parse() 中的字符数据出现问题)。 (Rob)
- 修复了错误 #45940 (MySQLI OO 在连接失败时不会填充 connect_error 属性)。 (Johannes)
- 修复了错误 #45923 (mb_st[r]ripos() 偏移量处理不正确)。 (Moriyoshi)
- 修复了错误 #45327 (如果 offsetGet 抛出异常,则出现内存泄漏)。 (Greg)
- 修复了错误 #45239 (启用 mbstring.strict_detection 时,编码检测器挂起)。 (Moriyoshi)
- 修复了错误 #45161 (重用 curl 句柄会导致内存泄漏)。 (Mark Karpeles, Jani)
- 修复了错误 #44336 (提高 pcre UTF-8 字符串匹配性能)。 (frode at coretrek dot com, Nuno)
- 修复了错误 #43841 (对于负值,mb_strrpos() 偏移量是字节计数)。 (Moriyoshi)
- 修复了错误 #37209 (mssql_execute 存在非致命错误)。 (Kalle)
- 修复了错误 #35975 (会话 cookie 过期日期格式不兼容。现在与 setcookie() 相匹配)。 (Scott)
版本 5.2.8
- 还原了错误修复,修复了错误 #42718,导致 magic_quotes_gpc 出现问题 (Scott)
版本 5.2.7
- 安全修复
- 将 PCRE 升级到 7.8 版本 (修复 CVE-2008-2371) (Ilia)
- 修复了 BG(page_uid) 和 BG(page_gid) 的初始化缺失,由 Maksymilian Arciemowicz 报告。(Stas)
- 修复了 Apache 配置中 php_value 的错误顺序,由 Maksymilian Arciemowicz 报告。(Stas)
- 修复了 gd 在使用无效字体时发生的崩溃 (修复 CVE-2008-3658)。(Pierre)
- 修复了 memnstr 中可能发生的溢出 (修复 CVE-2008-3659)。(Laurent Gaffie)
- 修复了 CVE-2008-2665 和 CVE-2008-2666 中详述的安全问题。(Christian Hoffmann)
- 修复了错误 #45151 (使用 URI/file..php (文件名包含 2 个点) 崩溃)。(修复 CVE-2008-3660) (Dmitry)
- 修复了错误 #42862 (IMAP 工具包崩溃:rfc822.c 遗留例程缓冲区溢出)。(修复 CVE-2008-2829) (Dmitry)
- 将时区数据库更新到 2008.9 版本。(Derick)
- 将捆绑的 libzip 升级到 0.9.0 版本。(Pierre)
- 为 error_log 添加了日志记录选项,以便直接发送到 SAPI。(Stas)
- 添加了 PHP_MAJOR_VERSION、PHP_MINOR_VERSION、PHP_RELEASE_VERSION、PHP_EXTRA_VERSION、PHP_VERSION_ID、PHP_ZTS 和 PHP_DEBUG 常量。(Pierre)
- 添加了 "PHP_INI_SCAN_DIR" 环境变量,可用于禁用或更改编译时 ini 扫描目录 (FR 修复错误 #45114)。(Jani)
- 修复了 sqlite_create_aggregate() 中的内存泄漏。(Felipe)
- 修复了 PDO sqlite 的 sqliteCreateAggregate() 方法中的内存泄漏。(Felipe)
- 修复了 readline_callback_handler_remove() 函数中的内存泄漏。(Felipe)
- 修复了 sybase_fetch_*() 以便在 CS_ROW_FAIL 状态后继续读取 (Timm)
- 修复了 dba_replace() 中的错误,该错误可能导致使用无效键的文件截断。(Ilia)
- 修复了 readline_callback_handler_install() 函数中的内存泄漏。(Ilia)
- 修复了 readline_completion_function() 函数中的内存泄漏。(Felipe)
- 修复了在使用 $maxlength 且套接字未关闭时的 stream_get_contents()。(indeyets [at] php [dot] net 关于修复错误 #46049)。(Arnaud)
- 修复了 stream_get_line() 以便在非阻塞流上按文档说明进行。(Arnaud)
- 修复了 PDOStatement::debugDumpParams() 中的无限循环。(jonah.harris at gmail dot com)
- 修复了在扩展中使用 "internal" 堆的能力。(Arnaud, Dmitry)
- 修复了星期几的加减算法。(Derick)
- 修复了日期解析器中的一些歧义。(Derick)
- 修复了 YYYY-MM 格式未正确重置日期的错误。(Derick)
- 修复了 DateTime->modify() 方法中的错误,它不会使用高级相对时间字符串。(Derick)
- 修复了在条目名称是相对路径时提取 zip 文件或目录的功能。(Pierre)
- 修复了大型 zip 存档的读写错误。(Pierre)
- 修复了 simplexml asXML() 在将整个文档转储到文件时不会丢失编码的问题。 (Ilia)
- 修复了在尝试手动实例化 PDORow 时 PDO 内部发生的崩溃。 (Felipe)
- 修复了 ext/mysqli 与 libmysql 6.0 构建失败的问题 - 缺少 rpl 函数。 (Andrey)
- 修复了在使用 strip_tags() 并且 < 位于属性内时的回归问题。 (Scott)
- 修复了在 ReflectionParameter 构造函数中出现无效方法时发生的崩溃。 (Christian Seiler)
- 回退了修复错误的修复程序 #44197,因为次要版本的行为发生了变化。 (Felipe)
- 修复了错误 #46732 (mktime.year 描述错误)。 (Derick)
- 修复了错误 #46696 (cURL 在上传具有指定内容类型的文件时失败)。 (Ilia)
- 修复了错误 #46673 (stream_lock 调用时参数错误)。 (Arnaud)
- 修复了错误 #46649 (使用同一个数组设置数组元素会导致不一致的结果)。 (Arnaud)
- 修复了错误 #46626 (mb_convert_case 无法正确处理撇号)。 (Ilia)
- 修复了错误 #46543 (ibase_trans() 在使用错误参数时发生内存泄漏)。 (Felipe)
- 修复了错误 #46521 (Curl ZTS OpenSSL,config.m4 片段中的错误)。 (jd at cpanel dot net)
- 修复了错误 #46496 (wddx_serialize 将输入视为 ISO-8859-1)。 (Mark Karpeles)
- 修复了错误 #46427 (SoapClient() 无法处理其 "stream_context" 参数)。 (Dmitry, Herman Radtke)
- 修复了错误 #46426 (stream_get_contents() 的偏移参数对 "0" 不起作用)。 (Felipe)
- 修复了错误 #46406 (注销节点类会抛出 E_FATAL)。 (Rob)
- 修复了错误 #46389 (NetWare 需要针对 _timezone 的小补丁)。 (补丁来自 [email protected])
- 修复了错误 #46388 (对象内部的 stream_notification_callback 会销毁对象变量)。 (Felipe)
- 修复了错误 #46381 (传递给内部方法的错误 $this 会导致段错误)。 (Tony)
- 修复了错误 #46379 (在一行文件中解析 '#' 时发生无限循环)。 (Arnaud)
- 修复了错误 #46366 (使用 / 作为路径信息时 cwd 错误)。 (Dmitry)
- 修复了错误 #46360 (socket_{get,set}_option 的 TCP_NODELAY 常量)。 (bugs at trick dot vanstaveren dot us)
- 修复了错误 #46343 (IPv6 地址过滤器接受无效地址)。 (Ilia)
- 修复了错误 #46335 (DOMText::splitText 无法处理多字节字符)。 (Rob)
- 修复了错误 #46323 (NetWare 上 simplexml 的编译中断)。 (补丁来自 [email protected])
- 修复了错误 #46319 (PHP 在 cgi sapi 中为 HTTP 304 响应代码设置默认的 Content-Type 标头)。 (Ilia)
- 修复了错误 #46313 (魔术引号破坏了 $_FILES)。 (Arnaud)
- 修复了错误 #46308 (在 getter 内部更改属性时出现无效写入)。 (Dmitry)
- 修复了错误 #46292 (PDO::setFetchMode() 在使用 FETCH_CLASSTYPE 时不应该需要第二个参数)。 (Felipe)
- 修复了错误 #46274, #46249 (pdo_pgsql 始终为空的 BLOB 填充 NULL,并在 SELECT 返回时发生段错误)。 (Felipe)
- 修复了错误 #46271 (local_cert 选项无法解析为完整路径)。 (Ilia)
- 修复了错误 #46247 (ibase_set_event_handler() 允许传递没有事件的回调)。 (Felipe)
- 修复了错误 #46246 (call_user_func(array($this, $method)) 和 $this-> $method() 之间的区别)。 (Dmitry)
- 修复了错误 #46222 (ArrayObject EG(uninitialized_var_ptr) 覆盖)。 (Etienne)
- 修复了错误 #46215 (json_encode 会修改其参数并具有某些特定于类的状态)。 (Felipe)
- 修复了错误 #46206 (pg_query_params/pg_execute 将传递的值转换为字符串)。 (Ilia)
- 修复了错误 #46191 (BC 中断:DOMDocument saveXML() 无法接受 null)。 (Rob)
- 修复了错误 #46164 (stream_filter_remove() 会关闭流)。 (Arnaud)
- 修复了错误 #46157 (PDOStatement::fetchObject 原型错误)。 (Felipe)
- 修复了 bug #46147(在流查找后,追加流过滤器读取不正确的数据)。(Greg)
- 修复了错误 #46139 (PDOStatement->setFetchMode() 会忘记 FETCH_PROPS_LATE)。 (chsc at peytz dot dk, Felipe)
- 修复了错误 #46127 (php_openssl_tcp_sockop_accept 会忘记在已接受的流上设置上下文)。 (Mark Karpeles, Pierre)
- 修复了 bug #46110(XMLWriter - openmemory() 和 openuri() 在多次调用时发生内存泄漏)。(Ilia)
- 修复了错误 #46088 (RegexIterator::accept - 段错误)。 (Felipe)
- 修复了错误 #46082 (stream_set_blocking() 在某些情况下会导致崩溃)。 (Felipe)
- 修复了错误 #46064 (在动态创建的属性上创建 ReflectionProperty 对象时出现异常)。 (Felipe)
- 修复了错误 #46059 (在 IRIX 6.5.30 下构建 posix.c 时编译失败)。 (Arnaud)
- 修复了错误 #46053 (SplFileObject::seek - 无限循环)。 (Arnaud)
- 修复了错误 #46051 (SplFileInfo::openFile - 内存重叠)。 (Arnaud)
- 修复了错误 #46047 (SimpleXML 将空节点转换为包含嵌套数组的对象)。 (Rob)
- 修复了错误 #46031 (AppendIterator::next 中发生段错误)。 (Arnaud)
- 修复了错误 #46029 (在使用 Reflection 时 DOMText 中发生段错误)。 (Rob)
- 修复了错误 #46026 (bzip2.decompress/zlib.inflate 过滤器尝试在流结束之后解压缩)。 (Keisial at gmail dot com, Greg)
- 修复了错误 #46024 (stream_select() 无法返回正确的数量)。 (Arnaud)
- 修复了错误 #46010 (在 ecb 模式下,iv 产生的警告不正确)。 (Felipe)
- 修复了错误 #46003 (对不存在节点的 isset 返回意外的结果)。 (Rob)
- 修复了错误 #45956 (parse_ini_file() 在解析文件中出现语法错误时不会返回 false)。 (Jani)
- 修复了错误 #45901 (wddx_serialize_value 在使用 SimpleXMLElement 对象时发生崩溃)。 (Rob)
- 修复了错误 #45862 (get_class_vars 与 "protected" 和 "private" 变量不一致)。 (ilewis at uk dot ibm dot com, Felipe)
- 修复了错误 #45860 (header() 函数无法正确替换所有 Status 行)。 (Dmitry)
- 修复了错误 #45805 (在从错误处理程序中抛出异常时发生崩溃)。 (Dmitry)
- 修复了错误 #45765 (带有 self::xxx 的默认参数的 ReflectionObject 会导致错误)。 (Felipe)
- 修复了错误 #45751 (使用 auto_prepend_file 会导致崩溃 (超出范围的堆栈地址使用))。 (basant dot kukreja at sun dot com)
- 修复了错误 #45722 (mb_check_encoding() 发生崩溃)。 (Moriyoshi)
- 修复了错误 #45705 (rfc822_parse_adrlist() 会修改传递的地址参数)。 (Jani)
- 修复了错误 #45691 (某些每个目录或运行时设置可能会泄漏到其他请求中)。 (Moriyoshi)
- 修复了错误 #45581 (htmlspecialchars() 对 &#x 十六进制项进行双重编码)。 (Arnaud)
- 修复了错误 #45580 (levenshtein() 在使用无效参数时发生崩溃)。 (Ilia)
- 修复了错误 #45575 (使用无效非字符串作为事件处理程序回调时发生段错误)。 (Christian Seiler)
- 修复了错误 #45568 (ISAPI 无法在标头中正确清除 auth_digest)。 (补丁来自:navara at emclient dot com)
- 修复了错误 #45556 (回调的返回值没有被释放)。 (Felipe)
- 修复了错误 #45555 (使用无效非字符串作为 register_introspection_callback 时发生段错误)。 (Christian Seiler)
- 修复了错误 #45553 (使用 XPath 返回具有命名空间的属性的值不起作用)。 (Rob)
- 修复了错误 #45529 (new DateTimeZone() 和 date_create()->getTimezone() 的行为不同)。 (Derick)
- 修复了错误 #45522 (FCGI_GET_VALUES 请求无法返回提供的 value)。 (Arnaud)
- 修复了错误 #45486 (mb_send_mail(); 标头 "Content-Type: text/plain; charset=" 解析错误)。 (Felipe)
- 修复了错误 #45485 (strip_tags 和 <?XML 标记)。 (Felipe)
- 修复了错误 #45460 (imap 补丁针对 imap_headerinfo 中的 fromlength 修复无法接受长度为 1024 的值)。 (Felipe, andrew at lifescale dot com)
- 修复了错误 #45449 (使用 ftp 包装器时 filesize() 回归)。 (crrodriguez at suse dot de)
- 修复了错误 #45423 (fastcgi 父进程在关闭之前不会调用 php_module_shutdown)。 (basant dot kukreja at sun dot com)
- 修复了错误 #45406 (由共享扩展声明的 session.serialize_handler 失败)。 (Kalle, oleg dot grenrus at dynamoid dot com)
- 修复了错误 #45405 (snmp 扩展内存泄漏)。 (Federico Cuello, Rodrigo Campos)
- 修复了错误 #45392 (ob_start()/ob_end_clean() 和 memory_limit)。 (Arnaud)
- 修复了错误 #45382 (stream_socket_enable_crypto 中的超时错误)。 (Ilia)
- 修复了错误 #45373 (在参数中出现错误时,php 在查询时发生崩溃)。 (Felipe)
- 修复了错误 #45352 (由于在第二次请求时使用 tick 函数导致段错误)。 (Dmitry)
- 修复了错误 #45312 (在第二次请求数组函数时发生段错误)。 (Dmitry)
- 修复了错误 #45303 (以追加模式打开 php:// 包装器会导致警告)。 (Arnaud)
- 修复了错误 #45251 (使用 setAttributeNode() 导致双重释放或损坏)。 (Rob)
- 修复了错误 #45226, #18916 (xmlrpc_set_type() 发生段错误,并且在使用有效的 ISO8601 日期字符串时行为错误)。 (Jeff Lawsons)
- 修复了错误 #45220 (curl_read 回调在需要返回 size_t (无符号) 时返回 -1)。 (Felipe)
- 修复了错误 #45181 (chdir() 应该清除 stat 缓存中的相对条目)。 (Arnaud)
- 修复了错误 #45178 (在通过引用赋值 "new" 的结果时发生内存损坏)。 (Dmitry)
- 修复了错误 #45166 (substr() 溢出更改)。 (Felipe)
- 修复了错误 #45139 (ReflectionProperty 返回错误的声明类)。 (Felipe)
- 修复了错误 #45124 ($_FILES['upload']['size'] 有时返回零,有时返回文件大小)。 (Arnaud)
- 修复了错误 #45028 (CRC32 输出字节序在 crc32() 和 hash() 之间不同)。 (Tony)
- 修复了错误 #45004 (pg_insert() 无法接受 4 位数的时区格式)。 (Ilia)
- 修复了错误 #44991 (使用 freetds0.82 时编译失败)。 (jklowden at freetds dot org, matthias at dsx dot at)
- 修复了错误 #44938 (gettext 函数在使用过长的域时发生崩溃)。 (Christian Schneider, Ilia)
- 修复了错误 #44925 (preg_grep() 会修改输入数组)。 (Nuno)
- 修复了错误 #44900 (OpenSSL 扩展无法与 OpenSSL 0.9.6 链接)。 (jd at cpanel dot net, Pierre)
- 修复了错误 #44891 使用 registerPHPFunctions 和 XSLT 变量作为函数参数时发生内存泄漏。 (Rob)
- 修复了错误 #44882 (SOAP 扩展对象解码错误)。 (Dmitry)
- 修复了错误 #44830 (heredoc 中反斜杠的非常小的问题)。 (Matt)
- 修复了错误 #44818 (以只读方式打开时,php://memory 可写)。 (Arnaud)
- 修复了错误 #44811 (在创建包含无效数据的 SoapClient 时改进错误消息)。 (Markus Fischer, David C)
- 修复了错误 #44798 (将值赋值给属性时发生内存泄漏)。 (Ilia)
- 修复了错误 #44716 (进度通知不正确)。 (Hannes)
- 修复了错误 #44712 (stream_context_set_params 在使用无效参数时发生段错误)。 (Hannes)
- 修复了错误 #44617 (在 substitute_character=entity 时,HTML 实体输出错误)。 (Moriyoshi)
- 修复了错误 #44607 (stream_get_line 无法在流内容中正确识别 "结束")。 (Arnaud)
- 修复了 bug #44425(使用 __call() 函数扩展 PDO/MySQL 类不起作用)。(Johannes)
- 修复了 bug #44327(PDORow::queryString 属性和数字偏移量/崩溃)。(Felipe)
- 修复了 bug #44251、#41125(PDO + quote() + prepare() 可能导致段错误)。(tsteiner at nerdclub dot net)
- 修复了 bug #44246(closedir() 接受由 fopen() 打开的文件资源)。(Dmitry、Tony)
- 修复了 bug #44182(extract($a, EXTR_REFS) 可能无法拆分写时复制引用)。(robin_fernandes at uk dot ibm dot com)
- 修复了 bug #44181(extract($a, EXTR_OVERWRITE|EXTR_REFS) 可能无法创建对 $a 的引用)。(robin_fernandes at uk dot ibm dot com)
- 修复了 bug #44127(UNIX 抽象命名空间套接字连接不起作用)。(Jani)
- 修复了 bug #43993(mb_substr_count() 在重叠的搜索字符串情况下与 substr_count() 的行为不同)。(Moriyoshi)
- 修复了 bug #43958(类名添加到错误消息中)。(Dmitry)
- 修复了 bug #43941(json_encode 静默地截断非 UTF-8 字符串)。(Stas)
- 修复了 bug #43925(使用 pgsql 的准备语句中的参数计数不正确)。(Felipe)
- 修复了 bug #43731(socket_getpeername:无法在 stdin 上使用 inetd)。(Arnaud)
- 修复了 bug #43723(SOAP 无法从客户端正确发送 )。(Dmitry)
- 修复了 bug #43668(添加了 odbc.default_cursortype 来控制 ODBC 游标模型)。(Patrick)
- 修复了 bug #43666(修复了代码以使用 ODBC 3.52 数据类型以用于 64 位系统)。(Patrick)
- 修复了 bug #43540(rfc1867 处理程序 newlength 问题)。(Arnaud)
- 修复了 bug #43452(包含星期几或数字加星期几的字符串,如果当前星期几与短语中的星期几相同,则行为不正确)。(Derick)
- 修复了 bug #43353(错误检测 "data" 包装器导致通知)。(gk at gknw dot de, Arnaud)
- 修复了 bug #43053(回归:某些数字以科学记数法显示)。(int-e at gmx dot de)
- 修复了 bug #43045(SOAP 编码违反了类型 double/float 的 "INF")。(Dmitry)
- 修复了 bug #42855(dns_get_record() 无法返回 TXT 记录中的所有文本)。(a dot u dot savchuk at gmail dot com)
- 修复了 bug #42737(preg_split('//u') 在遇到换行符时触发 E_NOTICE)。(Nuno)
- 修复了 bug #42718(当配置为默认过滤器时,FILTER_UNSAFE_RAW 未应用)。(Arnaud)
- 修复了 bug #42604("make test" 使用 --with-config-file-scan-dir=path 失败)。(Jani)
- 修复了 bug #42473(ob_start php://output 和 headers)。(Arnaud)
- 修复了 bug #42318(AIX 上使用 nm 出现问题,找不到目标文件)。(Dmitry)
- 修复了 bug #42294(基于 C99 round 的 round() 的统一解决方案)。(Ilia)
- 修复了 bug #42078(pg_meta_data 混合来自不同模式的表格元数据)。(Felipe)
- 修复了 bug #41348(OCI8:允许使用 Oracle 8.1 编译)。(Chris Jones)
- 修复了 bug #41033(启用使用 DSA 密钥签名)。(gordyf at google dot com, Pierre)
- 修复了 bug #37100(使用 BINARY CURSOR 返回的数据被截断)。(Tony)
- 修复了 bug #30312(sybase_unbuffered_query() 函数中的崩溃)。(Timm)
- 修复了 bug #24679(使用模式时,pg_* 函数不起作用)。(Felipe)
- 修复了 PECL bug #14962(::extractTo 的第二个参数实际上不是可选的)。(Mark van Der Velden)
- 修复了 bug #14032(Mail() 始终返回 false 但邮件已发送)。(Mikko)
版本 5.2.5
- 安全修复
- 修复了 dl() 以便只接受文件名。由 Laurent Gaffie 报告。
- 修复了 dl() 以便将参数大小限制为 MAXPATHLEN(CVE-2007-4887)。
- 修复了 htmlentities/htmlspecialchars 以便不接受部分多字节序列。
- 修复了在 fnmatch()、setlocale() 和 glob() 函数的 glibc 实现中可能触发的缓冲区溢出。由 Laurent Gaffie 报告。
- 修复了 "mail.force_extra_parameters" php.ini 指令在 .htaccess 中不可修改,因为 SecurityReason 报告了安全隐患。
- 修复了 #42869 的错误(自动会话 ID 插入会将会话 ID 添加到非本地表单)。
- 修复了 #41561 的错误(在 httpd.conf 中使用 php_admin_* 设置的值可以使用 ini_set() 覆盖)。
- 将 PCRE 升级到 7.3 版(Nuno)
- 在 debug_backtrace() 中添加了可选参数 $provide_object。(Sebastian)
- 添加了对 imagefilter() IMG_FILTER_COLORIZE 的 Alpha 支持。(Pierre)
- 添加了使用 ZEND_MM_COMPACT 环境变量控制请求之间内存消耗的能力。(Dmitry)
- 提高了 array_intersect_key()、array_intersect_assoc()、array_uintersect_assoc()、array_diff_key()、array_diff_assoc() 和 array_udiff_assoc() 的速度。(Dmitry)
- 修复了 move_uploaded_file() 以便始终根据 UMASK 设置结果文件的权限。(Andrew Sitnikov)
- 修复了 ext/soap 中由于未初始化的值导致的可能崩溃。(Zdash Urf)
- 修复了 glob() 在对包含 '*' 的路径执行 safe_mode/open_basedir 检查时的回归。(Ilia)
- 修复了驱动程序返回空 LOB 流时的 PDO 崩溃。(Stas)
- 修复了 iconv_*() 函数以限制参数大小,作为对 libc 错误的解决方法(由 Laurent Gaffie 发现的 CVE-2007-4783、CVE-2007-4840)。(Christian Hoffmann,Stas)
- 修复了缺少的括号导致的构建警告和日志中的错误。Win32 代码。(Andrey)
- 修复了在一个 mysqli 对象上进行多次连接时出现的泄漏。(Andrey)
- 修复了构建通用二进制文件时,MacOS 上的字节序检测。(Uwe Schindler,Christian Speich,Tony)
- 修复了 imagerectangle 对 1x1 矩形的回归(libgd #106)。(Pierre)
- 修复了 #43196 的错误(array_intersect_assoc() 在输入非数组时崩溃)。(Jani)
- 修复了 #43139 的错误(PDO 在某些情况下,使用 fetchAll() 时会忽略 ATTR_DEFAULT_FETCH_MODE)。(Ilia)
- 修复了 #43137 的错误(rmdir() 和 rename() 不会清除 statcache)。(Jani)
- 修复了 #43130 的错误(绑定参数的名称中不能包含 '-')。(Ilia)
- 修复了 #43099 的错误(XMLWriter::endElement() 没有检查参数数量)。(Ilia)
- 修复了 #43020 的错误(使用 shuffle() 并且参数多于一个时,缺少警告消息)。(Scott)
- 修复了 #42976 的错误(newInstance() 或 newInstanceArgs() 的构造函数失败时崩溃) (Ilia)
- 修复了 #42943 的错误(ext/mssql: 将 *timeout 初始化从 RINIT 移动到连接时间)。(Ilia)
- 修复了 #42917 的错误(PDO::FETCH_KEY_PAIR 在使用 setFetchMode 时无效)。(Ilia)
- 修复了 #42890 的错误(由 mysqlclient 和 c-client 定义的常量 "LIST")。(Andrey)
- 修复了 #42818 的错误($foo = clone(array()); 会泄漏内存)。(Dmitry)
- 修复了 #42817 的错误(对非对象的 clone() 不会导致致命错误)。(Ilia)
- 修复了 #42785 的错误(json_encode() 会根据区域设置格式化双精度数,而不是遵循标准语法)。(Ilia)
- 修复了 #42783 的错误(pg_insert() 无法接受用于插入的空列表)。(Ilia)
- 修复了 #42773 的错误(WSDL 错误导致 HTTP 500 响应)。(Dmitry)
- 修复了 #42772 的错误(在处理转换为字符串时,将 $this 存储在静态变量中会失败)。(Dmitry)
- 修复了 #42767 的错误(highlight_string() 会截断尾部的注释)。(Ilia)
- 修复了 #42739 的错误(在启用 safe_mode 时,mkdir() 不喜欢尾部的斜杠)。(Ilia)
- 修复了 #42703 的错误(在迭代器::current() 中引发的异常会导致 FilterIterator 中的段错误) (Marcus)
- 修复了 #42699 的错误(PHP_SELF 会复制路径)。(Dmitry)
- 修复了 #42654 的错误(RecursiveIteratorIterator 仅修改部分叶子) (Marcus)
- 修复了 #42643 的错误(使用 ATTR_PERSISTENT 时,CLI 会崩溃)。(Ilia)
- 修复了 #42637 的错误(SoapFault: 只允许 http 和 https)。(Bill Moran)
- 修复了 #42629 的错误(动态加载的 PHP 扩展需要在 MacOSX 上导出符号)。(jdolecek at NetBSD dot org)
- 修复了 #42627 的错误(bz2 扩展在使用 -fno-common 时无法构建)。(dolecek at netbsd dot org)
- 修复了 #42596 的错误(session.save_path MODE 选项无效)。(Ilia)
- 修复了 #42590 的错误(使引擎识别 \v 和 \f 转义序列)。(Ilia)
- 修复了 #42587 的错误(关于符号链接 .php 文件的行为更改)。(Dmitry)
- 修复了 #42579 的错误(apache_reset_timeout() 不存在)。(Jani)
- 修复了 #42549 的错误(ext/mysql 在使用 libmysql 3.23 时无法编译)。(Scott)
- 修复了 #42523 的错误(PHP_SELF 会复制路径)。(Dmitry)
- 修复了 #42512 的错误(ip2long('255.255.255.255') 应该在 64 位 PHP 上返回 4294967295)。(Derick)
- 修复了错误 #42506 (php_pgsql_convert() 时区解析错误) (nonunnet at gmail dot com, Ilia)
- 修复了错误 #42462 (在 DOMElement 中设置属性时出现段错误)。(Rob)
- 修复了错误 #42453 (CGI SAPI 在使用 -i/-m/-v 命令行选项时无法正常关闭)。(Dmitry)
- 修复了错误 #42452 (PDO 类不公开反射 API 信息)。(Hannes)
- 修复了错误 #42468 (在使用压缩流时,文件上的写入锁失败)。(Ilia)
- 修复了错误 #42488 (SoapServer 报告编码错误,错误本身会中断)。(Dmitry)
- 修复了错误 #42378 (mysqli_stmt_bind_result 内存耗尽)。(Andrey)
- 修复了错误 #42359 (xsd:list 类型未解析)。(Dmitry)
- 修复了错误 #42326 (SoapServer 崩溃)。(Dmitry)
- 修复了错误 #42214 (SoapServer 向客户端发送内部 PHP 错误)。(Dmitry)
- 修复了错误 #42189 (xmlrpc_set_type() 在无效日期时间值上会导致 php 崩溃)。(Ilia)
- 修复了错误 #42139 (使用 XML() 时 XMLReader 选项常量已损坏)。(Rob)
- 修复了错误 #42086 (SoapServer 返回的过程“ '' ”对于符合 WSIBasic 的 wsdl 不存在)。(Dmitry)
- 修复了错误 #41822 (getcwd() 失败时,相对包含失效)。(Ab5602, Jani)
- 修复了错误 #39651 (proc_open() 的追加模式在 Windows 上不起作用)。(Nuno)
版本 5.2.4
- 安全修复
- 修复了 wordwrap() 中的“浮点异常”。(Mattias Bengtsson, Ilia)
- 修复了 Mattias Bengtsson 报告的 ImageCreate()、ImageCreateTrueColor()、ImageCopyResampled() 和 ImageFilledPolygon() 中的多个整数溢出。(Tony)
- 修复了 chunk_split() 中的大小计算。(Stas)
- 修复了 str[c]spn() 中的整数溢出。(Stas)
- 修复了 money_format() 不接受多个 %i 或 %n 令牌。(Stas, Ilia)
- 修复了 zend_alter_ini_entry() 的 memory_limit 中断漏洞。(Ilia)
- 修复了 MySQL 扩展的 INFILE LOCAL 选项处理,当 open_basedir 或 safe_mode 处于活动状态时,不允许使用该选项。(Stas)
- 修复了 session.save_path 和 error_log 值,使其在 open_basedir 和 safe_mode 下进行检查 (CVE-2007-3378) (Stas, Maksymilian Arciemowicz)
- 修复了 glob() win32 实现中可能发生的无效读取 (CVE-2007-3806)。(Tony)
- 改进了针对 MOPB-03-2007 的修复。(Ilia)
- 更正了针对 CVE-2007-2872 的修复。(Ilia)
- 删除了 --enable-versioning 配置选项。(Jani)
- 将 PCRE 升级到 7.2 版。(Nuno)
- 将时区数据库更新到 2007.6 版。(Derick)
- 改进了 openssl_x509_parse(),以可读形式返回扩展。(Dmitry)
- 为非持久性 OCI8 连接启用了更改语句缓存大小的功能。(Chris Jones, Tony)
- 将 display_errors php.ini 选项更改为接受 stderr 作为值,这使得错误消息在使用 CGI 和 CLI SAPIs 时被输出到 STDERR 而不是 STDOUT (#22839)。(Jani)
- 更改了错误处理程序,以便在 PHP 错误发生时发送 HTTP 500 而不是空白页面。(Dmitry, Andrei Nigmatulin)
- 更改了 mail() 函数,使其始终可用。(Johannes)
- 添加了对传递给 configure 的未知选项的检查。(Jani)
- 为 pdo_pgsql 添加了持久连接状态检查器。(Elvis Pranskevichus, Ilia)
- 在 pdo_pgsql 驱动程序中添加了对 ATTR_TIMEOUT 的支持。(Ilia)
- 添加了 php_ini_loaded_file() 函数,该函数返回正在使用的实际 php.ini 的路径。(Jani)
- 添加了 GD 版本常量 GD_MAJOR_VERSION、GD_MINOR_VERSION GD_RELEASE_VERSION、GD_EXTRA_VERSION 和 GD_VERSION_STRING。(Pierre)
- 将缺失的 open_basedir 检查添加到了 CGI 中。(anight at eyelinkmedia dot com, Tony)
- 将缺失的格式验证器添加到了 unpack() 函数中。(Ilia)
- 将缺失的错误检查添加到了 bcpowmod() 中。(Ilia)
- 添加了 CURLOPT_PRIVATE & CURLINFO_PRIVATE 常量。(Andrey A. Belashkov, Tony)
- 将缺失的 MSG_EOR 和 MSG_EOF 常量添加到了 sockets 扩展中。(Jani)
- 添加了 PCRE_VERSION 常量。(Tony)
- 添加了 ReflectionExtension::info() 函数,用于打印扩展的 phpinfo() 块。(Johannes)
- 实现了 FR #41884 (ReflectionClass::getDefaultProperties() 不处理静态属性)。(Tony)
- 修复了 imagepsloadfont() 中可能出现的崩溃,在 Windows 上绕过了 pslib 中的一个错误。(Pierre)
- 修复了 oci8 和 PDO_OCI 扩展,允许使用 Oracle 11g 客户端库进行配置。(Chris Jones)
- 修复了在从以只写模式打开的文件中读取时,在 EOF 处理方面存在的问题。(Dmitry)
- 修复了 var_export(),使其使用新的 H 修饰符,以便它可以为浮点数生成可解析的 PHP 代码,与区域设置无关。(Derick)
- 修复了 libgd 错误 #74 修复引入的回归。(Pierre)
- 修复了 SimpleXML 在与 empty() 一起使用时的行为。(Sara)
- 修复了 OpenSSL 扩展因非字符串密码而导致的崩溃。(Dmitry)
- 修复了 PECL 错误 #11345 (在国家语言支持“NLS”环境初始化错误后,PDO_OCI 崩溃)。(Chris Jones)
- 修复了 PECL 错误 #11216 (ZipArchive::addEmptyDir 中的崩溃,当目录已存在时)。(Pierre)
- 修复了错误 #42368 (pg_escape_string 显示错误信息不正确)。(Ilia)
- 修复了错误 #42365 (glob() 崩溃,或接受过多的标志)。(Jani)
- 修复了错误 #42364 (在使用 getRealPath 和 DirectoryIterator 时崩溃)。(Johannes)
- 修复了错误 #42292 ($PHP_CONFIG 未为 phpized 版本设置)。(Jani)
- 修复了错误 #42261 (日期字段的标头错误)。(roberto at spadim dot com dot br, Ilia)
- 修复了错误 #42259 (SimpleXMLIterator 丢失祖先)。(Rob)
- 修复了错误 #42247 (ldap_parse_result() 在 win32 下未定义)。(Jani)
- 修复了错误 #42243 (copy() 当第一个参数是目录时,不输出错误)。(Ilia)
- 修复了错误 #42242 (sybase_connect() 崩溃)。(Ilia)
- 修复了错误 #42237 (stream_copy_to_stream 为映射的流返回无效值)。(andrew dot minerd at sellingsource dot com, Ilia)
- 修复了错误 #42233 (æøå 在 extract() 中出现问题)。(Jani)
- 修复了错误 #42222 (php_openssl_make_REQ 中可能发生的缓冲区溢出)。(Pierre)
- 修复了错误 #42211 (property_exists() 无法从父类中找到受保护的属性)。(Dmitry)
- 修复了错误 #42208 (当同一个数组被多次传递时,substr_replace() 崩溃)。(crrodriguez at suse dot de, Ilia)
- 修复了错误 #42198 (在用户目录中并使用 PATH_INFO 时,SCRIPT_NAME 和 PHP_SELF 被截断)。(Dmitry)
- 修复了错误 #42195 (始终需要 C++ 编译器)。(Jani)
- 修复了错误 #42183 (classmap 在非 wsdl 模式下会导致崩溃)。(Dmitry)
- 修复了错误 #42173 (oci8 INTERVAL 和 TIMESTAMP 类型修复)。(Chris)
- 修复了错误 #42151 (__destruct 函数在捕获 SoapFault 异常后未被调用)。(Dmitry)
- 修复了错误 #42142 (当长度 > 字符串长度时,substr_replace() 返回 FALSE)。(Ilia)
- 修复了错误 #42135 (第二次调用 session_start() 会导致创建 SID)。(Ilia)
- 修复了错误 #42134 (oci_error() 在 oci_new_collection() 失败后返回 false)。(Tony)
- 修复了错误 #42119 (array_push($arr,&$obj) 在 zend.ze1_compatibility_mode 为 On 时不起作用)。(Dmitry)
- 修复了错误 #42117 (bzip2.compress 在内部缓冲区中丢失数据)。(Philip, Ilia)
- 修复了错误 #42112 (删除节点会导致内存损坏)。(Rob)
- 修复了错误 #42107 (sscanf 在使用 %2$s 格式参数时已损坏)。(Jani)
- 修复了错误 #42090 (json_decode 导致段错误)。(Hannes)
- 修复了错误 #42082 (NodeList 长度为零应为空)。(Hannes)
- 修复了错误 #42072 (clearstatcache() 带参数时没有警告消息)。(Ilia)
- 修复了错误 #42071 (ini 扫描器允许使用 NULL 作为选项名称)。(Jani)
- 修复了错误 #42027 (is_file() / is_dir() 在 Windows 中匹配包含通配符字符或尾部斜杠的文件/目录名)。(Dmitry)
- 修复了错误 #42019 (配置选项 --with-adabas=DIR 不起作用)。(Jani)
- 修复了错误 #42015 (ldap_rename(): 服务器错误“DSA 不愿执行”。(bob at mroczka dot com, Jani)
- 修复了错误 #42009 (is_a() 和 is_subclass_of() 不应该调用自动加载,就像“instanceof”运算符一样)。(Dmitry)
- 修复了错误 #41989 (move_uploaded_file() & ZTS 模式下的相对路径)。(Tony)
- 修复了错误 #41984 (在大型 SoapClient 请求上挂起)。(Dmitry)
- 修复了错误 #41983 (获取 http 标头错误,以“\n”结尾)。(Dmitry)
- 修复了错误 #41973 (--with-ldap=shared 在使用 LDFLAGS="-Wl,--as-needed” 时失败)。(Nuno)
- 修复了错误 #41971 (PDOStatement::fetch 和 PDOStatement::setFetchMode 导致意外行为)。(Ilia)
- 修复了错误 #41964 (strtotime 为模式为“(A|a) .+”的非时间字符串返回时间戳)。(Derick)
- 修复了错误 #41961 (确保搜索隐藏的私有方法不会偏离类层次结构)。(robin_fernandes at uk dot ibm dot com)
- 修复了错误 #41947 (SimpleXML 错误地将空字符串注册为命名空间)。(Rob)
- 修复了错误 #41929 (对象上的 Foreach 不会遍历所有可见属性)。(Dmitry)
- 修复了错误 #41919 (字符串到数组转换中的崩溃)。(judas dot iscariote at gmail dot com, Ilia)
- 修复了错误 #41909 (var_export() 在导出浮点值时对区域设置敏感)。(Derick)
- 修复了错误 #41908 (CFLAGS="-Os" ./configure --enable-debug 失败)。(christian at hoffie dot info, Tony)
- 修复了错误 #41904 (proc_open(): 空的 env 数组应导致将空的 env 传递给进程)。(Jani)
- 修复了错误 #41867 (SimpleXML: getName 已损坏)。(Rob)
- 修复了错误 #41865 (fputcsv(): 第二个参数不是可选的)。(Jani)
- 修复了错误 #41861 (SimpleXML: getNamespaces() 返回节点兄弟节点的命名空间)。(Rob)
- 修复了错误 #41845 (pgsql 扩展无法与 PostgreSQL <7.4 编译)。(Ilia)
- 修复了错误 #41844 (格式对于负年份 -0001 到 -0999 返回的位数不正确)。(Derick)
- 修复了错误 #41842 (无法使用 date_create 或 new DateTime 创建年份 < 0100 和负年份)。(Derick)
- 修复了错误 #41833 (在不存在的节点上调用 addChild() 时,没有创建节点,getName() 会导致段错误)。(Rob)
- 修复了错误 #41831 (pdo_sqlite 预处理语句将资源转换为字符串)。(Ilia)
- 修复了错误 #41815 (当到达 EOF 时,并发读/写失败)。(Sascha)
- 修复了错误 #41813 (在使用字符串偏移量作为对象时,出现段错误)。(judas dot iscariote at gmail dot com, Tony)
- 修复了错误 #41795 (checkdnsrr 不支持 DNS_TXT 类型)。(lucas at facebook dot com, Tony)
- 修复了错误 #41773 (php_strip_whitespace() 在错误被抑制的情况下发送标头)。(Tony)
- 修复了错误 #41770 (SSL: 由于缓冲区问题导致协议错误)。(Ilia)
- 修复了 bug #41765(Recode 在 amd64 上崩溃/无法工作)。(nexus at smoula dot net,Stas)
- 修复了 bug #41724(libxml_get_last_error() - 错误服务请求范围)。(thekid at php dot net,Ilia)
- 修复了 bug #41717(imagepolygon 不尊重厚度)。(Pierre)
- 修复了 bug #41713(自 5.2 以来,win32 上的持久内存消耗)。(Dmitry)
- 修复了 bug #41711(OCI8 中不支持 NULL 临时 LOB)。(Chris Jones,Tony)
- 修复了 bug #41709(strtotime() 不处理 00.00.0000)。(Derick)
- 修复了 bug #41698(在准备好的语句中,浮点数参数被截断为整数)。(Ilia)
- 修复了 bug #41692(ArrayObject 在继承方面表现出奇怪的行为)。(Tony)
- 修复了 bug #41691(ArrayObject::exchangeArray 使 Apache 挂起)。(Tony)
- 修复了 bug #41686(在 array_slice 中省略长度参数不可行)。(Ilia)
- 修复了 bug #41685(当下一个索引已被占用时,array_push() 无法发出警告)。(Ilia)
- 修复了 bug #41655(通过 glob() 绕过 open_basedir)。(Ilia)
- 修复了 bug #41640(get_class_vars 在类常量上产生错误)。(Johannes)
- 修复了 bug #41635(SoapServer 和 zlib.output_compression 与 FastCGI 导致重大速度下降)。(Dmitry)
- 修复了 bug #41633(实例化具有自引用常量的类时崩溃)。(Dmitry)
- 修复了 bug #41630(当图像数据中存在无效的颜色索引时,出现段错误)。(Elliot wccoder@gmail dot com 报告)(Pierre)
- 修复了 bug #41628(在 Apache 1.3 中,PHP 设置在虚拟主机之间泄漏)。(Scott,manuel at mausz dot at)
- 修复了 bug #41608(在使用对象和 switch() 的奇怪代码中出现段错误)。(Tony)
- 修复了 bug #41600(URL 重写标签不适用于命名空间标签)。(Ilia)
- 修复了 bug #41596(修复了 pdo_pgsql 在某些非良好格式的 SQL 查询中发生的崩溃)。(Ilia)
- 修复了 bug #41594(OCI8 语句缓存过于频繁地刷新)。(Tony)
- 修复了 bug #41582(访问新创建的元素时,SimpleXML 崩溃)。(Tony)
- 修复了 bug #41576(使用 --without-apxs 或某些其他禁用 SAPI 的选项时,配置失败)。(Jani)
- 修复了 bug #41567(json_encode() 双重转换与 PHP 不一致)。(Lucas,Ilia)
- 修复了 bug #41566(SOAP 服务器未正确生成 href 属性)。(Dmitry)
- 修复了 bug #41555(配置失败:回归是由 #41265 的修复引起的)。(Jani)
- 修复了 bug #41527(WDDX 反序列化数字字符串数组键)。(Matt,Ilia)
- 修复了 bug #41523(strtotime('0000-00-00 00:00:00') 被解析为 1999-11-30)。(Derick)
- 修复了 bug #41518(file_exists() 在不存在的文件上警告 open_basedir 限制)。(Tony)
- 修复了 bug #41445(parse_ini_file() 在某些类型的整数用作节时存在问题)。(Tony)
- 修复了 bug #41433(DBA:配置无法为 db4 包含正确的 db.h)。(Jani)
- 修复了 bug #41372(在数组复制期间,源数组的内部指针重置)。(Dmitry)
- 修复了 bug #41350(在 Windows 上,请求关闭期间出现 my_thread_global_end() 错误)。(Scott,Andrey)
- 修复了 bug #41278(get_loaded_extensions() 应该列出 Zend 扩展)。(Johannes)
- 修复了 bug #41127(ldap_{first|next}_attribute 函数中的内存泄漏)。(Jani)
- 修复了 bug #40757(get_object_vars 在子类中没有获取任何内容)。(Dmitry)
- 修复了 bug #40705(在函数中迭代会移动原始数组指针)。(Dmitry)
- 修复了 bug #40509(如果在函数中使用全局数组,key() 函数的行为会发生变化)。(Dmitry)
- 修复了 bug #40419(CGI 请求中的尾部斜杠不起作用)。(Dmitry)
- 修复了 bug #39330(apache2handler 在 apache 子进程死亡之前没有调用关闭操作)。(isk at ecommerce dot com,Gopal,Tony)
- 修复了 bug #39291(ldap_sasl_bind() 缺少 sasl_authc_id 参数)。(diafour at gmail dot com,Jani)
- 修复了 bug #37715(数组指针在复制时重置)。(Dmitry)
- 修复了 bug #37273(符号链接和 mod_files 会话处理程序允许绕过 open_basedir)。(Ilia)
- 修复了 bug #36492(用户过滤器可能会泄漏存储桶)。(Sara)
- 修复了 bug #36796,#36918,#41371(stream_set_blocking() 不起作用)。(Jani)
- 修复了 bug #35981(pdo-pgsql 在不存在时不应该使用 pkg-config)。(Jani)
- 修复了 bug #31892(没有 cgi.fix_pathinfo 时,PHP_SELF 不正确,但打开会弄乱 PATH_INFO)。(Dmitry)
- 修复了 bug #21197(socket_read() 使用 PHP_NORMAL_READ 输出错误)。(Nuno,Jani)
版本 5.2.3
- 安全修复
- 修复了 chunk_split() 中的整数溢出问题(由 Gerhard Wagner 发现,CVE-2007-2872)
- 修复了 imagecreatefrompng 中可能的无限循环。(由 Xavier Roche 发现,CVE-2007-2756)
- 修复了 ext/filter 邮件验证漏洞(MOPB-45,由 Stefan Esser 发现,CVE-2007-1900)
- 修复了 bug #41492(realpath() 中的 open_basedir/safe_mode 绕过)(由 bugs dot php dot net at chsc dot dk 发现)
- 改进了 CVE-2007-1887 的修复程序,使其与非捆绑的 sqlite2 库一起使用。
- 添加了 mysql_set_charset(),允许在运行时更改连接编码。
- 将 CGI 安装目标更改为 php-cgi,并将 'make install' 更改为在选择 CGI 时安装 CLI。(Jani)
- 将 JSON 最大嵌套深度从 20 更改为 128。(Rasmus)
- 改进了 heredoc 和插值字符串的编译。(Matt,Dmitry)
- 优化了几个每请求系统调用。(Rasmus)
- 优化了 md5() 和 sha1() 函数中的摘要生成。(Ilia)
- 将捆绑的 SQLite 3 升级到 3.3.17 版本。(Ilia)
- 添加了 "max_input_nesting_level" php.ini 选项,用于限制输入变量的嵌套级别。修复 MOPB-03-2007。(Stas)
- 为 htmlspecialchars() 和 htmlentities() 添加了第四个参数标志,使该函数不会对现有的 HTML 实体进行编码。(Ilia)
- 添加了 PDO::FETCH_KEY_PAIR 模式,该模式将把两列结果集提取到关联数组中。(Ilia)
- 添加了 CURLOPT_TIMEOUT_MS 和 CURLOPT_CONNECTTIMEOUT_MS cURL 常量。(Sara)
- 为 CLI 添加了 --ini 开关,用于打印出配置文件名。(Marcus)
- 实现了 FR #41416(getColumnMeta() 也应该返回表名)。(Tony)
- 修复了 filetype() 和 linkinfo() 在 ZTS 系统上处理符号链接的问题。(Oliver Block,Tony,Dmitry)
- 修复了 SOAP 扩展的 handler(),使其即使在 "always_populate_raw_post_data" 关闭时也能工作。(Ilia)
- 修复了通过名为 "this" 的参数更改 $this 的问题。(Dmitry)
- 修复了 PHP CLI 从二进制文件位置使用 php.ini 的问题。(Hannes)
- 修复了 strripos() 中的段错误。(Tony,Joxean Koret)
- 修复了与 freetype 1.x 一起使用时的 gd 构建问题。(Pierre,Tony)
- 修复了 bug #41525(ReflectionParameter::getPosition() 不可用)。(Marcus)
- 修复了 bug #41511(在 IRIX 6.5.30 下构建 md5.c 时编译失败)。(Jani)
- 修复了 bug #41504(json_decode() 错误地解码了包含空字符串键的 JSON 数组)。(Ilia)
- 修复了 bug #41477(关于 SoapClient::__soapCall() 的 arginfo 不存在)。(Ilia)
- 修复了 bug #41455(ext/dba/config.m4 污染了全局 $LIBS 和 $LDFLAGS)。(mmarek at suse dot cz,Tony)
- 修复了 bug #41442(在输出控制下的 imagegd2())。(Tony)
- 修复了 bug #41430(file_get_contents() 的 maxlen 参数使用负值时出现致命错误)。(Tony)
- 修复了 bug #41423(PHP 错误地认为 OpenSSL 中启用了某些密码)。(Pierre)
- 修复了 bug #41421(来自流包装器的未捕获异常会导致段错误)。(Tony,Dmitry)
- 修复了 bug #41403(如果 localeconv decimal_point 不是 '.',json_decode 无法解码浮点数)。(Tony)
- 修复了 bug #41401(错误的一元运算符优先级)。(Stas)
- 修复了 bug #41394(dbase_create 创建的文件具有损坏的标头)。(Tony)
- 修复了 bug #41390(使用无效协议方案时,请澄清错误消息)。(Scott)
- 修复了 bug #41378(fastcgi 协议缺少对 "Status:" 标头中的 Reason-Phrase 的支持)。(anight at eyelinkmedia dot com,Dmitry)
- 修复了 bug #41374(整个文本连接了错误节点的值)。(Rob)
- 修复了 bug #41358(当 libcurl >= 7.16.2 时,configure 无法确定 SSL 库)。(Mike)
- 修复了 bug #41353(openssl_pkcs12_read() 在无效输入时崩溃)。(Ilia)
- 修复了 bug #41351(使用 foreach ($a[] as $b) 时出现无效操作码)。(Dmitry,Tony)
- 修复了 bug #41347(checkdnsrr() 在空主机名时出现段错误)。(Scott)
- 修复了 bug #41337(WSDL 解析不会忽略非 soap 绑定)。(Dmitry)
- 修复了 bug #41326(使用 Xmlwriter::WriteElement[ns] 编写空标签)(Pierre)
- 修复了 bug #41321(将 getimagesize() 中的读取错误降级为 E_NOTICE)。(Ilia)
- 修复了 bug #41304(compress.zlib 临时文件遗留)。(Dmitry)
- 修复了 bug #41293(修复了在没有默认发布处理程序时创建 HTTP_RAW_POST_DATA 的问题)。(Ilia)
- 修复了 bug #41291(FastCGI 未设置 SO_REUSEADDR)。(fmajid at kefta dot com,Dmitry)
- 修复了 bug #41287(命名空间函数不允许 xmlns 定义为可选)。(Rob)
- 修复了 bug #41283(在 wddx 中反序列化为双精度数或浮点数的数组键时的错误)。(Ilia)
- 修复了 bug #41257(lookupNamespaceURI 未按预期工作)。(Rob)
- 修复了 bug #41236(在非阻塞 SSL 连接的读取和写入期间,超时处理方面的回归)。(Ilia)
- 修复了 bug #41134(zend_ts_hash_clean 不线程安全)。(marco dot cova at gmail dot com,Tony)
- 修复了 bug #41097(ext/soap 在不使用 WSDL 的情况下,将关联数组作为索引返回)。(Dmitry)
- 修复了 bug #41004(minOccurs="0" 和空类成员变量)。(Dmitry)
- 修复了 bug #39542(require/include 的行为与 < 5.2.0 不同)。(Dmitry)
版本 5.2.1
- 在 Curl 扩展中添加了 CURLOPT_TCP_NODELAY 常量。(Sara)
- 添加了对任意大小的十六进制数字的支持。(Matt)
- 添加了函数 stream_socket_shutdown()。它是系统 shutdown() 函数的包装器,用于关闭全双工连接的一部分。(Dmitry)
- 添加了内部堆保护。(Dmitry)
- memory-limit 始终启用 (已删除 --enable-memory-limit)。
- 如果 memory-limit 设置为 128M,则使用默认值。
- 安全地取消链接。
- cookie。
- 金丝雀保护 (仅限调试版本)。
- 随机生成 cookie 和金丝雀。
- 添加了对字符串文字前缀 "b" 的前向支持。(Andrei)
- 在 ext/xmlwriter 中添加了三个新函数 (Rob, Ilia)。
- xmlwriter_start_dtd_entity()
- xmlwriter_end_dtd_entity()
- xmlwriter_write_dtd_entity()
- 在 phpinfo() 输出中添加了一个元标记,以防止搜索引擎索引该页面。(Ilia)
- 添加了新的函数 sys_get_temp_dir()。(Hartmut)
- 在 file_put_contents() 中添加了对对象的缺失支持。(Ilia)
- 在 hash() 中添加了对 md2、ripemd256 和 ripemd320 算法的支持。(Sara)
- 添加了对 (二进制) 转换的前向支持。(Derick)
- 为 imageline 添加了水平线和垂直线的优化。(Pierre)
- 删除了对 SHELL32.DLL 的依赖。(Dmitry)
- 删除了各种函数中的双重 "参数计数错误" 警告。(Hannes)
- 将扩展移至 PECL
- ext/informix (Derick, Tony)
- 更改了双精度转换为字符串的实用程序,以使用 BSD 实现。(Dmitry, Tony)
- 在 Windows 发行版中将捆绑的 libcURL 更新为 7.16.0 版本。(Edin)
- 将时区数据库更新为 2006.16 版本。(Derick)
- cgi.* 和 fastcgi.* 指令已移至 INI 子系统。可以使用新的指令 cgi.check_shebang_line 来省略对 "#! /usr/bin/php" 行的检查。(Dmitry)。
- 改进了 proc_open()。现在在 Windows 上,它可以通过 CMD.EXE 以外的方式运行外部命令。(Dmitry)
- VCWD_REALPATH() 进行了改进,可以使用 realpath 缓存,而无需 VIRTUAL_DIR。(Dmitry)
- ext/bcmath 初始化代码已从请求启动移至模块启动。(Dmitry)
- Zend 内存管理器改进 (Dmitry)
- 使用 HeapAlloc() 代替 VirtualAlloc()
- 在 Windows 上默认使用 "win32" 存储管理器 (而不是 "malloc")
- Zip 扩展改进 (Pierre)
- 修复了 statName 和 stateIndex 中的泄漏。
- 修复了 return setComment (Hannes)
- 添加了 addEmptyDir 方法。
- 过滤器扩展改进 (Ilia, Pierre)
- 修复了回调函数返回未修改值的 bug。
- 添加了对 cgi/apache2 sapi 中的 $_SERVER 的过滤器支持。
- 确保在 Apache 1 sapi 中对 PHP_SELF 进行过滤。
- 修复了错误 #39358 (INSTALL_HEADERS 包含对 php_filter.h 的错误引用)。
- 添加了 "default" 选项,允许为无效或缺失的值设置默认值。
- 无效的过滤器会失败,而不是返回不安全的值。
- 修复了使用清理过滤器的潜在双重编码问题。
- 使用严格区分空格的 strip_tags() 函数。
- 修复了空格修剪。
- 添加了对 FastCGI 环境变量的支持。(Dmitry)
- PDO_MySQL 扩展改进 (Ilia)
- 对 date() 函数进行了少量优化。(Matt,Ilia)
- 优化了内部 is_numeric_string() 函数。(Matt,Ilia)
- 优化了使用 php_splice() 的数组函数。(Ilia)
- Windows 相关优化 (Dmitry, Stas)
- 仅在必要时进行 COM 初始化/反初始化。
- 删除了对 ISREG 文件的不必要检查和相应的 stat() 调用。
- opendir() 重新实现,使用 GetFirstFile/GetNextFile,它们比 _findfirst/_findnext 速度更快。
- 实现了注册表缓存,以防止每次请求时进行注册表查找。如果相应的注册表树发生修改,PHP 将自动重新加载它。
- 仅在必要时启动超时线程。
- stat() 重新实现,使用 GetFileAttributesEx()。新实现比 MS VC CRT 中的实现速度更快,但它不支持 Windows 95。
- 流优化 (Dmitry)
- 删除了不必要的 ftell() 调用 (每个包含的 PHP 文件一个调用)。
- 在 EOF 之后禁用对 read() 的调用。
- 修复了 FreeBSD 上的错误函数名称,inet_pton() 被命名为 __inet_pton(),inet_ntop() 被命名为 __inet_ntop()。(Hannes)
- 修复了 Windows 上的持久连接的 FastCGI 模拟。(Dmitry)
- 修复了 imagepng 中的错误签名初始化 (Takeshi Abe)。
- 修复了 FreeBSD 上负大小的 ftruncate()。(Hannes)
- 修复了 RegexIterator 在给出无效正则表达式时的段错误。(Hannes)
- 修复了 SplFileObject->openFile()->getPathname() 中的段错误。(Hannes)
- 修复了在 ZTS 模式下,当包含子语句的 OCI8 语句以错误顺序销毁时发生的段错误。(Tony)
- 修复了验证电子邮件过滤器,以便字母 "v" 也可以在电子邮件地址的用户部分使用。(Derick)
- 修复了错误 #40297 (在 ZTS 模式下,如果缺少集合支持,则编译失败)。(Tony)
- 修复了错误 #40285 (PDO 准备解析器在某些情况下会进入无限循环)。(Ilia)
- 修复了错误 #40274 (使用数字根键时会话失败)。(Ilia)
- 修复了错误 #40259 (多次调用 ob_start - 内存错误)。(Dmitry)
- 修复了错误 #40231 (file_exists 错误地报告为 false)。(Dmitry)
- 修复了错误 #40228 (ZipArchive::extractTo 不会递归创建空目录)。(Pierre)
- 修复了错误 #40200 (FastCgi 版本的 realpath 结果与线程安全版本不同)。(Dmitry)
- 修复了错误 #40191 (使用对象时 array_unique() 会触发段错误)。(Tony)
- 修复了错误 #40189 (zlib.inflate 流过滤器中可能出现无限循环)。(Greg, Tony)
- 修复了错误 #40169 (CURLOPT_TCP_NODELAY 仅在 curl >= 7.11.2 中可用)。(Tony)
- 修复了错误 #40129 (iconv 扩展在 Netware 上使用 CodeWarrior 时无法编译)。(gk at gknw dot de, Tony)
- 修复了错误 #40127 (apache2handler 在 Netware 上无法编译)。(gk at gknw dot de)
- 修复了错误 #40121 (PDO_DBLIB 驱动程序不会释放语句)。(Ilia)
- 修复了错误 #40098 (php_fopen_primary_script() 不是线程安全的)。(Ilia)
- 修复了错误 #40092 (chroot() 不会清除 realpath 缓存)。(Dmitry)
- 修复了错误 #40091 (spl_autoload_register 具有两个相同类的实例)。(Ilia)
- 修复了错误 #40083 (milter SAPI 函数始终返回 false/null)。(Tony)
- 修复了错误 #40079 (php_get_current_user() 不是线程安全的)。(Ilia, wharmby at uk dot ibm dot com)
- 修复了错误 #40078 (使用 oci_bind_array_by_name() 获取 NULL 值时出现 ORA-01405)。(Tony)
- 修复了错误 #40076 (zend_alloc.c: 枚举常量的值必须在带符号整数范围内)。(Dmitry)
- 修复了错误 #40073 (exif_read_data 在某些图像上崩溃)。(Tony, Marcus)
- 修复了错误 #40036 (使用 ARRAY_AS_PROPS 时,empty() 在 ArrayObject 上无法正常工作)。(Ilia)
- 修复了错误 #40012 (php_date.c 在 Netware 上无法编译)。(gk at gknw dot de, Derick)
- 修复了错误 #40009 (http_build_query(array()) 返回 NULL)。(Ilia)
- 修复了错误 #40002 (Try/Catch 性能不佳)。(Dmitry)
- 修复了错误 #39993 (tr_TR.UTF-8 本地化在 PHP 中存在问题)。(Ilia)
- 修复了错误 #39990 (无法 "foreach" 遍历重载属性)。(Dmitry)
- 修复了错误 #39988 (忽略了 oci_define_by_name() 的类型参数)。(Chris Jones, Tony)
- 修复了错误 #39984 (header() 中的重定向响应代码可能在 CGI sapi 中被忽略)。(Ilia)
- 修复了错误 #39979 (PGSQL_CONNECT_FORCE_NEW 会导致下一个连接建立新连接)。(Ilia)
- 修复了错误 #39971 (pg_insert/pg_update 不允许使用 now() 用于时间戳字段)。(Ilia)
- 修复了错误 #39969 (使用 --enable-maintainer-zts 时,ini 设置 short_open_tag 不会生效)。(Dmitry)
- 修复了错误 #39952 (zip 忽略了 zlib 检查中的 --with-libdir)。(judas dot iscariote at gmail dot com)
- 修复了错误 #39944 (引用损坏)。(Dmitry)
- 修复了错误 #39935 (扩展 tidy、mcrypt、mhash、pdo_sqlite 忽略了 --with-libdir)。(judas dot iscariote at gmail dot com, Derick)
- 修复了错误 #39903(多次执行 __halt_compiler() 时出现提示信息)。(Tony)
- 修复了错误 #39898(FILTER_VALIDATE_URL 验证 \r\n\t 等)。(Ilia)
- 修复了错误 #39890(使用 autoconf 2.6x 和 --with-layout=GNU 会破坏 PEAR 安装路径)。(Tony)
- 修复了错误 #39884(ReflectionParameter::getClass() 对类型提示 self 抛出异常)。(thekid at php dot net)
- 修复了错误 #39878(CURL 在 Sun Studio Pro 上无法编译)。(Ilia)
- 修复了错误 #39873(number_format() 在使用区域设置和十进制分隔符时会出错)。(Ilia)
- 修复了错误 #39869(safe_read 未初始化 errno)。(michiel at boland dot org, Dmitry)
- 修复了错误 #39850(SplFileObject 在尝试打开 "php://wrong" 时抛出矛盾/错误的错误信息)。(Tony)
- 修复了错误 #39846(无效的 IPv4 被视为有效)。(Ilia)
- 修复了错误 #39845(持久连接在 pdo_pgsql 中生成警告)。(Ilia)
- 修复了错误 #39832(SOAP 服务器:与 WSDL 指定类型不匹配的参数被设置为 0)。(Dmitry)
- 修复了错误 #39825(foreach 产生内存错误)。(Dmitry)
- 修复了错误 #39816(apxs2filter 忽略 httpd.conf 和 .htaccess 中的 php 配置设置)。(Ilia)
- 修复了错误 #39815(SOAP 双重编码不是与区域设置无关的)。(Dmitry)
- 修复了错误 #39797(virtual() 不会重置更改的 INI 设置)。(Ilia)
- 修复了错误 #39795(由于 crypt_r() 使用了不同的数据结构,因此在 AIX 上构建失败)。(Tony)
- 修复了错误 #39791(strtotime() 在超长的相对日期乘数上崩溃)。(Ilia)
- 修复了错误 #39787(PHP 无法与 Apache 2.3 一起使用)。(mv at binarysec dot com)。
- 修复了错误 #39782(在用工作日构造的 DateTime 上调用 setTime() 会产生不正确的结果)。(Ilia)
- 修复了错误 #39780(带有 CRC/数据错误的 PNG 图像引发致命错误)(Pierre)
- 修复了错误 #39779(在底层 libc-client 中启用 AUTH PLAIN 机制)。(michael dot heimpold at s2000 dot tu-chemnitz dot de, Ilia)
- 修复了错误 #39775("间接修改..." 信息未显示)。(Dmitry)
- 修复了错误 #39763(magic quotes 在 ext/filter 中通过 parse_str() 应用了两次)。(Ilia)
- 修复了错误 #39760(克隆嵌套的 SimpleXML-Object 失败)。(Rob)
- 修复了错误 #39759(无法在 pdo_mysql 中使用获取多个结果集的存储过程)。(Ilia)
- 修复了错误 #39754(一些 POSIX 扩展函数不是线程安全的)。(Ilia, wharmby at uk dot ibm dot com)
- 修复了错误 #39751(putenv 在 Windows 上崩溃)。(KevinJohnHoffman at gmail.com)
- 修复了错误 #39732(oci_bind_array_by_name 在 Solaris 64bit 上不起作用)。(Tony)
- 修复了错误 #39724(由于 spl/filter 使用了 pcre 扩展,导致构建中断)。(Tony, Ilia)
- 修复了错误 #39718(如果在 ini 中设置了 assert.callback,则可能会崩溃)。(Ilia)
- 修复了错误 #39702(php 在 linux-m68k 的分配器中崩溃)。(Dmitry)
- 修复了错误 #39685(iconv() - 未定义函数)。(Hannes)
- 修复了错误 #39673(file_get_contents 在某些偏移量上会导致总线错误)。(Tony)
- 修复了错误 #39663(pg_get_notify() 中的内存泄漏,以及 pgsql 和 pdo_pgsql 扩展中 Windows 上可能发生的内存损坏)。(Ilia, matteo at beccati dot com)
- 修复了错误 #39662(调用克隆的 SimpleXMLElement 的 asXML() 时发生段错误)。(Rob, Tony)
- 修复了错误 #39656(在调用 closeCursor() 之后,在 PDO 语句对象上调用 fetch() 时崩溃)。(Ilia, Tony)
- 修复了错误 #39653(ext/dba 在启用 db4 支持时不会检查 db-4.5 和 db-4.4)。(Tony)
- 修复了错误 #39652(memory_get_usage() 返回错误的负数结果)。(Dmitry)
- 修复了错误 #39648(PHP 函数 chown() 和 chgrp() 的实现不是线程安全的)。(Ilia, wharmby at uk dot ibm dot com)
- 修复了错误 #39640(使用 "允许的内存大小已用完" 时发生段错误)。(Dmitry)
- 修复了错误 #39625(Apache 在调用 importStylesheet 时崩溃)。(Rob)
- 修复了错误 #39623(*nix 上针对 putenv() 和 mime_magic 的线程安全修复)。(Ilia, wharmby at uk dot ibm dot com)
- 修复了错误 #39621(str_replace() 在长度相等的字符串上不是二进制安全的)。(Tony)
- 修复了错误 #39613(由于缺少模块依赖项,imap 初始化中可能发生段错误)。(wharmby at uk dot ibm dot com, Tony)
- 修复了错误 #39606(在 PHP.ini 中使用 com.typelib_file 仍然会导致 A/V)。(Rob)
- 修复了错误 #39602(无效的 session.save_handler 使 PHP 崩溃)。(Dmitry)
- 修复了错误 #39596(创建类型为 VT_ARRAY 的 Variant)。(Rob)
- 修复了错误 #39583(ftp_put() 不会将传输模式更改为 ASCII)。(Tony)
- 修复了错误 #39576(array_walk() 不会分离用户数据 zval)。(Tony)
- 修复了错误 #39575(move_uploaded_file() 不再起作用(与安全模式相关))。(Tony)
- 修复了错误 #39571(超时 ssl:// 连接)。(Ilia)
- 修复了错误 #39564(当 sqlite3_step() 失败时,PDO::errorInfo() 返回不一致的信息)。(Tony)
- 修复了错误 #39548(ZMSG_LOG_SCRIPT_NAME 在 Windows 上未路由到 OutputDebugString())。(Dmitry)
- 修复了错误 #39538(fgetcsv 无法处理起始换行符和结尾奇数个反斜杠)。(David Soria Parra, Pierre)
- 修复了错误 #39534(计算 ZEND_MM_ALIGNED_MIN_HEADER_SIZE 的数学运算错误)。(wharmby at uk dot ibm dot com, Dmitry)
- 修复了错误 #39527(在 pdo_mysql 中使用多个非缓冲的准备语句时,无法检索结果)。(Ilia)
- 修复了错误 #39508(imagefill 在使用 3 个像素或更小的图像时会崩溃)。(Pierre)
- 修复了错误 #39506(使用 ZipArchive::addFile 方法创建的存档已损坏)。(Pierre)
- 修复了错误 #39504(xmlwriter_write_dtd_entity() 创建的是 Attlist 标签,而不是实体)。(Hannes)
- 修复了错误 #39483(在准备语句中处理 \ 字符的问题)。(Ilia, suhachov at gmail dot com)
- 修复了错误 #39458(ftp_nlist() 在空目录上返回 false)。(Nuno)
- 修复了错误 #39454(返回 SOAP 数组会导致 PHP 崩溃)。(Dmitry)
- 修复了错误 #39450(getenv() 会填充其他超级全局变量)。(Ilia, Tony)
- 修复了错误 #39449(重载的数组属性无法正常工作)。(Dmitry)
- 修复了错误 #39445(在 __toString() 函数中调用 debug_backtrace() 会导致崩溃)。(Dmitry)
- 修复了错误 #39438(致命错误:内存不足)。(Dmitry)
- 修复了错误 #39435('foo' instanceof bar 会导致无效操作码错误)。(Sara)
- 修复了错误 #39414(使用 Sun Workshop Complier 编译时出现语法错误)。(Johannes)
- 修复了错误 #39398(布尔值不会自动转换为整数)。(Ilia)
- 修复了错误 #39394(缺少对旧版 openssl 的检查)。(Ilia)
- 修复了错误 #39367(clearstatcache() 不会清除 realpath 缓存)。(j at pureftpd dot org, Dmitry)
- 修复了错误 #39366(imagerotate 在角度 > 45 度时不会使用 alpha)(Pierre)
- 修复了错误 #39364(删除了 mb_strstr() 中空干草堆的警告)。(Ilia)
- 修复了错误 #39362(在 imap_open/imap_reopen 中添加了一个选项来控制连接重试次数)。(Ilia)
- 修复了错误 #39361, #39400(mbstring 函数重载问题)。(Seiji)
- 修复了错误 #39354(允许针对 libcurl 7.16.0 构建 curl 扩展)。(Ilia)
- 修复了错误 #39350(使用 implode("\n", array(false)) 时会崩溃)。(Ilia)
- 修复了错误 #39344(对扩展 INI 指令进行了不必要的 OnModify 回调例程调用)。(wharmby at uk dot ibm dot com, Dmitry)
- 修复了错误 #39320(ZEND_HASH_APPLY_STOP 导致删除)。(Marcus)
- 修复了错误 #39313(spl_autoload 触发致命错误)。(Marcus)
- 修复了错误 #39300(如果 wget 不可用,则 make install 失败)。(Tony)
- 修复了错误 #39297(由于对重载数组的间接修改导致内存损坏)。(Dmitry)
- 修复了错误 #39286(提供无效维度时会显示误导性的错误信息)(Pierre)
- 修复了错误 #39273(imagecopyresized 可能会忽略 alpha 通道)(Pierre)
- 修复了错误 #39265(修复了 mod_files.sh 中的路径处理)。(michal dot taborsky at gmail dot com, Ilia)
- 修复了错误 #39217(当值太大时,serialNumber 可能是 -1)。(Pierre, Tony)
- 修复了错误 #39215(不适当地关闭了 stdin/stdout/stderr)。(Wez, Ilia)
- 修复了错误 #39201(Apache 2 在使用 413 ErrorHandler 时可能崩溃)。(Ilia)
- 修复了错误 #39151(recursiveiteratoriterator.php 中的解析错误)。(Marcus)
- 修复了错误 #39121(非 wsdl soap 客户端中不正确的返回值数组处理)。(Dmitry)
- 修复了错误 #39090(DirectoryFilterDots doxygen 文档和示例错误)。(Marcus)
- 修复了错误 #38852(XML-RPC 导致 iconv 中断)。(Hannes)
- 修复了错误 #38770(unpack() 在 64 位机器上使用长整型时出错)。(Ilia, David Soria Parra)。
- 修复了错误 #38698(对于某些键,cdbmake 会创建损坏的 db,而 cdb 无法读取有效的 db)。(Marcus)
- 修复了错误 #38680(在 json_decode 中添加了对基本类型的缺失处理)。(Ilia)
- 修复了错误 #38604(修复了在迭代虚拟属性时,foreach() 内部的请求时间泄漏)。(Dmitry)
- 修复了错误 #38602(header( "HTTP/1.0 ..." ) 不会更改协议版本)。(Ilia)
- 修复了错误 #38542(proc_get_status() 在 windows 上返回错误的 PID)。(Nuno)
- 修复了错误 #38536(SOAP 返回值数组,而不是对象)。(Dmitry)
- 修复了错误 #38456(当在 .php ErrorDocument 中调用 virtual() 时,Apache2 会崩溃)。(Ilia)
- 修复了错误 #38325(spl_autoload_register() 对 "找不到类" 给出了错误的行号)。(Ilia)
- 修复了错误 #38319(删除了来自持久 PDO 连接的虚假警告)。(Ilia)
- 修复了错误 #38274(使用 fastcgi 时,内存限制致命错误被发送到 "错误" stderr)。(Dmitry)
- 修复了错误 #38252(在无效的默认获取模式上,PDO 错误信息不正确)。(Ilia)
- 修复了错误 #37927(当 COM 扩展处理类型为 VT_DISPATCH|VT_REF 的参数时,防止陷阱)(Andy)
- 修复了错误 #37773(当字符串长度 = 1 时,iconv_substr() 会给出 "未知错误")。(Ilia)
- 修复了错误 #37627(session save_path 检查会检查父目录)。(Ilia)
- 修复了错误 #37619(proc_open() 在 fork() 失败时会关闭 stdin)。(jdolecek at NetBSD dot org, Nuno)
- 修复了错误 #37588(COM 属性 propputref 会转换为 PHP 函数,无法访问)。(Rob)
- 修复了错误 #36975(natcasesort() 会导致 array_pop() 出现异常)。(Hannes)
- 修复了错误 #36812 (pg_execute() 修改输入数组)。(Ilia)
- 修复了错误 #36798 (解析包含高 ASCII 字符的查询中的命名参数时出错)。(Ilia)
- 修复了错误 #36644 (variant_date_from_timestamp() 中可能存在崩溃)。(Ilia)
- 修复了错误 #36427 (proc_open() / proc_close() 在 Windows 上泄漏句柄)。(jdolecek at NetBSD dot org, Nuno)
- 修复了错误 #36392 (在 sprintf 中使用 %e 规范符时,小数位数不正确)。(Matt,Ilia)
- 修复了错误 #36214 (__get 方法仅在使用条件运算符时才正常工作)。(Dmitry)
- 修复了错误 #35634 (错误地引发了“类声明不能嵌套”错误)。(Carl P. Corliss, Dmitry)
- 修复了错误 #35106 (当数组变量具有引用时,嵌套的 foreach 失败)。(Dmitry)
- 修复了错误 #34564 (COM 扩展未返回修改后的“out”参数)(Andy)
- 修复了错误 #33734 (COM 对象存在奇怪问题)。(Rob)
- 修复了错误 #33386 (ScriptControl 只能看到类的最后一个函数)。(Rob)
- 修复了错误 #33282 (按引用重新赋值不会清除 is_ref 标志)(Ilia, Dmitry, Matt Wilmas)
- 修复了错误 #30074 (使用 extract($blah, EXTR_REFS) 时出现明显的符号表错误)(Brian)
- 修复了错误 #29840 (is_executable() 不遵守 safe_mode_exec_dir 设置)。(Ilia)
- 修复了 PECL 错误 #7295 (ORA-01405: 在 LOB 字段上获取的列值为 NULL)。(Tony)
版本 5.2.0
- 在 Windows 发行版中将捆绑的 OpenSSL 更新至版本 0.9.8d。(Edin)
- 在 Windows 发行版中将 Postgresql 客户端库更新至 8.1.4。(Edin)
- 将 PCRE 更新至版本 6.7。(Ilia)
- 将 ext/pdo_sqlite 中的 libsqlite 更新至 3.3.7。(Ilia)
- 在 Windows 发行版中将捆绑的 MySQL 客户端库更新至版本 5.0.22。(Edin)
- 将时区数据库更新至版本 2006.14。(Derick)
- 添加了使 SOAP 调用用户空间 PHP<->XML 转换器功能。(Dmitry)
- 为 PostgreSQL 8.1.4 及更高版本添加了对 pg_escape_string() 中字符集的支持。(Ilia)
- 为 PostgreSQL 8.1.4 及更高版本添加了对 PDO quote() 方法中字符集的支持。(Ilia)
- 为 openssl_pkey_new() 添加了 DSA 密钥生成支持,FR #38731 (marci at balabit dot hu, Tony)
- 添加了 SoapServer::setObject() 方法(它是 SoapServer::setClass() 方法的简化版本)。(Dmitry)
- 为捆绑的 GD 添加了对 imagettftext() 中十六进制实体的支持。(Pierre)
- 添加了对会话扩展和 cookie 设置函数的 httpOnly 标志的支持。(Scott MacVicar, Ilia)
- 添加了特定于版本的注册表项,以允许不同版本的 PHP 具有不同的配置。(Richard, Dmitry)
- 为 apache 和 apache_hooks SAPI 添加了“PHPINIDir”Apache 指令。(Dmitry)
- 向 memory_get_usage() 和 memory_get_peak_usage() 添加了一个可选的布尔参数,以获取 emalloc() 分配的内存大小或从系统分配的内存的实际大小。(Dmitry)
- 添加了 Zip Archive 扩展。(Pierre)
- 添加了 RFC1867 文件上传处理钩子。(Stefan E.)
- 添加了 JSON 和 Filter 扩展。(Derick, Rasmus, Pierre, Ilia)
- 向 disk_free_space() 和 disk_total_space() 函数添加了错误消息。FR #37971 (Tony)
- 向 pathinfo() 添加了 PATHINFO_FILENAME 选项,以获取文件名。(Toby S. 和 Christian S.)
- 添加了 array_fill_keys() 函数。(Marcus, Matt Wilmas)
- 添加了 posix_initgroups() 函数。(Ilia)
- 向 http_build_query() 添加了可选参数,以允许指定字符串分隔符。(Ilia)
- 添加了 image_type_to_extension() 函数。(Hannes, Ilia)
- 添加了 allow_url_include ini 指令以补充 allow_url_fopen。(Rasmus)
- 添加了自动模块全局管理。(Dmitry)
- 添加了 RFC2397 (data: stream) 支持。(Marcus)
- 添加了新的错误模式 E_RECOVERABLE_ERROR。(Derick, Marcus, Tony)
- 添加了对 getenv() 输入过滤的支持。(Rasmus)
- 添加了对接口中构造函数的支持,以强制在实现中进行构造函数签名检查。(Marcus)
- 添加了 memory_get_peak_usage() 函数,用于检索 PHP 脚本的峰值内存使用情况。(Ilia)
- 添加了 pg_field_table() 函数。(Edin)
- 添加了 SimpleXMLElement::saveXML() 作为 SimpleXMLElement::asXML() 的别名。(Hannes)
- 添加了 DOMNode::getNodePath(),用于获取节点的 XPath。(Christian)
- 添加了 gmp_nextprime() 函数。(ants dot aasma at gmail dot com, Tony)
- 添加了 error_get_last() 函数。(Mike)
- 从 CLI 的 php.ini 搜索路径中删除了当前工作目录,并为其他 SAPI 重新添加了它(恢复到 5.1.x 之前的行为)。(Edin)
- 将扩展移至 PECL
- ext/filepro (Derick, Tony)
- ext/hwapi (Derick, Tony)
- 在启用 open_basedir 或 safe_mode 时,在 curl 中禁用了 CURLOPT_FOLLOWLOCATION。(Stefan E., Ilia)
- 将默认内存限制增加到 16 兆字节,以适应更准确的内存使用情况测量。
- 除了 php.ini 的路径之外,PHPRC 现在还可以指定完整的文件名。(Dmitry)
- 优化了数组/HashTable 复制。(Matt Wilmas, Dmitry)
- 通过消除 memcpy(3) 优化了 zend_try/zend_catch 宏。(Dmitry)
- 优化了 require_once() 和 include_once(),以消除在第二次使用时的 fopen(3)。(Dmitry)
- 优化了请求关闭序列。还原 ini 指令现在仅遍历修改后的指令,而不是全部指令。(Dmitry)
- 将 win32 上 PHPRC 环境变量的优先级更改为高于注册表中的值。(Dmitry)
- 更改了 __toString(),使其在所有适用情况下都被调用。(Marcus)
- 更改了 E_ALL 错误报告模式,以包含 E_RECOVERABLE_ERROR。(Marcus)
- 更改了 realpath 缓存,使其在按请求启用了“open_basedir”或“safe_mode”时被禁用。(Ilia)
- 改进的 SNMP 扩展:(Jani)
- 将 snmp_set_oid_numeric_print() 重命名为 snmp_set_oid_output_format()。
- 添加了 2 个新常量:SNMP_OID_OUTPUT_FULL 和 SNMP_OID_OUTPUT_NUMERIC
- 修复了错误 #37564 (由于 net-snmp 5.2 兼容性问题,AES 隐私加密不可用)。(补丁:scott dot moynes+php at gmail dot com)
- 改进的 OpenSSL 扩展:(Pierre)
- 在 openssl_verify 中添加了对所有受支持算法的支持
- 添加了 openssl_pkey_get_details,返回密钥的详细信息
- 添加了 x509 v3 扩展支持
- 添加了 openssl_csr_get_subject() 和 openssl_csr_get_public_key()
- 添加了 3 个新常量 OPENSSL_VERSION_TEXT 和 OPENSSL_VERSION_NUMBER 以及 OPENSSL_KEYTYPE_EC
- 改进的 Zend 内存管理器:(Dmitry)
- 删除了不必要的“--disable-zend-memory-manager”配置选项。
- 添加了“--enable-malloc-mm”配置选项,该选项在调试版本中默认启用,以允许使用内部和外部内存调试器。
- 允许使用 ZEND_MM_MEM_TYPE 和 ZEND_MM_SEG_SIZE 环境变量调整内存管理器。
- 有关更多信息:Zend/README.ZEND_MM
- 改进了 error_log() 函数的 safe_mode 检查。(Ilia)
- 改进了 SOAP 扩展在请求失败时的错误报告。(Ilia)
- 改进了 win32 上的 crypt(),使其速度快约 10 倍,并具有更友好的许可证。(Frank, Dmitry)
- 改进了 implode() 函数在关联数组上的性能。(Ilia)
- 改进了 str_replace() 的性能,使其在进行 1 个字符到 1 个字符或 1 个字符到多个字符的替换时更有效。(Ilia)
- 改进的 apache2filter SAPI
- 允许 PHP 在链中成为任意过滤器,并从 Apache 流中读取脚本。(John)
- 添加了对 Windows 构建中 apache2filter 的支持,包括对 Apache 2.0.x (php5apache2_filter.dll) 和 Apache 2.2.x (php5apache2_2_filter.dll) 的二进制支持。(Edin)
- 改进的 apache2handler SAPI
- 更改了 ap_set_content_type(),使其仅调用一次。(Mike)
- 添加了对 Windows 发行版中 Apache 2.2 处理程序的支持。(Edin)
- 改进的 FastCGI SAPI:(Dmitry)
- 删除了与 libfcgi 的源代码兼容性。
- 通过使用 HashTable 而不是线性搜索优化了对 FastCGI 环境变量的访问。
- 允许 PHP_FCGI_MAX_REQUESTS=0,这意味着没有限制。
- 允许 PHP_FCGI_CHILDREN=0,这意味着没有工作进程。 (FastCGI 请求由主进程本身处理)
- 改进的 CURL
- 添加了对“open_basedir”和“safe_mode”检查的控制字符检查。(Ilia)
- 添加了 curl_multi_info_read() 的实现。(Brian)
- 改进的 PCRE:(Andrei)
- 添加了运行时可配置的回溯/递归限制。
- 添加了 preg_last_error()。(Andrei)
- 改进了 PDO
- 添加了新属性 ATTR_DEFAULT_FETCH_MODE。(Pierre)
- 添加了 FETCH_PROPS_LATE。(Marcus)
- 改进的 SPL:(Marcus)
- 使大多数迭代器代码异常安全。
- 添加了 RegExIterator 和 RecursiveRegExIterator。
- 添加了对 CachingIterator 的完整缓存支持和 ArrayAccess。
- 向 ArrayObject/ArrayIterator 添加了数组函数,并使其速度更快。
- 添加了对 SplFileObject 中读取 csv 和跳过空行的支持。
- 添加了 CachingIterator::TOSTRING_USE_INNER,调用内部迭代器 __toString。
- 添加了为每个 SplFileObject 设置 CSV 分隔符的功能。
- 改进的 xmlReader:(Rob)
- 添加了 readInnerXml(), xmlReader::setSchema()。
- 添加了 readInnerXML(), readOuterXML(), readString(), setSchema()。(2.6.20+)
- 更改为在加载阅读器时传递 libxml 选项。
- 修复了在 imagecreatefrompng 中,当提供空文件时,出现的无效读取问题。(Pierre, Tony)
- 修复了在 imagefill 中,当提供错误的色标索引时,出现的无限循环问题。(Pierre)
- 修复了 CGI/CLI -d 选项的混乱问题 (现在它适用于 cgi;常量的工作方式与 php.ini 中完全一样;在 FastCGI 中,-d 会影响所有请求)。(Dmitry)
- 修复了 chdir() 函数内部缺少 open_basedir 检查的问题。(Ilia)
- 修复了 64 位系统中 str_repeat() 和 wordwrap() 出现的溢出问题。(Stefan E.)
- 修复了 XSLTProcessor::importStylesheet(),使其在成功时返回 TRUE。(Christian)
- 修复了 openssl_csr_sign 和 openssl_csr_new 中的泄漏问题。(Pierre)
- 修复了 phpinfo() 在 \0 处截断变量的问题。(Ilia)
- 修复了 filter 扩展中阻止在使用 RAW 过滤器时应用 magic_quotes_gpc 的错误。(Ilia)
- 修复了 openssl 流上下文选项中的内存泄漏问题。(Pierre)
- 修复了 tempnam() 函数内部处理极长路径的问题。(Ilia)
- 修复了错误 #39304 (使用字符串偏移量解包列表时出现段错误)。(Dmitry)
- 修复了错误 #39192 (未正确包含 nsapi.h,导致与 SJSWS 7 不兼容)。这将使 PHP 5.2 与新的 Sun Webserver 兼容。(Uwe)
- 修复了错误 #39140 (未捕获的异常可能导致崩溃)。(Dmitry)
- 修复了错误 #39125 (在反射不存在的类/方法时出现内存泄漏)。(Tony)
- 修复了错误 #39067 (getDeclaringClass() 和私有属性)。(Tony)
- 修复了错误 #39039 (SSL: 从运行 Google 服务器的服务器获取 HTTPS 时出现致命协议错误)。(Ilia)
- 修复了错误 #39035 (DOM 和 zend.ze1_compatibility_mode 之间的兼容性问题)。(Rob)
- 修复了错误 #39034 (curl_exec() 在返回传输时,对空文件返回 TRUE)。(Ilia)
- 修复了错误 #39032 (strcspn() 在空字符处停止)。(Tony)
- 修复了错误 #39020 (PHP 在 FastCGI 服务器模式下崩溃)。(Dmitry)
- 修复了错误 #39017 (foreach(($obj = new myClass) as $v); echo $obj; 出现段错误)。(Dmitry)
- 修复了错误 #39004 (使用 autoconf 2.60 生成 config.nice 时修复了错误)。(Ilia)
- 修复了错误 #39003 (__autoload() 对类型提示进行调用)。(Dmitry, Tony)
- 修复了错误 #39001 (ReflectionProperty 对受保护属性返回了错误的声明类)。(Tony)
- 修复了错误 #38996 (PDO_MYSQL 未检查连接是否有效)。(Tony)
- 修复了错误 #38993 (修复了对 session.save_path 的 safe_mode/open_basedir 检查,使其能够考虑额外的参数)。(Ilia)
- 修复了错误 #38989 (以斜杠开头的绝对路径在 win 上不起作用)。(Dmitry)
- 修复了错误 #38985 (无法转换 COM 对象)。(Wez)
- 修复了错误 #38981 (在 get_headers() 中使用 FTP URL 会导致崩溃)。(Tony)
- 修复了错误 #38963 (修复了 tempnam() 中可能存在的 open_basedir 绕过问题)。(Ilia)
- 修复了 bug #38961 metaphone() 在 NetBSD 上导致段错误。 (Tony)
- 修复了 bug #38949 无法获取 xmlns 值属性。 (Rob)
- 修复了 bug #38942 双重旧式构造函数继承。 (Dmitry)
- 修复了 bug #38941 imap 扩展无法针对新版本的 imap 库编译。 (Ilia)
- 修复了 bug #38934 move_uploaded_file() 无法读取 open_basedir 之外的上传文件。 (Ilia)
- 修复了 bug #38904 apache2filter 将 cwd 更改为 /。 (Ilia, Hannes)
- 修复了 bug #38891 get_headers() 不适用于 curl 包装器。 (Ilia)
- 修复了 bug #38882 ldap_connect 在使用较新版本的 OpenLDAP 时会导致段错误。 (Tony)
- 修复了 bug #38859 如果在 passwd 中传递 '@',则 parse_url() 会失败。 (Tony)
- 修复了 bug #38850 lookupNamespaceURI 不会返回默认命名空间。 (Rob)
- 修复了 bug #38844 curl_easy_strerror() 仅在 cURL 7.12.0 及更高版本中定义。 (Tony)
- 修复了 bug #38813 DOMEntityReference->__construct 在显式调用时会崩溃。 (Rob)
- 修复了 bug #38808 current() 等的“可能引用”问题。 (Dmitry)
- 修复了 bug #38779 当通过用户空间流包装器 require() 包含具有语法错误的文件时,引擎会崩溃。 (Tony, Dmitry)
- 修复了 bug #38772 在不同的可见性上下文中,方法的覆盖不一致。 (Dmitry)
- 修复了 bug #38759 PDO sqlite2 空查询会导致段错误。 (Tony)
- 修复了 bug #38721 date_parse() 中的无效内存读取。 (Tony, Derick)
- 修复了 bug #38700 SoapClient::__getTypes 永远不会返回。 (Dmitry)
- 修复了 bug #38693 curl_multi_add_handle() 将 curl 句柄设置为 null。 (Ilia)
- 修复了 bug #38687 sockaddr 本地存储不足以容纳所有套接字族。 (Sara)
- 修复了 bug #38661 混合大小写 URL 会破坏 URL 包装器。 (Ilia)
- 修复了 bug #38653 ReflectionClass::getConstant() 中的内存泄漏。 (Tony)
- 修复了 bug #38649 stream_socket_sendto() 中未初始化的可选参数。 (Sara)
- 修复了 bug #38637 curl_copy_handle() 无法完全复制 cURL 句柄。 (Tony, Ilia)
- 修复了 bug #38624 当递增对象属性并且从 __get 方法抛出异常时,会出现奇怪的警告。 (Tony)
- 修复了 bug #38623 在涉及 switch() 和异常的棘手代码中的泄漏。 (Dmitry)
- 修复了 bug #38579 include_once() 可能包含同一个文件两次。 (Dmitry)
- 修复了 bug #38574 缺少 curl 常量和不正确的常量检测。 (Ilia)
- 修复了 bug #38543 当内存限制过低时,shutdown_executor() 可能导致段错误。 (Dmitry)
- 修复了 bug #38535 pdo_pgsql 驱动程序在通过 query() 方法执行的失败查询中检索错误时发生的内存损坏。 (Ilia)
- 修复了 bug #38534 在用户空间会话处理程序中调用 setlocale() 时导致段错误。 (Tony)
- 修复了 bug #38524 strptime() 不会初始化内部日期存储结构。 (Ilia)
- 修复了 bug #38511、#38473、#38263(修复了会话扩展请求关闭顺序,以确保在它可能依赖的扩展关闭之前关闭)。 (Ilia)
- 修复了 bug #38488 访问 "php://stdin" 及其家族在 win32 上会导致 PHP 崩溃。 (Dmitry)
- 修复了 bug #38474 getAttribute 按顺序选择属性,即使属性带前缀也是如此。 (Rob)
- 修复了 bug #38467 --enable-versioning 导致 make 在 OS X 上失败。 (Tony)
- 修复了 bug #38465 如果默认值为对 self:: 的访问,则 ReflectionParameter 会失败。 (Johannes)
- 修复了 bug #38464 array_count_values() 处理数字字符串的方式不正确。 (Matt Wilmas, Ilia)
- 修复了 bug #38461 使用 __set() 设置私有属性会导致段错误。 (Tony)
- 修复了 bug #38458 修复了 PECL bug #8944,修复了 PECL bug #7775(在使用 PDO_ODBC 之后检索长/文本列之后的列时出错)。 (Wez)
- 修复了 bug #38454 通过 xml_set_element_handler 禁用处理程序时出现的警告。 (dtorop933 at gmail dot com, Rob)
- 修复了 bug #38451 PDO_MYSQL 在 Solaris 上无法编译。 (Tony)
- 修复了 bug #38450 在用户空间流包装器中使用的类的构造函数不会被调用。 (Tony)
- 修复了 bug #38438 DOMNodeList->item(0) 在空 NodeList 上导致段错误。 (Ilia)
- 修复了 bug #38431 xmlrpc_get_type() 在对象上导致 PHP 崩溃。 (Tony)
- 修复了 bug #38427 统一码导致 xml_parser 出现错误行为。 (Rob)
- 修复了 bug #38424 如果是新属性或现有属性,则属性赋值不同。 (Rob)
- 修复了 bug #38400 使用 com.typelib_file 可能会导致崩溃。 (Ilia)
- 修复了 bug #38394 PDO 无法从失败的预处理语句执行中恢复。 (Ilia)
- 修复了 bug #38377 session_destroy() 在 session_regenerate_id() 之后给出警告。 (Ilia)
- 修复了 bug #38357 dbase_open 无法打开 DBase 3 dbf 文件。 (rodrigo at fabricadeideias dot com, Mike)
- 修复了 bug #38354 使用 AsXML 时对 XML 的不必要重新格式化。 (Christian)
- 修复了 bug #38347 当使用 foreach 遍历未知/空的 SimpleXMLElement 时,会导致段错误。 (Tony)
- 修复了 bug #38322 在 sscanf() 中读取数组之外会导致任意代码执行。 (Tony)
- 修复了 bug #38315 在析构函数中构造会导致奇怪的行为。 (Dmitry)
- 修复了 bug #38303 spl_autoload_register() 会静默地抑制所有错误。 (Ilia)
- 修复了 bug #38290 配置脚本会忽略 --without-cdb,inifile,flatfile。 (Marcus)
- 修复了 bug #38289 当 _SESSION 为 NULL 时,session_decode() 中的段错误。 (Tony)
- 修复了 bug #38287 静态变量会弄乱全局变量。 (Dmitry)
- 修复了 bug #38278 session_cache_expire() 的值与 phpinfo 中的 session.cache_expire 不匹配。 (Tony)
- 修复了 bug #38276 file_exists() 在 Windows 上处理长文件名时工作不正常。 (Ilia, Tony)
- 修复了 bug #38269 当启用 curlwrappers 时,fopen 包装器在主机名无效时不会失败。 (Tony)
- 修复了 bug #38265 堆损坏。 (Dmitry)
- 修复了 bug #38261 openssl_x509_parse() 在使用无效证书时发生泄漏) (Pierre)
- 修复了 bug #38255 在传递密钥时,openssl 可能存在泄漏) (Pierre)
- 修复了 bug #38253 PDO 使用默认提取模式时会导致段错误。 (Tony)
- 修复了 bug #38251 socket_select() 和无效参数。 (Tony)
- 修复了 bug #38236 二进制数据在 multipart/formdata POST 中被破坏。 (Ilia)
- 修复了 bug #38234 __clone 中的异常会导致内存泄漏。 (Dmitry, Nuno)
- 修复了 bug #38229 strtotime() 无法解析 YYYY-MM 格式。 (Ilia)
- 修复了 bug #38224 会话扩展无法处理损坏的 cookie。 (Ilia)
- 修复了 bug #38220 在某些对象操作中发生崩溃。 (Dmitry)
- 修复了 bug #38217 ReflectionClass::newInstanceArgs() 尝试分配太多内存。 (Tony)
- 修复了 bug #38214 gif 交错输出无法工作。 (Pierre)
- 修复了 bug #38213、#37611、#37571(wddx 编码无法处理某些字符)。 (Ilia)
- 修复了 bug #38212 在无效的 imagecreatefromgd2part() 参数上发生段错误。 (Pierre)
- 修复了 bug #38211 变量名和 cookie 名匹配会导致脚本执行中断。 (Dmitry)
- 修复了 bug #38199 fclose() 无法关闭 STDOUT 和 STDERR。 (Tony)
- 修复了 bug #38198 当 COM 报告异常时可能发生崩溃。 (Ilia)
- 修复了 bug #38194 ReflectionClass::isSubclassOf() 对类本身返回 TRUE。 (Ilia)
- 修复了 bug #38183 disable_classes=Foobar 会导致禁用的类被调用为 Foo。 (Jani)
- 修复了 bug #38179 从调色板到真彩色图像的 imagecopy 会丢失 alpha 通道) (Pierre)
- 修复了 bug #38173 释放嵌套游标会导致 OCI8 发生段错误。 (Tony)
- 修复了 bug #38168 在 pdo_pgsql 中,缺少绑定参数会导致崩溃。 (Ilia)
- 修复了 bug #38161 当 Oracle 没有设置变量时,oci_bind_by_name() 返回垃圾数据。 (Tony)
- 修复了 bug #38146 无法在写入上下文中使用从 foo::__get('bar') 返回的数组。 (Dmitry)
- 修复了 bug #38132 ReflectionClass::getStaticProperties() 在键名中保留 \0。 (Ilia)
- 修复了 bug #38125 对 spl_dual_it_free_storage 的未定义引用。 (Marcus)
- 修复了 bug #38112 损坏的 gif 会导致段错误) (Pierre)
- 修复了 bug #38096 在 32 位机器上的 stream_socket_accept() 和 stream_socket_client() 中,较大的超时值被忽略。 (Ilia)
- 修复了 bug #38086 当 maxlen 大于实际长度时,stream_copy_to_stream() 返回 0。 (Tony)
- 修复了 bug #38072 mysqli_autocommit() 的布尔参数在 Solaris 上始终为 true。 (Tony)
- 修复了 bug #38067 使用编码选项时,参数不会从 utf-8 解码。 (Dmitry)
- 修复了 bug #38064 忽略构造函数可见性。 (Marcus)
- 修复了 bug #38055 布尔参数的解释错误。 (Dmitry)
- 修复了 bug #38047 "file" 和 "line" 有时不会在错误处理程序内部的回溯中设置。 (Dmitry)
- 修复了 bug #38019 扩展 mysqli 类会导致段错误。 (Dmitry)
- 修复了 bug #38005 SoapFault faultstring 不遵循编码规则。 (Dmitry)
- 修复了 bug #38004 SoapServer 中的参数被解码两次。 (Dmitry)
- 修复了 bug #38003 在从 MySQLi 继承的类中,可以从无效的上下文中调用私有构造函数。 (Tony)
- 修复了 bug #37987 file_exists() 在安全模式下返回不正确的值。 (Ilia)
- 修复了 bug #37947 zend_ptr_stack 重新分配问题。 (Dmitry)
- 修复了 bug #37945 pathinfo() 无法处理包含特殊字符(如德语“Umlaut”)的参数。 (Mike)
- 修复了 bug #37931 在使用持久连接后,数据库重启后,OCI8 中可能发生崩溃。 (Tony)
- 修复了 bug #37923 在 reflection::export 中显示常量值。 (Johannes)
- 修复了 bug #37920 在 z/OS 上的编译问题。 (Tony)
- 修复了 bug #37870 pgo_pgsql 试图释放未使用的语句。 (Ilia, ce at netage dot bg)
- 修复了 #37864 file_get_contents() 在空文件上泄漏的问题。 (Hannes)
- 修复了 #37862 整数指针与数值比较的问题。 (bugs-php at thewrittenword dot com)
- 修复了 #37846 wordwrap() 无法正确换行的问题。 (ddk at krasn dot ru, Tony)
- 修复了 #37816 ReflectionProperty 在访问受保护属性时不抛出异常的问题。 (Marcus)
- 修复了 #37811 define 在对象上未使用 toString() 的问题。 (Marcus)
- 修复了 #37807 SOAP 模式导入期间发生段错误的问题。 (Tony)
- 修复了 #37806 对象类型和比较的奇怪行为。 (Marcus)
- 修复了 #37780 尝试执行不存在的文件(CLI)时内存泄漏的问题。 (Mike)
- 修复了 #37779 空 include_path 会导致在 / 内搜索文件的问题。 (jr at terragate dot net, Ilia)
- 修复了 #37747 strtotime 在提供 "nextyear" 时发生段错误的问题。 (Derick)
- 修复了 #37720 merge_php_config 会打乱值的问题。 (Mike, pumuckel at metropolis dot de)
- 修复了 #37709 PDO::errorCode() 中可能发生的崩溃问题。 (Ilia)
- 修复了 #37707 未分配的克隆会泄漏内存的问题。 (Ilia, Nuno, Dmitri)
- 修复了 #37705 信号量常量不可用的问题。 (Ilia)
- 修复了 #37671 MySQLi 扩展无法识别 BIT 列的问题。 (Ilia)
- 修复了 #37667 对象未添加到 __get 返回的数组中的问题。 (Marcus)
- 修复了 #37635 pcntl 信号处理程序的参数被破坏的问题。 (Mike)
- 修复了 #37632 受保护方法访问问题。 (Marcus)
- 修复了 #37630 如果使用 ZTS 构建,MySQL 扩展应该链接到线程安全的客户端库。 (Mike)
- 修复了 #37620 mysqli_ssl_set 验证不恰当的问题。 (Georg)
- 修复了 #37616 DATE_RFC822 无法生成 RFC 822 日期的问题。 (Hannes Magnusson, Derick)
- 修复了 #37614 错误消息中类名小写的问题。 (Johannes)
- 修复了 #37587 没有属性的 var 会导致段错误的问题。 (Marcus)
- 修复了 #37586 将最低 PCRE 版本提升至 6.6,这是递归限制支持所需要的。 (Ilia)
- 修复了 #37581 oci_bind_array_by_name 在使用 SQLT_AFC、AVC 时会覆盖输入数组的问题。 (Tony)
- 修复了 #37569 WDDX 无法正确编码高 ASCII 字符的问题。 (Ilia)
- 修复了 #37565 使用 reflection::export 与 simplexml 会导致崩溃的问题。 (Marcus)
- 修复了 #37564 由于 net-snmp 5.2 兼容性问题,无法进行 AES 私有加密的问题。 (Jani, patch by scott dot moynes+php at gmail dot com)
- 修复了 #37563 array_key_exists 对 &$array 的性能很差的问题。 (Ilia)
- 修复了 #37558 在同一线程上第二次启动 PHP 后,超时功能无法工作的问题。 (p dot desarnaud at wanadoo dot fr)
- 修复了 #37531 oci8 持久连接损坏的问题。 (Tony)
- 修复了 #37523 命名空间添加过晚,导致缺少 xsi:type 属性,与 libxml2-2.6.24 不兼容的问题。 (Dmitry)
- 修复了 #37514 strtotime 无法正确推断年份的问题。 (Derick)
- 修复了 #37510 session_regenerate_id 即使在失败时也会更改 session_id() 的问题。 (Hannes)
- 修复了 #37505 touch() 会截断大型文件的问题。 (Ilia)
- 修复了 #37499 在启用 sybase-ct 扩展后,CLI 在清理期间发生段错误的问题。 (Tony)
- 修复了 #37496 FastCGI 输出缓冲区溢出问题。 (Piotr, Dmitry)
- 修复了 #37487 oci_fetch_array() 的数组类型应该始终默认为 OCI_BOTH。 (Tony)
- 修复了 #37457 在 FilterIterator 的 accept() 方法中抛出异常时发生的崩溃问题。 (Marcus)
- 修复了 #37456 DOMElement->setAttribute() 出现无限循环的问题。 (Rob)
- 修复了 #37445 修复了 pdo_mysql 中由于过早销毁对象导致的崩溃问题。 (Ilia)
- 修复了 #37428 如果存在启动错误并且使用事件日志记录它们,PHP 在 Windows 上会崩溃的问题。 (Edin)
- 修复了 #37418 tidy 模块在关闭时崩溃的问题。 (Tony)
- 修复了 #37416 iterator_to_array() 会隐藏在 rewind() 方法中抛出的异常的问题。 (Tony)
- 修复了 #37413 拒绝了不工作的 flex 版本。 (Ilia)
- 修复了 #37395 递归 mkdir() 无法在根目录中创建不存在的目录的问题。 (Tony)
- 修复了 #37394 当偏移量等于字符串长度时,substr_compare() 会返回错误的问题。 (Ilia)
- 修复了 #37392 在请求结束时对 OCITransRollback() 的不必要调用。 (Tony)
- 修复了 #37376 fastcgi.c 使用 gcc 2.95.4 编译失败的问题。 (Ilia)
- 修复了 #37368 strtotime() 返回的错误时间戳的问题。 (Derick)
- 修复了 #37363 如果未启用其他 mysql 扩展,PDO_MYSQL 无法构建的问题。 (Mike)
- 修复了 #37348 让 PEAR 安装忽略 open_basedir。 (Ilia)
- 修复了 #37341 如果使用 $_ENV,包含文件中的 $_SERVER 将缩短为两个条目。 (Dmitry)
- 修复了 #37313 在不包含 <signal.h> 的情况下使用 sigemptyset() 的问题。 (jdolecek)
- 修复了 #37306 max_execution_time = max_input_time 的问题。 (Dmitry)
- 修复了 #37278 SOAP 在 __soapCall 中未遵守 uri 的问题。 (Dmitry)
- 修复了 #37265 在 imap_body() 中添加了缺少的 safe_mode & open_basedir 检查。 (Ilia)
- 修复了 #37262 var_export() 未转义 \0 字符的问题。 (Ilia)
- 修复了 #37256 php-fastcgi 无法处理连接中止的问题。 (Dmitry)
- 修复了 #37244 在 base64_decode() 中添加了严格标志,以强制执行 RFC3548 兼容性。 (Ilia)
- 修复了 #37144 PHP 尝试将值赋值给已销毁对象的属性时会崩溃的问题。 (Dmitry)
- 修复了 #36949 无效的内部 mysqli 对象析构函数的问题。 (Mike)
- 修复了 #36732 openssl_csr_new 和 openssl_csr_sign 的 req/x509 扩展支持。 (ben at psc dot edu, Pierre)
- 修复了 #36759 脚本完成后,对象的析构函数以错误的顺序被调用。 (Dmitry)
- 修复了 #36681 pdo_pgsql 驱动程序会错误地忽略一些错误。 (Wez, Ilia)
- 修复了 #36630 请求结束后未重置 umask 的问题。 (Ilia)
- 修复了 #36515 从不存在的旅团中解除桶的链接。 (Sara)
- 修复了 #35973 尝试获取 NCLOB 字段时会发生 ORA-24806 错误的问题。 (Tony)
- 修复了 #35886 file_get_contents() 在某些 offset & maxlen 组合下会失败的问题。 (Nuno)
- 修复了 #35512 主脚本的读取权限不足会导致 E_WARNING 而不是 E_ERROR 的问题。 (Ilia)
- 修复了 #34180 --with-curlwrappers 会导致 PHP 忽略某些 HTTP 流上下文选项的问题。 (Mike)
- 修复了 #34066 递归 array_walk 会导致段错误的问题。 (Tony)
- 修复了 #34065 在 foreach 中抛出异常会导致内存泄漏的问题。 (Dmitry)
- 修复了 #34005 oci_password_change() 失败的问题。 (pholdaway at technocom-wireless dot com, Tony)
- 修复了 #33895 缺少数学常量的问题。 (Hannes)
- 修复了 #33770 当使用 --with-curlwrappers 并且 ssl 证书不可验证时,https:// 或 ftps:// 无法工作的问题。 (Ilia)
- 修复了 #29538 number_format 与 0 相关的问题。 (Matt Wilmas)
- 修复了 #28382 openssl_x509_parse() 扩展支持。 (Pierre)
- 修复了 PECL 错误 #9061 (oci8 可能会重用错误的持久连接)。 (Tony)
- 修复了 PECL 错误 #8816 (php_oci_statement_fetch 中存在问题,有多个分段列) (jeff at badtz-maru dot com, Tony)
- 修复了 PECL 错误 #8112 (当 Apache 进程超时时,OCI8 持久连接会表现异常)。 (Tony)
- 修复了 PECL 错误 #7755 (使用 PDO_ODBC 选择 DOUBLE 字段时出错)。 ("slaws", Wez)
版本 5.1.6
- 修复了 64 位系统上的 memory_limit。 (Stefan E.)
- 修复了 #38488 (访问 "php://stdin" 及其系列会使 PHP 在 win32 上崩溃)。 (Dmitry)
版本 5.1.5
- 修复了 64 位系统中 str_repeat() 和 wordwrap() 出现的溢出问题。(Stefan E.)
- 在启用 open_basedir 或 safe_mode 时,在 curl 中禁用了 CURLOPT_FOLLOWLOCATION。(Stefan E., Ilia)
- 修复了 #38322 (在 sscanf() 中读取超出数组会导致任意代码执行)。 (Tony)
- 修复了 #38125 (对 spl_dual_it_free_storage 的未定义引用)。 (Marcus)
- 修复了 #38112 (损坏的 gif 会导致段错误) (Pierre)
- 修复了 #37587 (没有属性的 var 会导致段错误)。 (Marcus)
- 修复了 #37576 (FastCGI env (cgi 变量) 表溢出)。 (Piotr)
- 修复了 #37496 (FastCGI 输出缓冲区溢出)。 (Piotr, Dmitry)
- 修复了 #37487 (oci_fetch_array() 的数组类型应该始终默认为 OCI_BOTH)。 (Tony)
- 修复了 #37416 (iterator_to_array() 会隐藏在 rewind() 方法中抛出的异常)。 (Tony)
- 修复了 #37392 (在请求结束时对 OCITransRollback() 的不必要调用)。 (Tony)
- 修复了 #37341 ($_SERVER 在包含文件中的内容缩短为两个条目,如果使用了 $_ENV)。 (Dmitry)
- 修复了 #37313 (在不包含 <signal.h> 的情况下使用 sigemptyset())。 (jdolecek)
- 修复了 #37346 (无效的颜色映射格式) (Pierre)
- 修复了 #37360 (无效的 gif 大小) (Pierre)
- 修复了 #37306 (max_execution_time = max_input_time)。 (Dmitry)
- 修复了 #37278 (SOAP 在 __soapCall 中未遵守 uri)。 (Dmitry)
- 修复了 #37265 (在 imap_body() 中添加了缺少的 safe_mode & open_basedir 检查)。 (Ilia)
- 修复了 #37256 (php-fastcgi 无法处理连接中止)。 (Dmitry)
版本 5.1.4
- 为 SSL 流添加了 "capture_peer_cert" 和 "capture_peer_cert_chain" 上下文选项。 (Wez)。
- 添加了 PDO::PARAM_EVT_* 常量系列。 (Sara)
- 修复了 highlight_string() 中可能的崩溃问题。 (Dmitry)
- 修复了 #37291 (FastCGI 不再与 isapi_fcgi.dll 协同工作)。 (Dmitry)
- 修复了 #37277 (克隆 Dom 文档或节点不起作用)。 (Rob)
- 修复了 #37276 ($_POST 数组问题)。 (Dmitry)
- 修复了 #36632 (pdo_odbc exec UPDATE 的错误报告不正确)。 (Wez)。
- 修复了 #35552 (pdo_odbc prepare 失败时崩溃)。 (Wez)。
版本 5.1.3
- 将捆绑的 PCRE 库更新到 6.6 版。 (Andrei)
- 将扩展移至 PECL
- 重新实现了 FastCGI 接口。 (Dmitry)
- 改进的 SPL:(Marcus)
- 修复了 SPL 迭代器的构造函数未调用/多次调用的问题。
- 修复了 SPL 目录处理类中的 info-class/file-class 问题。
- 修复了 ArrayIterator::seek()。
- 添加了 SimpleXMLIterator::count()。
- 删除了错误的 RecursiveDirectoryIterator::getSubPathInfo()。
- 改进 SimpleXML: (Marcus, Rob)
- 添加了 SimpleXMLElement::getName() 来检索元素的名称。
- 添加了动态创建元素的功能。
- 添加了 addChild() 方法用于创建元素,支持命名空间。
- 添加了 addAttribute() 方法用于创建属性,支持命名空间。
- 添加了按偏移量删除特定元素和属性的功能。
- 改进 Reflection API: (Marcus)
- 添加了 ReflectionClass::newInstanceArgs($args)。
- 添加了分析扩展依赖关系的功能。
- 添加了 ReflectionFunction::isDeprecated() 和常量 IS_DEPRECATED。
- 添加了 ReflectionParameter::getDeclaringClass()。
- 将反射常量更改为以 IS_ 为前缀。 (Johannes)
- 改进了 cURL 扩展: (Ilia)
- 添加了 curl_setopt_array() 函数,允许通过关联数组设置多个选项。
- 添加了检索发送到服务器的请求消息的功能。
- 改进了 GD 扩展: (Pierre)
- 在 JPEG 加载器中添加了弱/容错模式。
- 在 imagepng() 中添加了过滤模式选项,以允许减小文件大小。
- 修复了 imagecolorallocate() 和 imagecolorallocatelapha(),使其在错误时返回 FALSE。
- 更改了 get_headers() 以便从非 200 响应中检索标题。 (Ilia)
- 更改了 get_headers() 以便使用默认上下文。 (Ilia)
- 更改了 SOAP 扩展,以便将 WSDL 结构缓存在内存中,从而加快 SoapClient/SoapServer 的构建速度。 (Andrei, Dmitry)
- 添加了 lchown() 和 lchgrp() 以更改符号链接的用户/组所有权。 (Derick)
- 在 strtotime() 中添加了对 exif 日期格式的支持。 (Derick)
- 添加了对会话名称中的特殊字符的检查。 (Ilia)
- 添加了“已使用”流过滤器。 (Marcus)
- 添加了用于 BIT 和 NEW_DECIMAL 字段类型的新 mysqli 常量:MYSQLI_TYPE_NEWDECIMAL 和 MYSQLI_TYPE_BIT。 FR #36007。 (Georg)
- 添加了 imap_savebody(),允许将消息正文写入文件。 (Mike)
- 在 wordwrap() 函数中添加了溢出检查。 (Ilia)
- 添加了对 PDO_OCI 和 OCI8 的 BINARY_DOUBLE 和 BINARY_FLOAT 的支持(也修复了错误 #36764)。 (Tony)
- 消除了对 TRUE、FALSE 和 NULL 的运行时常量获取。 (Dmitry)
- 从“var”中删除了 E_STRICT 弃用通知。 (Ilia)
- 修复了读取流过滤器从不通知 EOF 的问题。 (Mike)
- 修复了 tempnam() 的第二个参数,使其针对路径组件进行检查。 (Ilia)
- 修复了一个错误,该错误如果变量以前未声明,则不会将第五个参数正确填充到 preg_replace() 中。 (Andrei)
- 修复了 copy() 函数的源参数的安全模式检查。 (Ilia)
- 修复了 Windows 下的 mysqli bigint 转换 (Georg)
- 修复了 phpinfo() 中使用长输入的 XSS 问题。 (Ilia)
- 修复了 Apache2 SAPIs 标头处理程序修改标头字符串的问题。 (Mike)
- 修复了“auto_globals_jit”与“register_argc_argv”一起工作的问题。 (Dmitry)
- 修复了 substr_compare() 函数中的偏移量/长度参数验证。 (Ilia)
- 修复了 debug_zval_dump() 以便支持私有和受保护成员。 (Dmitry)
- 修复了 SoapFault::getMessage()。 (Dmitry)
- 修复了 iconv_mime_decode 中的问题,其中“编码”仅允许使用大写规范。 (Derick)
- 修复了 tiger 哈希算法在大端平台上生成错误结果的问题。 (Mike)
- 修复了使用 DOMImplementation::createDocumentType("name:") 时的崩溃问题。 (Mike)
- 修复了错误 #37205 (使用“comm with server aborted”FastCGI 错误提供二进制内容/图像失败)。 (Dmitry)
- 修复了错误 #37192 (cc 可能会抱怨 hash_adler.c 中的非常量初始值设定项)。 (Mike)
- 修复了错误 #37191 (chmod 在安全模式打开时会去掉粘滞位)。 (Tony)
- 修复了错误 #37167 (PDO 从提取处理程序抛出异常时会发生段错误)。 (Tony)
- 修复了错误 #37162 (wddx 无法作为共享扩展构建)。 (jdolecek at NetBSD dot org, Ilia)
- 修复了错误 #37158 (调用 stream_wrapper_register 后,fread 行为发生了变化)。 (Wez)
- 修复了错误 #37138 (__autoload 尝试加载回调的自身和父级)。 (Dmitry)
- 修复了错误 #37103 (libmbfl 标头未安装)。 (Jani)
- 修复了错误 #37083 (在多线程 WS 中使用新的 WSDL 缓存代码时,SOAP 扩展经常崩溃)。 (Andrei, Dmitry)
- 修复了错误 #37062 (在 ARM 架构上编译失败)。 (Tony)
- 修复了错误 #37061 (curl_exec() 不会将二进制字符串置零终止)。 (Tony)
- 修复了错误 #37060 (Countable::count() 的返回值类型未检查)。 (Johannes)
- 修复了错误 #37059 (oci_bind_by_name() 不支持 RAW 和 LONG RAW 字段)。 (Tony)
- 修复了错误 #37057 (xmlrpc_decode() 可能会生成包含数字字符串的数组,这些数组是不可访问的)。 (Tony)
- 修复了错误 #37055 (持久 OCI8 连接的引用计数不正确)。 (Tony)
- 修复了错误 #37054 (SoapClient 错误提取 http 标头)。 (Dmitry)
- 修复了错误 #37053 (html_errors 使用内部类会生成错误的链接)。 (Tony)
- 修复了错误 #37046 (foreach 会破坏静态作用域)。 (Dmitry)
- 修复了错误 #37045 (修复了对 http 重定向的特殊字符检查)。 (Ilia)
- 修复了错误 #37017 (strtotime 在使用某些时区标识符时,在 13:00:00 之前失败)。 (Derick)
- 修复了错误 #37002 (在使用变量连接时,必须在 INI 中引用文字)。 (Dmitry)
- 修复了错误 #36988 (mktime 在长数字上冻结)。 (Derick)
- 修复了错误 #36981 (SplFileObject->fgets() 会忽略 max_length)。 (Tony)
- 修复了错误 #36957 (serialize() 不会处理递归)。 (Ilia)
- 修复了错误 #36944 (strncmp & strncasecmp 在负字符串长度上不会返回 false)。 (Tony)
- 修复了错误 #36941 (ArrayIterator 不会克隆自身)。 (Marcus)
- 修复了错误 #36934 (OCILob->read() 在读取 0 时不会移动内部指针)。 (Tony)
- 修复了错误 #36908 (wsdl 默认值会覆盖 soap 请求中的值)。 (Dmitry)
- 修复了错误 #36898 (__set() 会在扩展内部类的类中泄漏)。 (Tony, Dmitry)
- 修复了错误 #36886 (用户过滤器在某些情况下可能会泄漏桶)。 (Ilia)
- 修复了错误 #36878 (即使抛出了异常,也会打印错误消息)。 (Tony)
- 修复了错误 #36875 (is_*() 函数没有考虑 open_basedir)。 (Ilia)
- 修复了错误 #36872 (调用 session_regenerate_id(true) 后,session_destroy() 失败)。 (Ilia)
- 修复了错误 #36869 (使用分块输出时,输出缓冲区中存在内存泄漏)。 (Tony)
- 修复了错误 #36859 (DOMElement 在克隆时调用 __construct 时会崩溃)。 (Tony)
- 修复了错误 #36857 (为 HTTP 流包装器添加了对部分内容获取的支持)。 (Ilia)
- 修复了错误 #36851 (oci_fetch_*() 函数中 NULL 数据的文档和代码差异)。 (Tony)
- 修复了错误 #36825 (在 ArrayObject::offsetGet 中抛出的异常会导致段错误)。 (Tony)
- 修复了错误 #36820 (使用 Oracle 密码文件进行特权连接失败)。 (Tony)
- 修复了错误 #36809 (__FILE__ 行为发生了变化)。 (Dmitry)
- 修复了错误 #36808 (syslog 标识符在请求之间变成了垃圾)。 (Tony)
- 修复了错误 #36802 (mysqli_set_charset() 在非打开连接时崩溃)。 (Ilia)
- 修复了错误 #36756 (DOMDocument::removeChild 会破坏节点)。 (Rob)
- 修复了错误 #36749 (SOAP: 使用 HTTP 代理时“错误获取 http 主体”)。 (Dmitry)
- 修复了错误 #36745 (找不到加载数据本地文件时没有错误消息)。 (Georg)
- 修复了错误 #36743 (在扩展 XMLReader 的类中,数组属性不可写)。 (Tony)
- 修复了错误 #36727 (pdo_pgsql bindValue() 在没有定义参数时会发生段错误)。 (Tony)
- 修复了错误 #36721 (SoapServer 无法发送它未接收的标头)。 (Dmitry)
- 修复了错误 #36697 (使用 imagecreatetruecolor 时,透明度会丢失)。 (Pierre)
- 修复了错误 #36689 (删除了对 syslog 消息长度的任意限制)。 (Ilia)
- 修复了错误 #36656 (http_build_query 由于使用了方括号而生成了无效的 URI)。 (Mike)
- 修复了错误 #36638 (strtotime() 在第二个参数 < 1 时返回 false)。 (Derick)
- 修复了错误 #36629 (SoapServer::handle() 在 SOAP 错误时退出)。 (Dmitry)
- 修复了错误 #36625 (pg_trace() 不起作用)。 (iakio at mono-space dot net)
- 修复了错误 #36614 (使用 Soap 时会发生段错误)。 (Dmitry)
- 修复了错误 #36611 (对 SimpleXML 对象属性的赋值会将参数类型更改为字符串)。 (Tony)
- 修复了错误 #36606 (pg_query_params() 会将参数类型更改为字符串)。 (Tony)
- 修复了错误 #36599 (DATE_W3C 格式常量不正确)。 (Derick)
- 修复了错误 #36575 (SOAP: 使用层次结构时,复杂的类型实例化不正确)。 (Dmitry)
- 修复了错误 #36572 (添加了 PDO::MYSQL_ATTR_DIRECT_QUERY 常量,该常量应在通过 MySQL 执行内部查询(如“show master status”)时设置)。 (Ilia)
- 修复了错误 #36568 (win32 上的 memory_limit 设置没有效果)。 (Dmitry)
- 修复了错误 #36513 (注释将在最后一行输出)。 (Dmitry)
- 修复了错误 #36510 (strtotime() 无法解析包含制表符的日期字符串)。 (Ilia, Derick)
- 修复了错误 #36459 (不正确地将 PHPSESSID 添加到包含 \r\n 的链接中)。 (Ilia)
- 修复了错误 #36458 (sleep() 接受负值)。 (Ilia)
- 修复了错误 #36436 (Berkeley DB4 的 DBA 问题)。 (Marcus)
- 修复了错误 #36434 (继承属性的声明类名称解析不正确)。 (Ilia)
- 修复了错误 #36420 (调用 result->close() 后访问 result->num_rows 会发生段错误)。 (Ilia, Tony)
- 修复了错误 #36403 (oci_execute() 不再支持 OCI_DESCRIBE_ONLY)。 (Tony)
- 修复了错误 #36400 (自定义 5xx 错误不会返回正确的 HTTP 响应错误代码)。 (Tony)
- 修复了错误 #36396 (strtotime() 无法解析 dd-mm-yyyy 格式的日期)。 (Derick)
- 修复了错误 #36388 (在抛出异常和会话持久性时,ext/soap 会崩溃)。 (David)
- 修复了错误 #36382 (PDO/PgSQL 的 getColumnMeta() 会崩溃)。 (Derick)
- 修复了错误 #36359 (splFileObject::fwrite() 在没有指定数据长度时不会写入)。 (Tony)
- 修复了错误 #36351 (parse_url() 不会正确解析数字路径)。 (Ilia)
- 修复了错误 #36345 (PDO/MySQL 加载超过 1MB 的 BLOB 时出现问题)。 (Ilia)
- 修复了错误 #36337 (ReflectionProperty 无法返回正确的可见性)。 (Ilia)
- 修复了错误 #36334 (添加了关于 realpath 缓存 INI 设置的缺失文档)。 (Ilia)
- 修复了错误 #36308 (ReflectionProperty::getDocComment() 不会反映扩展类的注释)。 (Ilia)
- 修复了错误 #36306 (crc32() 在 32 位和 64 位平台上有所不同) (anight@eyelinkmedia dot com, Pierre)
- 修复了错误 #36303 (对 error_zval 的 foreach 会导致段错误)。 (Dmitry)
- 修复了错误 #36295 (SplFileObject::flock() 参数名称中的拼写错误)。 (Tony)
- 修复了错误 #36287 (使用 SplFileInfo 转换时会发生段错误)。 (Marcus)
- 修复了错误 #36283 (SOAPClient 压缩损坏)。 (Dmitry)
- 修复了错误 #36268 (即使在致命错误之后也会调用对象析构函数)。 (Dmitry)
- 修复了错误 #36258 (SplFileObject::getPath() 可能会导致段错误)。 (Tony)
- 修复了错误 #36250 (PHP 会在 Oracle 服务器 9.2.x 中导致 ORA-07445 内核转储)。 (Tony)
- 修复了错误 #36242 (stream_select() 中可能存在内存损坏)。 (Tony)
- 修复了错误 #36235 (ocicolumnname 在成功提取之前返回 false)。 (Tony)
- 修复了错误 #36226 (传递潜在数组时处理不一致)。 (Dmitry)
- 修复了错误 #36224 (date(DATE_ATOM) 给出错误的结果)。 (Derick, Hannes Magnusson)
- 修复了错误 #36222 (PDOException 中的 errorInfo 始终为 NULL)。 (Ilia)
- 修复了 bug #36208(使用捆绑的 gd 时符号命名空间冲突)。(Jakub Moc)
- 修复了 bug #36205(重复 Cookie 导致的内存泄漏)。(Dmitry)
- 修复了 bug #36185(str_rot13() 在非字符串参数上崩溃)。(Pierre)
- 修复了 bug #36176(PDO_PGSQL - PDO::exec() 不返回操作影响的行数)。(Ilia)
- 修复了 bug #36158(作为 FastCGI 服务器运行时 SIGTERM 处理不正确)。(Dmitry)
- 修复了 bug #36152(curl+ssl 和 pgsql+ssl 在同一个 PHP 中出现问题)。(Mike)
- 修复了 bug #36148(unpack("H*hex", $data) 在字符串末尾添加了额外的字符)。(Ilia)
- 修复了 bug #36134(DirectoryIterator 构造函数无法检测到空目录名称)。(Ilia)
- 修复了 bug #36113(读取不支持类型的记录会导致段错误)。(Tony)
- 修复了 bug #36096(oci_fetch() 失败后 oci_result() 返回垃圾数据)。(Tony)
- 修复了 bug #36083(SoapClient 在单向操作中等待响应)。(Dmitry)
- 修复了 bug #36071(与 'clone' 相关的引擎崩溃)。(Dmitry)
- 修复了 bug #36055(多线程环境中 OCI8 可能崩溃)。(Tony)
- 修复了 bug #36046(parse_ini_file() 在多行值中错误地计算行数)。(Ilia)
- 修复了 bug #36038(ext/hash 在 Mac OSX 上编译失败)。(Tony)
- 修复了 bug #36037(heredoc 添加了额外的行号)。(Dmitry)
- 修复了 bug #36016(realpath 缓存内存泄漏)。(Dmitry, Nuno)
- 修复了 bug #36011(call_user_func() 及类似函数的严格错误消息错误)。(Marcus)
- 修复了 bug #36010(重新创建和重新执行带有绑定参数的语句时段错误)。(Tony)
- 修复了 bug #36006(__destruct() 中的 $this 问题)。(Dmitry)
- 修复了 bug #35999(递归 mkdir() 不适用于类似 "foo/bar" 的相对路径)。(Tony)
- 修复了 bug #35998(SplFileInfo::getPathname() 在 win32 中返回 unix 风格的文件名)。(Marcus)
- 修复了 bug #35988(模块关闭时未知的持久列表项类型)。(Dmitry)
- 修复了 bug #35954(致命 com_exception 转换对象)。(Rob)
- 修复了 bug #35900(stream_select() 在 tv_sec 为负时应发出警告)。(Ilia)
- 修复了 bug #35785(SimpleXML 导致 zend 引擎内存读取错误)。(Marcus)
- 修复了 bug #34272(将空数组放入 COM 对象会爆炸)。(Rob)
- 修复了 bug #29476(sqlite_fetch_column_types() 永久锁定数据库)。(Ilia)
版本 5.1.2
- 将 ext/sqlite 中的 libsqlite 更新到 2.8.17。(Ilia)
- 将 ext/pdo_sqlite 中的 libsqlite 更新到 3.2.8。(Ilia)
- 将 win32 包中的 libxml2 更新到 2.6.22 和 libxslt 更新到 1.1.15。(Rob)
- 添加了新的扩展:(Ilia, Wez)
- 为 GD 扩展添加了 PNG 压缩支持。(Pierre)
- 将反射常量添加为类常量。(Johannes)
- 添加了 --enable-gcov 配置选项以启用 C 级代码覆盖率。(John, Jani, Ilia, Marcus)
- 为 date() 函数添加了对 'B' 格式标识符的支持。(Ilia)
- 将反射更改为扩展。(Marcus)
- 改进了 SPL 扩展:(Marcus)
- 添加了类 SplFileInfo 作为 DirectoryIterator 和 SplFileObject 的根类
- 添加了 SplTempFileObject
- 改进了 SimpleXML 扩展:(Marcus)
- 修复了内存泄漏
- 修复了 var_dump()
- 修复了 isset/empty/(bool) 行为
- 修复了迭代器边缘情况
- 添加了 getNamespaces() 和 getDocNamespaces() 方法
- 将 pear 升级到 1.4.6 版本。(Greg)
- 添加了 libxslt 和 libexslt 版本的常量:LIBXSLT_VERSION、LIBXSLT_DOTTED_VERSION、LIBEXSLT_VERSION 和 LIBEXSLT_DOTTED_VERSION。(Pierre)
- 为 parse_url() 添加了一个可选参数以允许检索不同的 URL 组件。(Ilia)
- 修复了 apache_getenv()/apache_setenv() 在无效参数上可能出现的崩溃。(Ilia)
- 将 imagecolormatch() 中的错误更改为警告。(Pierre)
- 修复了 imagecolormatch() 中的段错误/泄漏。(Pierre)
- 修复了 mysqli_stmt_fetch() 中当绑定变量为空字符串时的小型泄漏。(Andrey)
- 修复了 PDO_PGSQL 中的准备语句名称冲突处理。(Thies, Ilia)
- 修复了使用 PDO::FETCH_LAZY 模式时的内存损坏。(Ilia)
- 修复了 imagecreatefromstring() 在无效数据中可能出现的泄漏。(Pierre)
- 修复了 mb_strcut() 内部可能出现的内存损坏。(Ilia)
- 通过将每个标题限制为单行来修复可能的标题注入。(Ilia)
- 修复了错误报告功能中的可能的 XSS。(Ilia)
- 修复了 OCI8 中的许多错误。(Tony)
- 修复了 mysqli 在使用 4.1.x 客户端库连接到 5.x 服务器时出现的崩溃和泄漏。(Andrey)
- 修复了 bug #35916(对 stream_bucket_append() 的重复调用会导致崩溃)。(Ilia)
- 修复了 bug #35908(curl 扩展使用未定义的 GCRY_THREAD_OPTIONS_USER)。(Ilia)
- 修复了 bug #35907(PDO_OCI 使用硬编码的库路径 $ORACLE_HOME/lib)。(Tony)
- 修复了 bug #35887(wddx_deserialize 没有正确解析 dateTime 字段)。(Derick)
- 修复了 bug #35885(strtotime("NOW") 不再起作用)。(Derick)
- 修复了 bug #35821(array_map() 在回调中抛出异常时段错误)。(Tony)
- 修复了 bug #35817(unpack() 无法解码奇数个十六进制值)。(Ilia)
- 修复了 bug #35797(在 PDOStatement::execute() 上段错误,zend.ze1_compatibility_mode = On)。(Tony, Ilia)
- 修复了 bug #35781(stream_filter_append() 可能导致段错误)。(Tony)
- 修复了 bug #35760(sybase_ct 在使用旧版 gcc 的 Solaris 上无法编译)。(Tony)
- 修复了 bug #35759(mysqli_stmt_bind_result() 在列为空时进行大量分配)。(Andrey)
- 修复了 bug #35751(使用带有时间戳的日期会导致 httpd 段错误)。(Derick)
- 修复了 bug #35740(包含目录时出现内存泄漏)。(Tony)
- 修复了 bug #35730(ext/mssql + freetds: 使用正确的字符编码并允许设置它)。(Frank)
- 修复了 bug #35723(xmlrpc_introspection.c 无法根据 C99 标准编译)。(Jani)
- 修复了 bug #35720(最终构造函数可以被覆盖)。(Marcus)
- 修复了 bug #35713(getopt() 在传递类似 '-1' 的选项时返回带有数字字符串的数组)。(Tony)
- 修复了 bug #35705(strtotime() 无法解析没有 TZ 的 soap 日期格式)。(Ilia)
- 修复了 bug #35699(date() 无法处理 1970 年之前的闰年)。(Derick)
- 修复了 bug #35694(改进了对无效提取模式的错误消息)。(Ilia)
- 修复了 bug #35692(iconv_mime_decode() 段错误;仅适用于 libiconv)。(Tony)
- 修复了 bug #35690(pack() 在将浮点值打包到字符串时尝试分配巨大的内存块)。(Tony)
- 修复了 bug #35669(imap_mail_compose() 在多部分多边界电子邮件中崩溃)。(Ilia)
- 修复了 bug #35660(AIX TZ 变量格式不被理解,产生 UTC 时区)。(Derick)
- 修复了 bug #35655(heredoc 结束后的空格丢失)。(Ilia)
- 修复了 bug #35630(strtotime() 在某些相对标识符上崩溃)。(Ilia)
- 修复了 bug #35629(http:// 包装器在多次重定向时崩溃)。(Ilia)
- 修复了 bug #35624(strtotime() 无法处理 3 个字符的星期几)。(Ilia)
- 修复了 bug #35612(iis6 访问冲突崩溃)。(Dmitry, alacn.uhahaa)
- 修复了 bug #35594(多次调用 getopt() 可能导致崩溃)。(rabbitt at gmail dot com, Ilia)
- 修复了 bug #35571(修复了 Apache 2 SAPI 在通过 SSI include 加载多个 php 脚本时发生的崩溃)。(Ilia)
- 修复了 bug #35570(在重复使用 soap 客户端对象时段错误)。(Dmitry)
- 修复了 bug #35558(mktime() 错误地解释了 3 位数的年份)。(Ilia)
- 修复了 bug #35543(调用扩展 PDO 的类的非现有方法时 php 崩溃)。(Tony)
- 修复了 bug #35539(ErrorException 的错误消息中的拼写错误)。(Tony)
- 修复了 bug #35536(mysql_field_type() 无法处理 NEWDECIMAL)。(Tony)
- 修复了 bug #35517(mysql_stmt_fetch 在数据截断时返回 NULL)。(Georg)
- 修复了 bug #35509(字符串常量作为数组键在对象内部具有不同的行为)。(Dmitry)
- 修复了 bug #35508(PDO 在指定未知提取模式时失败)。(Tony)
- 修复了 bug #35499(strtotime() 无法处理日期字符串周围的空格)。(Ilia)
- 修复了 bug #35496(在没有正确初始化的情况下,mcrypt_generic()/mdecrypt_generic() 中崩溃)。(Ilia)
- 修复了 bug #35490(socket_sendto() 无法处理 IPv6 地址)。(Tony)
- 修复了 bug #35461(Ming 扩展在 ming 0.3beta1 中无法编译)。(Jani)
- 修复了 bug #35437(段错误或无效操作码 137/1/4)。(Dmitry)
- 修复了 bug #35470(使用来自数组的变量名分配全局变量不起作用)。(Dmitry)
- 修复了 bug #35456(+ 1 [时间单位] 格式不起作用)。(Ilia)
- 修复了 bug #35447(xml_parse_into_struct() 在 UTF-8 BOM 上卡住)。(Rob)
- 修复了 bug #35431(PDO 在使用 LAZY 提取与 fetchAll 时崩溃)。(Wez)
- 修复了 bug #35430(PDO 在使用不正确的 FETCH_FUNC 时崩溃)。(Tony)
- 修复了 bug #35427(str_word_count() 对 '-' 的处理不正确)。(Ilia)
- 修复了 bug #35425(idate() 函数忽略时区设置)。(Ilia)
- 修复了 bug #35422(strtotime() 无法解析以 UTC 为时区的日期)。(Ilia)
- 修复了 bug #35414(strtotime() 不再支持序数后缀)。(Ilia)
- 修复了 bug #35410(wddx_deserialize() 无法正确处理作为键的大整数)。(Ilia)
- 修复了 bug #35409(对 'rl_completion_matches' 的未定义引用)。(Jani)
- 修复了 bug #35399(由于修复了 bug #35273,SOAP 无法解码 soapenc:base64binary)。(Dmitry)
- 修复了 bug #35393(从类外部更改静态受保护成员,另一个引用问题)。(Dmitry)
- 修复了 bug #35381(ssl 库初始化不正确)。(Alan)
- 修复了 bug #35377(PDO_SQLITE: 对 "fdatasync" 的未定义引用)。(Nuno, Jani)
- 修复了 bug #35373(HP-UX "此配置不允许别名")。(Dmitry)
- 修复了 bug #35288(iconv() 函数定义为 libiconv())。(Nuno)
- 修复了 bug #35103(mysqli 错误地处理了错误的无符号(大)整数)。(Andrey)
- 修复了 bug #35062(socket_read() 在非阻塞套接字上产生警告)。(Nuno, Ilia)
- 修复了 bug #35028(SimpleXML 对象无法通过 FALSE 测试)。(Marcus)
- 修复了 bug #34729(在 Apache 下的 ZTS 模式中崩溃)。(Dmitry, Zeev)
- 修复了 bug #34429(输出缓冲区无法在 FastCGI 中关闭)。(Dmitry, Ilya)
- 修复了 bug #34359(fopen http 包装器内部可能发生的崩溃)。(Ilia, Sara, Nuno)
- 修复了 bug #33789(SunFuncs 中的许多问题)。(Derick)
- 修复了 bug #33671(sun_rise 和 sun_set 在传递偏移量时不会返回 GMT 时间戳)。(Derick)
- 修复了错误 #32820(date_sunrise 和 date_sunset 无法正确处理 GMT 偏移)。(Derick)
- 修复了错误 #31347(is_dir 和 is_file 错误地返回真,对于任何长度大于 255 个字符的字符串)。(Nuno、Ilia)
- 修复了错误 #30937(date_sunrise() 和 date_sunset() 无法处理高纬度地区无限昼夜)。(Derick)
- 修复了错误 #30760(如果 display_startup_error 为关闭,则移除 win32 上 E_CORE 错误的 MessageBox)。(Ilia)
- 修复了错误 #29955(mb_strtoupper() / lower() 在土耳其编码下失效)。(Rui)
- 修复了错误 #28899(当 "mbstring.func_overload" 启用时,mb_substr() 和 substr() 的行为不同)。(Rui)
- 修复了错误 #27678(number_format() 在处理大数字时崩溃)。(Marcus)
版本 5.1.1
- 禁用原生日期类以防止与 pear::date 冲突。(Ilia)
- 改进了 cURL 扩展中的 safe_mode/open_basedir 检查。(Ilia、Jani)
- 更改反射常量为 PHP 和类常量。(Johannes)
- 在 debug_backtrace() 的结果数组中添加了一个额外的字段 $frame['object'],当从对象调用该帧时,它包含对相应对象的引用。(Sebastian)
- 修复了错误 #35423(RecursiveDirectoryIterator 似乎没有与 RecursiveFilterIterator 递归)。(Marcus)
- 修复了错误 #35413(从 Zend Engine 版本中删除了 -dev 标志)。(Ilia)
- 修复了错误 #35411(\{$ 处理的回归)。(Ilia)
- 修复了错误 #35406(当 evall'ed 代码以没有换行的注释结尾时,eval 阻塞)。(Marcus)
- 修复了错误 #35391(pdo_mysql::exec 不返回受影响的行数)。(Tony)
- 修复了错误 #35382(文件末尾的注释导致致命错误)。(Ilia)
- 修复了错误 #35360(交互模式 (php -a) 中的异常可能会导致崩溃)。(Dmitry)
- 修复了错误 #35358(PDO 类常量的错误消息不正确)。(Ilia)
- 修复了错误 #35338(pdo_pgsql 无法处理二进制绑定参数)。(Wez)
- 修复了错误 #35316(尝试创建 COM 对象时应用程序异常)。(Rob)
- 修复了错误 #35170(PHP_AUTH_DIGEST 在 Apache 1.x 和 2.x 下不同)。(Ilia)
版本 5.1.0
- 为内部类添加了对类常量和静态成员的支持。(Dmitry、Michael Wallner)
- 为 mssql_connect() 添加了 "new_link" 参数(错误 #34369)。(Frank)
- 为 image* 函数和 cURL 添加了缺少的 safe_mode 检查。(Ilia)
- 为文件上传添加了缺少的 safe_mode/open_basedir 检查。(Ilia)
- 为 pdo_mysql 添加了 PDO_MYSQL_ATTR_USE_BUFFERED_QUERY 参数。(Ilia)
- 添加了 date_timezone_set() 函数,用于设置日期函数将使用的时区。(Derick)
- 添加了 pg_fetch_all_columns() 函数,用于从结果游标中获取列的所有值。(Ilia)
- 为 file_put_contents() 添加了对 LOCK_EX 标志的支持。(Ilia)
- 添加了 bindto 套接字上下文选项。(Ilia)
- 为 stream_copy_to_stream() 函数添加了 offset 参数。(Ilia)
- 为 substr_count() 函数添加了 offset 和 length 参数。(Ilia)
- 为 "phpize" 和 "php-config" 脚本添加了手册页。(Jakub Vrana)
- 为扩展添加了对 .cc 文件的支持。(Brian)
- 添加了 PHP_INT_MAX 和 PHP_INT_SIZE 作为预定义常量。(Andrey)
- 添加了用户操作码 API,允许重载操作码处理程序。(Dmitry)
- 为 session_regenerate_id() 添加了一个可选的移除旧会话参数。(Ilia)
- 添加了数组类型提示。(Dmitry)
- 添加了 tidy_get_opt_doc() 函数,用于返回 tidy 中配置选项的文档。(补丁作者:[email protected])
- 为扩展添加了对 .cc 文件的支持。(Brian)
- 添加了 imageconvolution() 函数,可用于将自定义 3x3 矩阵卷积应用于图像。(Pierre)
- 为 XsltProcessor::registerPHPFunctions 添加了可选的第一个参数,只允许从 XSLT 调用某些函数。(Christian)
- 添加了通过 PHP_AUTOCONF 和 PHP_AUTOHEADER 环境变量覆盖 buildconf 脚本使用的 autotools 可执行文件的能力。(Jon)
- 添加了几个新函数,以支持 PostgreSQL 7.4 中引入的 PostgreSQL v3 协议。(Christopher)
- pg_transaction_status() - 数据库连接的事务状态。
- pg_query_params() - 参数化查询的执行。
- pg_prepare() - 准备命名查询。
- pg_execute() - 命名准备查询的执行。
- pg_send_query_params() - pg_query_params() 的异步等效项。
- pg_send_prepare() - pg_prepare() 的异步等效项。
- pg_send_execute() - pg_execute() 的异步等效项。
- pg_result_error_field() - 非常详细的错误信息,最重要的是 SQLSTATE 错误代码。
- pg_set_error_verbosity() - 设置错误的详细程度。
- 为 preg_replace_callback() 和 preg_replace() 添加了可选的第五个参数 "count",用于统计替换次数。FR #32275。(Andrey)
- 为 str_word_count() 添加了可选的第三个参数 "charlist",其中包含要视为单词部分的字符。FR #31560。(Andrey、Ilia)
- 添加了接口 Serializable。(Stanislav、Marcus)
- 添加了 pg_field_type_oid() PostgreSQL 函数。(mauroi at digbang dot com)
- 为 bool、double 和二进制安全字符串添加了 zend_declare_property_...() 和 zend_update_property_...() API 函数。(Hartmut)
- 添加了从 .ini 文件内部访问 INI 变量的可能性。(Andrei)
- 添加了包含请求开始时间的变量 $_SERVER['REQUEST_TIME']。(Ilia)
- 为 gettimeofday() 添加了可选的 float 参数。(Ilia)
- 添加了 apache_reset_timeout() Apache1 函数。(Rasmus)
- 为数组添加了 sqlite_fetch_column_types() 的第三个参数。(Ilia)
- 为 stream_get_contents() 和 file_get_contents() 添加了可选的 offset 参数。(Ilia)
- 为 file_get_contents() 添加了可选的 maxlen 参数。(Ilia)
- 添加了 SAPI 钩子来获取当前请求时间。(Rasmus)
- 添加了新函数
- array_diff_key() (Andrey)
- array_diff_ukey() (Andrey)
- array_intersect_key() (Christiano Duarte)
- array_intersect_ukey() (Christiano Duarte)
- array_product() (Andrey)
- DomDocumentFragment::appendXML() (Christian)
- fputcsv() (David Sklar)
- htmlspecialchars_decode() (Ilia)
- inet_pton() (Sara)
- inet_ntop() (Sara)
- mysqli::client_info 属性 (Georg)
- posix_access() (Magnus)
- posix_mknod() (Magnus)
- SimpleXMLElement::registerXPathNamespace() (Christian)
- stream_context_get_default() (Wez)
- stream_socket_enable_crypto() (Wez)
- stream_wrapper_unregister() (Sara)
- stream_wrapper_restore() (Sara)
- stream_filter_remove() (Sara)
- time_sleep_until() (Ilia)
- 为解析非良好格式化的 XML 文档添加了 DomDocument::$recover 属性。(Christian)
- 为 mysqli 中的 MySQL 5.0.x 添加了游标支持。(Georg)
- 通过 http 为 ftp 包装器添加了代理支持。(Sara)
- 为 ftp_url_stat 添加了 MDTM 支持。(Sara)
- 添加了 zlib 流过滤器支持。(Sara)
- 添加了 bz2 流过滤器支持。(Sara)
- 添加了 max_redirects 上下文选项,用于指定要遵循的 HTTP 重定向数量。(Ilia)
- 为 xsl_xsltprocessor_set_parameter() 添加了对 parameter=>value 数组的支持。(Tony)
- 改进的 PHP 扩展加载机制,支持模块依赖关系和冲突。(Jani、Dmitry)
- 改进的 PHP CLI 交互模式 (php -a)。(Johannes、Marcus)
- 改进了以下方面的性能
- 通用执行/编译。(Andi、Thies、Sterling、Dmitry、Marcus)
- switch() 语句。(Dmitry)
- 多个数组函数。(Marcus)
- 通过添加 realpath() 缓存来改进虚拟路径处理。(Andi)
- 变量获取。(Andi)
- 魔术方法调用。(Marcus)
- 改进了 mysqli 中嵌入式服务器的支持。(Georg)
- 改进了 mysqli 扩展。(Georg)
- 为 mysqli_stmt 和 mysqli_result 类添加了构造函数
- 添加了新函数 mysqli_get_charset()
- 添加了新函数 mysqli_set_charset()
- 添加了新类 mysqli_driver
- 添加了新类 mysqli_warning
- 添加了新类 mysqli_exception
- 添加了新类 mysqli_sql_exception
- 改进了 SPL 扩展。(Marcus)
- 将 RecursiveArrayIterator 从示例移动到扩展中
- 将 RecursiveFilterIterator 从示例移动到扩展中
- 添加了 SplObjectStorage
- 将所有 SPL 常量改为类常量
- 将 CachingRecursiveIterator 重命名为 RecursiveCachingIterator 以遵循 Recursive<*>Iterator 命名方案。
- 添加了 Exception 类的标准层次结构
- 添加了接口 Countable
- 添加了接口 Subject 和 SplObserver
- 添加了 spl_autoload*() 函数
- 将多个 5.0 示例转换为 C 代码
- 添加了类 SplFileObject
- 添加了在 class_parents() 和 class_implements() 中使用字符串的可能性。(Andrey)
- 更改了类型提示,允许将 "null" 作为类和数组的默认值。(Marcus、Derick、Dmitry)
- 更改 SQLite 扩展,使其在 Windows 发行版中成为共享模块。(Edin)
- 更改了 "instanceof" 和 "catch" 运算符、is_a() 和 is_subclass_of() 函数,使其不再调用 __autoload()。(Dmitry)
- 更改了 sha1_file() 和 md5_file() 函数,使其使用流而不是低级 IO。(Uwe)
- 更改了抽象私有方法,使其不再允许。(Stas)
- 更改了 stream_filter_(ap|pre)pend() 以返回资源。(Sara)
- 更改了 mysqli_exception 和 sqlite_exception,如果存在 SPL 扩展,则使用 RuntimeException 作为基类。(Georg、Marcus)
- 升级了捆绑的库
- PCRE 库升级到版本 6.2。(Andrei)
- ext/pdo_sqlite 中的 SQLite 3 库升级到 3.2.7。(Ilia)
- ext/sqlite 中的 SQLite 2 库升级到 2.8.16。(Ilia)
- 升级了 Windows 发行版中捆绑的库。(Edin)
- zlib 1.2.3
- curl 7.14.0
- openssl 0.9.8
- ming 0.3b
- libpq (PostgreSQL) 8.0.1
- 实现了 FR #33452(属于 ISO 周的年份)。(Derick)
- 允许从内部函数返回引用。(Marcus、Andi、Dmitry)
- 重写了 strtotime(),支持时区和许多新格式。实现了功能请求 #21399、#26694、#28088、#29150、#29585 和 #29595。(Derick)
- 将扩展移至 PECL
- ext/cpdf (Tony、Derick)
- ext/dio (Jani、Derick)
- ext/fam (Jani、Derick)
- ext/ingres_ii (Jani、Derick)
- ext/mnogosearch (Jani、Derick)
- ext/w32api (Jani、Derick)
- ext/yp (Jani、Derick)
- ext/mcve (Jani、Derick、Pierre)
- ext/oracle (Jani、Derick)
- ext/ovrimos (Jani、Derick、Pierre)
- ext/pfpro (Jani、Derick、Pierre)
- ext/dbx (Jani、Derick)
- ext/ircg (Jani、Derick)
- 删除了从未正常工作的 php_check_syntax() 函数。(Ilia)
- 删除了 Zend Engine 中的垃圾收集器,这导致更积极地释放数据。(Dmitry、Andi)
- 修复了 "make test" 以便对 phpized 扩展有效。(Hartmut、Jani)
- 修复了非 Linux 系统上 Apache 2 关于子请求处理的回归。(Ilia、Tony)
- 修复了 PDO 关闭问题(可能在关闭时运行回滚时发生无限循环)。(Wez)
- 修复了 PECL 错误 #3714(PDO:如果您处于自动提交模式,beginTransaction 无法正常工作)。(Wez)
- 修复了 ZTS 销毁。(Marcus)
- 修复了 __get/__set 以允许对不同属性进行递归调用。(Dmitry)
- 修复了一个错误,即 stream_get_meta_data() 不会为使用 tmpname() 打开的文件返回 "uri" 元素。(Derick)
- 修复了 SPL 迭代器聚合内部迭代器的问题。(Marcus)
- 修复了 mysqli_fetch_fields 中的错误(在行号大于字段数量时返回 NULL,而不是数组)。(Georg)
- 修复了 mysql::client_version() 中的错误。(Georg)
- 修复了 mysqli 扩展中的错误,即无符号 int(11) 在 32 位系统中以字符串形式在 PHP 中表示,而不是以有符号整数形式表示。(Andrey)
- 修复了 $HTTP_RAW_POST_DATA 未设置的错误。(Brian)
- 修复了 stream_get_line() 中当 length 参数等于 0 时的崩溃。(Ilia)
- 修复了 ext/mysqli,以便在获取 (MEDIUM|LONG)BLOB/(MEDIUM|LONG)TEXT 类型绑定的参数时分配更少的内存。(Andrey)
- 修复了扩展初始化以尊重扩展之间的依赖关系。(Wez)
- 修复了在 64 位系统上使用 mysqli_query() 时失败的查询(返回 FALSE)。(Andrey)
- 修复了 fgetcsv() 和 fputcsv() 的不一致性。(Dmitry)
- 修复了继承检查,以正确控制按引用返回和按引用传递(ArrayAccess 不能再正确支持引用)。(Marcus、Andi、Dmitry)
- 修复了 posix_mknod() 的初始化和参数检查。(Derick)
- 修复了 64 位系统上 ImageTTFText() 中的内存损坏。(Andrey)
- 修复了当传递 as_null 参数时 pg_copy_from() 中的内存损坏问题。 (Derick)
- 修复了 stristr() 中的内存损坏问题。 (Derick)
- 修复了当 register_globals 为 ON 时可能发生的 GLOBALS 变量覆盖问题。 (Ilia, Stefan)
- 修复了 Apache 2 sapi 中通过 virtual() 可能发生的 INI 设置泄漏问题。 (Ilia)
- 修复了通过 parse_str() 可能发生的 register_globals 切换问题。 (Ilia, Stefan)
- 修复了通过 import_request_variables() 可能发生的 GLOBALS 覆盖问题,以及可能发生的崩溃和/或内存损坏问题。 (Ilia)
- 修复了当 CURL 回调函数抛出异常时发生的段错误问题。 (Tony)
- 修复了 AIX 上对共享扩展的支持问题。 (Dmitry)
- 修复了 bug #35342 (isset(DOMNodeList->length) 返回 false)。 (Rob)
- 修复了 bug #35341 (针对 bug #33760 的修复导致与旧版 curl 构建失败)。 (Tony)
- 修复了 bug #35336 (PDO::FETCH_CLASS + __set() 导致崩溃)。 (Tony)
- 修复了 bug #35303 (PDO prepare() 在参数无效时崩溃)。 (Ilia)
- 修复了 bug #35293 (PDO 在使用持久连接时发生段错误)。 (Tony)
- 修复了 bug #35278 (多次调用 virtual() 导致 Apache 2 php 模块崩溃)。 (Ilia)
- 修复了 bug #35273 (soap - java 类型映射错误)。 (Dmitry)
- 修复了 bug #35249 (当 ext/readline 作为共享库编译时出现编译错误)。 (Jani)
- 修复了 bug #35248 (sqlite_query() 在返回值被使用时没有设置 error_msg)。 (Ilia)
- 修复了 bug #35243 (php_mblen() 在 Linux 上与线程安全一起编译时崩溃)。 (补丁: shulmanb at il dot ibm dot com, Jani)
- 修复了 bug #35239 (对象可能丢失引用)。 (Dmitry)
- 修复了 bug #35229 (当 argument_stack 接近满时,call_user_func() 崩溃)。 (Dmitry)
- 修复了 bug #35197 (析构函数未被调用)。 (Tony)
- 修复了 bug #35179 (tokenizer 扩展需要 T_HALT_COMPILER)。 (Greg)
- 修复了 bug #35176 (include()/require()/*_once() 生成了关于 main() 的错误错误消息)。 (Dmitry)
- 修复了 bug #35147 (__HALT_COMPILER() 在 --enable-zend-multibyte 时中断)。 (Dmitry, Moriyoshi)
- 修复了 bug #35143 (gettimeofday() 忽略当前时区)。 (Derick)
- 修复了 bug #35142 (SOAP 客户端/服务器复杂对象支持)。 (Dmitry)
- 修复了 bug #35135 (没有相关 PDO 对象的 PDOStatment 可能会崩溃)。 (Ilia)
- 修复了 bug #35091 (SoapClient 出现内存泄漏)。 (Dmitry)
- 修复了 bug #35079 (stream_set_blocking(true) 切换,而不是启用阻塞)。 (askalski at gmail dot com, Tony)
- 修复了 bug #35078 (configure 无法找到 ldap_start_tls_s)。 (Jani)
- 修复了 bug #35046 (phpinfo() 使用了不正确的 css 闭合)。 (Ilia)
- 修复了 bug #35022, #35019 (key() 和 current() 函数行为的回归问题)。 (Ilia)
- 修复了 bug #35017 (错误处理程序中抛出的异常可能会导致意外行为)。 (Dmitry)
- 修复了 bug #35014 (array_product() 始终返回 0)。 (Ilia)
- 修复了 bug #35009 (ZTS: 当扩展作为共享库编译时,持久资源析构在崩溃时)。 (Dmitry)
- 修复了 bug #34996 (当 ncolors 为零时,ImageTrueColorToPalette() 崩溃)。 (Tony)
- 修复了 bug #34982 (array_walk_recursive() 修改了函数范围之外的元素)。 (Dmitry)
- 修复了 bug #34977 (由于使用 varargs.h,MacOSX 上出现编译错误)。 (Tony)
- 修复了 bug #34968 (bz2 扩展在某些 win32 设置上无法构建)。 (Ilia)
- 修复了 bug #34965 (tidy 不是二进制安全的)。 (Mike)
- 修复了 bug #34957 (PHP 不尊重访问检查的 ACL)。 (Wez)
- 修复了 bug #34950 (无法通过代理获取 WSDL)。 (Dmitry)
- 修复了 bug #34938 (dns_get_record() 无法解析长主机名并出现泄漏)。 (Tony)
- 修复了 bug #34905 (摘要身份验证与 Apache 1 不兼容)。 (Ilia)
- 修复了 bug #34902 (mysqli::character_set_name() - 未定义的方法)。 (Tony)
- 修复了 bug #34899 (修复 sqlite 扩展编译错误)。 (Ilia)
- 修复了 bug #34893 (PHP5.1 重载,无法访问私有属性)。 (Dmitry)
- 修复了 bug #34884 (当使用 sqlite.assoc_case 时,ext/sqlite 中可能发生崩溃)。 (Tony, Ilia)
- 修复了 bug #34879 (str_replace, array_map 在 64 位平台上破坏了负数组索引)。 (Dmitry)
- 修复了 bug #34873 (对象中的 foreach 发生段错误)。 (Dmitry)
- 修复了 bug #34856 (configure 无法检测 libiconv 的类型)。 (Tony)
- 修复了 bug #34855 (ibase_service_attach() 在 AMD64 上发生段错误)。 (irie at gmx dot de, Tony)
- 修复了 bug #34851 (SO_RECVTIMEO 和 SO_SNDTIMEO 套接字选项在 Windows 上需要整型参数)。 (Mike)
- 修复了 bug #34850 (--program-suffix 和 --program-prefix 未包含在手册页名称中)。 (Jani)
- 修复了 bug #34821 (zlib 编码器在 Windows 上对差异很大的二进制数据失败)。 (Mike, Ilia)
- 修复了 bug #34818 (当传递无效的 mysqli_link 对象时,多个函数崩溃)。 (Tony)
- 修复了 bug #34810 (mysqli::init() 及其他函数在没有检查的情况下使用错误的 $this 指针)。 (Tony)
- 修复了 bug #34809 (PDO 中的 FETCH_INTO 在没有目标对象的情况下崩溃)。 (Ilia)
- 修复了 bug #34802 (修复了对象实例化失败时的崩溃问题)。 (Ilia)
- 修复了 bug #34796 (当作为共享库配置时,ext/ftp 中缺少 SSL 链接)。 (Jani)
- 修复了 bug #34790 (preg_match_all(),命名捕获组,变量赋值/返回值 => 崩溃)。 (Dmitry)
- 修复了 bug #34788 (SOAP 客户端没有将正确的命名空间应用于生成的数值)。 (Dmitry)
- 修复了 bug #34787 (SOAP 客户端没有正确处理布尔类型)。 (Dmitry)
- 修复了 bug #34786 (2 @ 导致 error_reporting() 更改为随机值) (Dmitry, Tony)
- 修复了 bug #34785 (mysqli_stmt 的子类化不起作用)。 (Georg)
- 修复了 bug #34782 (token_get_all() 给出了错误的结果)。 (Dmitry)
- 修复了 bug #34777 (在 dblib 中获取不存在的错误信息时崩溃)。 (Ilia)
- 修复了 bug #34771 (strtotime() 在 1-12am/pm 时失败)。 (Derick)
- 修复了 bug #34767 (Zend Engine 1 兼容性没有正确复制对象)。 (Dmitry)
- 修复了 bug #34758 (PDO_DBLIB 没有实现 rowCount())。 (Ilia)
- 修复了 bug #34757 (当 offset > 字符串长度时,iconv_substr() 给出“未知错误”)。 (Tony)
- 修复了 bug #34742 (ftp 包装器故障是由分段命令传输引起的)。 (Ilia)
- 修复了 bug #34725 (CLI 在清理期间发生段错误)。 (Dmitry)
- 修复了 bug #34723 (array_count_values() 去掉了前导零)。 (Tony)
- 修复了 bug #34712 (zend.ze1_compatibility_mode = on 发生段错误)。 (Dmitry)
- 修复了 bug #34704 (由于损坏的 JPEG 导致无限递归)。 (Marcus)
- 修复了 bug #34678 (__call(),is_callable() 和静态方法)。 (Dmitry)
- 修复了 bug #34676 (缺少对 strtotime("midnight") 和 strtotime("noon") 的支持)。 (Derick)
- 修复了 bug #34645 (ctype 在验证大数字时破坏内存)。 (Ilia)
- 修复了 bug #34643 (wsdl 默认值无效)。 (Dmitry)
- 修复了 bug #34623 (pdo_mysql 在 longtext 字段上崩溃)。 (Ilia)
- 修复了 bug #34617 (zend_deactivate: 在调用 zend_objects_store_destroy 后使用 objects_store)。 (Dmitry)
- 修复了 bug #34590 (用户定义的 PDOStatement 类无法实现方法)。 (Marcus)
- 修复了 bug #34584 (使用 SPL 自动加载处理程序时发生段错误)。 (Marcus)
- 修复了 bug #34581 (使用 mod_rewrite 崩溃)。 (Tony, Ilia)
- 修复了 bug #34565 (mb_send_mail 没有获取 mail.force_extra_parameters)。 (Marco, Ilia)
- 修复了 bug #34557 (php -m 退出时显示“错误”1)。 (Johannes)
- 修复了 bug #34518 (Unset 在 CV 中没有分离容器)。 (Dmitry)
- 修复了 bug #34505 (在反混淆具有空名称的属性时可能发生内存损坏)。 (Tony)
- 修复了 bug #34478 (url 的片段 (#...) 解析错误)。 (Dmitry)
- 修复了 bug #34467 (foreach + __get + __set 不一致)。 (Dmitry)
- 修复了 bug #34456 (pspell 扩展内部可能发生崩溃)。 (Ilia)
- 修复了 bug #34453 (解析 http://www.w3.org/2001/xml.xsd 异常)。 (Dmitry)
- 修复了 bug #34450 (在调用 mysqli_close() 的析构函数时发生段错误)。 (Tony)
- 修复了 bug #34449 (ext/soap: 未公开 XSD_ANYXML 功能)。 (Dmitry)
- 修复了 bug #34420 (curl_multi_remove_handle() 内部可能发生崩溃)。 (Ilia)
- 修复了 bug #34358 (致命错误: 无法重新赋值 $this)。 (Dmitry)
- 修复了 bug #34331 (当 variables_order 为空时,php 崩溃)。 (Ilia)
- 修复了 bug #34321 (过滤器代码中可能发生崩溃)。 (Ilia)
- 修复了 bug #34311 (unserialize() 在字符高于 191 十进制时崩溃)。 (Nuno)
- 修复了 bug #34310 (foreach($arr as $c->d => $x) 崩溃)。 (Dmitry)
- 修复了 bug #34307 (如果 php.ini 中的设置无效,则不会调用 on_modify 处理程序来设置默认值)。 (Andrei)
- 修复了 bug #34306 (wddx_serialize_value() 在数组键很长时崩溃)。 (Jani)
- 修复了 bug #34304 (date() 没有 ISO 星期几的修饰符)。 (Derick)
- 修复了 bug #34302 (date('W') 不会为第 1 到第 9 周返回前导零)。 (Derick)
- 修复了 bug #34299 (ReflectionClass::isInstantiable() 对抽象类返回 true)。 (Marcus)
- 修复了 bug #34284 (CLI phpinfo 在 _SERVER["argv"] 上显示 html)。 (Jani)
- 修复了 bug #34277 (array_filter() 在使用引用和对象时崩溃)。 (Dmitry)
- 修复了 bug #34276 (setAttributeNS 不适用于默认命名空间)。 (Rob)
- 修复了 bug #34260 (回调 (array_map) + 重载 导致段错误)。 (Dmitry)
- 修复了 bug #34257 (ming 扩展中 lib64 处理错误)。 (Marcus)
- 修复了 bug #34221 (将 xmlrpc 作为共享库编译导致其他部分失败)。 (Jani)
- 修复了 bug #34216 (使用自动加载时发生段错误)。 (Marcus)
- 修复了 bug #34199(由于强制转换处理程序导致的 if($obj)/if(!$obj) 不一致)。(Dmitry,Alex)
- 修复了 bug #34191(ob_gzhandler 不会强制执行尾随的 \0)。(Ilia)
- 修复了 bug #34156(内存限制达到后,内存使用率仍然居高不下)。(Ilia)
- 修复了 bug #34148(+、- 和 . 不支持作为方案的一部分)。(Ilia)
- 修复了 bug #34137(通过引用赋值数组元素会导致二进制混乱)。(Dmitry)
- 修复了 bug #34103(dom 文档中未维护行号)。(Rob)
- 修复了 bug #34078(具有布尔值或空默认值的函数中的反射 API 问题)。(Tony)
- 修复了 bug #34068(在 wddx_deserialize() 中,数字字符串作为数组键未强制转换为整数)。(Ilia)
- 修复了 bug #34064(arr[] 作为类中函数的参数会导致无效操作码)。(Dmitry)
- 修复了 bug #34062(当使用多个参数时,catch 块中的崩溃)。(Dmitry)
- 修复了 bug #34052(date('U') 返回 %ld 而不是 unix 时间戳)。(Nuno)
- 修复了 bug #34045(序列化对象导致的缓冲区溢出)。(Dmitry)
- 修复了 bug #34001(pdo_mysql 将数字字段截断为 4 个字符)。(Ilia)
- 修复了 bug #33999(对象在强制转换为 int 时仍为对象)。(Dmitry)
- 修复了 bug #33996(将无效值传递给类型化参数时,致命错误未提供信息)。(Dmitry)
- 修复了 bug #33989(extract($GLOBALS,EXTR_REFS) 使 PHP 崩溃)。(Dmitry)
- 修复了 bug #33987(php 脚本作为 ErrorDocument 会导致 Apache 2 崩溃)。(Ilia)
- 修复了 bug #33967(Exception 构造函数的错误使用不会显示 errorfile)。(Jani)
- 修复了 bug #33966(ReflectionProperty 的错误使用会导致段错误)。(Tony)
- 修复了 bug #33963(mssql_bind() 在输入参数上失败)。(Frank)
- 修复了 bug #33958(重复的 cookie 和 magic_quotes=off 可能导致崩溃)。(Ilia)
- 修复了 bug #33957(gmdate('W')/date('W') 有时返回错误的周数)。(Derick)
- 修复了 bug #33940(array_map() 在递归调用时无法通过引用传递)。(Dmitry)
- 修复了 bug #33917(number_format() 输出,分隔符长度超过 1 个字符)。(Jani)
- 修复了 bug #33904(magic_quotes 关闭时,输入数组键被转义)。(Ilia)
- 修复了 bug #33903(spl_autoload_register 类方法)。(Marcus)
- 修复了 bug #33899(CLI:设置 extension_dir=some/path extension=foobar.so 不起作用)。(Jani)
- 修复了 bug #33882(CLI 在错误的路径中寻找 php.ini)。(Hartmut)
- 修复了 bug #33869(strtotime() 存在 "+1days" 格式的问题)。(Ilia)
- 修复了 bug #33841(pdo sqlite 驱动程序忘记在执行准备好的语句后更新受影响的列数)。(Ilia)
- 修复了 bug #33837(Informix ESQL 版本编号方案已更改)。(Jani)
- 修复了 bug #33829(mime_content_type() 对 gzip 和 bzip 文件返回 text/plain)。(Derick)
- 修复了 bug #33802(在错误处理程序中抛出 Exception 导致崩溃)。(Dmitry)
- 修复了 bug #33771(在 try/catch 块内使用 @ 时,error_reporting 会降至 0)。(Tony)
- 修复了 bug #33760(cURL 需要实现 CRYPTO_callback 函数以防止锁定)。(Mike,Ilia)
- 修复了 bug #33732(类和接口扩展中常量的错误行为)。(Dmitry)
- 修复了 bug #33723(php_value 覆盖 php_admin_value)。(Dmitry)
- 修复了 bug #33720(mb_encode_mimeheader 对多字节字符不起作用)。(Rui)
- 修复了 bug #33710(ArrayAccess 对象不会初始化 $this)。(Dmitry)
- 修复了 bug #33690(在 httpd.conf 中设置某些 ini 指令导致崩溃)。(Rasmus)
- 修复了 bug #33673(添加了对部分上传文件的检测)。(Ilia)
- 修复了 bug #33605(substr_compare() 在偏移量和长度为负时会崩溃)。(Tony)
- 修复了 bug #33597(setcookie() 的 "expires" 日期格式不符合 RFC)。(Tony)
- 修复了 bug #33588(LDAP:无法执行 RootDSE 查询)。(Jani)
- 修复了 bug #33578(strtotime() 存在 "Oct17" 格式的问题)。(Derick)
- 修复了 bug #33578(strtotime() 不识别 "11 Oct" 格式)。(Derick)
- 修复了 bug #33562(date("") 导致崩溃)。(Derick)
- 修复了 bug #33558(嵌套调用返回引用的函数时出现警告)。(Dmitry)
- 修复了 bug #33536(strtotime() 在非时间字符串上默认为现在)。(Derick)
- 修复了 bug #33532(strftime() 和 date() 的输出不同)。(Derick)
- 修复了 bug #33523(xmlrpc_encode_request() 中存在内存泄漏)。(Ilia)
- 修复了 bug #33520(如果 safe_mode 处于开启状态并且 session.save_path 已更改,则会崩溃)。(Dmitry)
- 修复了 bug #33512(为补充属性 get/set 方法,添加了对 isset()/unset() 重载的支持)。(Dmitry)
- 修复了 bug #33491(扩展 MySQLi 内部类后会崩溃)。(Tony)
- 修复了 bug #33475(cURL 句柄在 curl_close() 时未关闭)。(Ilia)
- 修复了 bug #33469(编译错误,未定义的引用 ifx_checkAPI)。(Jani)
- 修复了 bug #33433(strtoll 在 Tru64 上不可用)。(Jani,Derick)
- 修复了 bug #33427(ext/odbc:检查 unixODBC 头文件是否存在)。(Jani)
- 修复了 bug #33415(与 strtotime() 相关的 bug)。(Derick)
- 修复了 bug #33414(strtotime() / date() 测试后返回的错误日期的综合列表)。(Derick)
- 修复了 bug #33389(导出 ReflectionClass 时出现双重释放)。(Marcus)
- 修复了 bug #33383(检索空 LOB 时崩溃)。(Tony)
- 修复了 bug #33382(array_reverse() 在 *sort() 后失败,由 HEAD 中的 zend_hash_sort() 优化引入)。(Tony)
- 修复了 bug #33340(从 XSLT 调用 php:function 时,CLI 崩溃)。(Rob)
- 修复了 bug #33326(无法使用 Macosx 上的 phpize 构建扩展)。(Jani)
- 修复了 bug #33318(throw 1; 导致无效操作码 108/1/8)。(Dmitry)
- 修复了 bug #33312(ReflectionParameter 方法无法正常工作)。(Dmitry)
- 修复了 bug #33299(php:function 不再处理返回的 dom 对象)。(Rob,Joe Orton)
- 修复了 bug #33286(嵌套的 array_walk() 调用和用户数组比较函数已损坏;FCI 缓存)。(Andrei,来自 [email protected] 的补丁)
- 修复了 bug #33277(子类访问私有方法)。(Dmitry)
- 修复了 bug #33268(iconv_strlen() 仅对长度小于 3 的参数起作用)。(Ilia)
- 修复了 bug #33257(array_splice() 在传递函数而不是变量时不一致)。(Dmitry)
- 修复了 bug #33243(ze1_compatibility_mode 未按预期工作)。(Dmitry)
- 修复了 bug #33242(流失败时出现错误信息混乱)。(Derick)
- 修复了 bug #33222(在回调中关闭 CURL 句柄时出现段错误)。(Tony)
- 修复了 bug #33214(odbc_next_result 不会使用 2 语句 SQL 批处理来发出 SQL 错误信号)。(rich at kastle dot com,Tony)
- 修复了 bug #33212([GCC 4]:'zend_error_noreturn' 与外部符号 'zend_error' 产生别名)。(Dmitry)
- 修复了 bug #33210(放松 jpeg 递归循环保护)。(Ilia)
- 修复了 bug #33201(获取某些数据类型时会崩溃)。(Frank)
- 修复了 bug #33200(preg_replace():magic_quotes_sybase=On 使 'e' 修饰符表现不佳)。(Jani)
- 修复了 bug #33185(--enable-session=shared 无法构建)。(Jani)
- 修复了 bug #33171(foreach 枚举基类中声明的私有字段)。(Dmitry)
- 修复了 bug #33167(pg_fetch_array() 内可能发生崩溃)。(Ilia)
- 修复了 bug #33164(Soap 扩展错误地检测到 HTTP/1.1)。(Ilia)
- 修复了 bug #33156(cygwin 版本的 setitimer 无法接受 ITIMER_PROF)。(Nuno)
- 修复了 bug #33153(mssql_next result 中的崩溃)。(Frank)
- 修复了 bug #33150(shtool:不安全的临时文件创建)。(Jani)
- 修复了 bug #33136(从 ArrayObject 扩展的类中的方法 offsetSet 会使 PHP 崩溃)。(Marcus)
- 修复了 bug #33125(imagecopymergegray() 产生马赛克彩虹效果)。(Pierre)
- 修复了 bug #33116(在 __autoload 中将类名分配给全局变量时会崩溃)。(Dmitry)
- 修复了 bug #33090(mysqli_prepare() 没有返回错误)。(Georg)
- 修复了 bug #33076(str_ireplace() 错误地计算结果字符串长度,可能导致段错误)。(Tony)
- 修复了 bug #33072(为运行时使用 session_save_path() 函数更改的 "session.save_path" 添加 safemode/open_basedir 检查)。(Rasmus)
- 修复了 bug #33070(bzdecompress() 的性能提高了几个数量级)。(Ilia)
- 修复了 bug #33059(在 dtd 中移动 xml 属性集时会崩溃)。(Ilia)
- 修复了 bug #33057(根据 RFC 2616 第 10.3.5 节,不要在 304 上发送多余的实体头)。(Rasmus,Choitel)
- 修复了 bug #33019(套接字错误会导致 php_strerror() 中出现内存泄漏)。(jwozniak23 at poczta dot onet dot pl,Tony)。
- 修复了 bug #33017("make distclean" 在 VPATH 构建中出现错误)。(Jani)
- 修复了 bug #33013(解析日期时,"下个月" 处理错误)。(Derick)
- 修复了 bug #32993(实现的 Iterator 函数 current() 不会抛出异常)。(Dmitry)
- 修复了 bug #32981(ReflectionMethod::getStaticVariables() 导致 apache2.0.54 段错误)。(Dmitry)
- 修复了 bug #32956(mysql_bind_result() 不支持 MYSQL_TYPE_NULL)。(Georg)
- 修复了 bug #32947(mysqli 默认密码的选项错误)。(Georg)
- 修复了 bug #32944(禁用 session.use_cookies 不会阻止读取会话 cookie)。(Jani,Tony)
- 修复了 bug #32941(发送结构化的 SOAP 错误会使 php 崩溃)。(Dmitry)
- 修复了 bug #32937(open_basedir 在限制器中丢失尾随的 /)。(Adam Conrad)
- 修复了 bug #32936(http 重定向的 URL 未检查控制字符)。(Ilia)
- 修复了 bug #32933(无法扩展类 "SQLiteDatabase")。(Marcus)
- 修复了 bug #32932(Oracle LDAP:ldap_get_entries(),无效指针)。(Jani)
- 修复了 bug #32930(扩展 DOMDocument 的类无法正确克隆)。(Rob)
- 修复了 bug #32924(使用“auto_prepend_file”包含的文件可以使用 require_once() 或 include_once() 包含)。(Stas)
- 修复了 bug #32904(pg_get_notify() 忽略 result_type 参数)。(Tony)
- 修复了 bug #32852(当 zend.ze1_compatibility_mode = On 时,使用单例和 __destruct 会导致崩溃)。(Dmitry)
- 修复了 bug #32833(无效的操作码)。(Dmitry)
- 修复了 bug #32813(parse_url() 无法正确处理仅包含方案的 URL)。(Ilia)
- 修复了 bug #32810(临时文件没有使用纯文件包装器)。(Ilia)
- 修复了 bug #32809(Windows 上缺少 T1LIB 支持)。(Edin)
- 修复了 bug #32802(常规 cookie 会覆盖更具体的 cookie)。(Ilia)
- 修复了 bug #32800,#32830(ext/odbc:64 位系统存在问题)。(Jani)
- 修复了 bug #32799(崩溃:在析构期间调用相应的全局变量)。(Dmitry)
- 修复了 bug #32776(SOAP 不支持单向操作)。(Dmitry)
- 修复了 bug #32773(当第二个参数为 0 时,GMP 函数会中断)。(Stas)
- 修复了 bug #32759(错误确定默认值 (COM))。(Wez)
- 修复了 bug #32758(无法访问 VB6 对象中的安全数组属性)。(Wez)
- 修复了 bug #32755(当 DocumentFragment 没有子节点时,replaceChild() 中出现段错误)。(Rob)
- 修复了 bug #32753(未定义的常量 SQLITE_NOTADB)。(Ilia)
- 修复了 bug #32742(当带有包装器的流未关闭时,出现段错误)。(Tony, Dmitry)
- 修复了 bug #32699(pg_affected_rows() 在不可用时被定义)。(Derick)
- 修复了 bug #32686(在析构函数中包含/要求文件会导致段错误)。(Marcus)
- 修复了 bug #32682(ext/mssql:从 activescript 调用时,模块关闭出现错误)。(Frank)
- 修复了 bug #32674(迭代器中的异常会导致崩溃)。(Dmitry)
- 修复了 bug #32660(当字段访问被重载 ( __get ) 时,通过引用赋值会导致崩溃)。(Dmitry)
- 修复了 bug #32647(使用 register_shutdown_function() 和无效的回调会导致 PHP 崩溃)。(Jani)
- 修复了 bug #32615(使用片段时,replaceChild() 中出现段错误,previousSibling 为 NULL)。(Rob)
- 修复了 bug #32613(ext/snmp:使用 snmp_shutdown() 会导致 snmpapp.conf 访问错误)。(Jani, ric at arizona dot edu)
- 修复了 bug #32608(即使提供 ENT_NOQUOTES,html_entity_decode() 也会转换单引号)。(Ilia)
- 修复了 bug #32596(在 __destruct 中使用 getClass(等)导致段错误/内存泄漏)。(Dmitry)
- 修复了 bug #32591(ext/mysql:未满足的符号:HP-UX 中的 ntohs)。(Jani)
- 修复了 bug #32589(imap_mail_compose() 函数内部可能出现崩溃)。(Ilia)
- 修复了 bug #32589(imap_mail_compose 内部可能出现崩溃,使用字符集)。(Ilia)
- 修复了 bug #32587(Apache2:发送到 error_log 的错误不包含时间戳)。(Jani)
- 修复了 bug #32560(configure 寻找错误的 db2 库)。(Tony)
- 修复了 bug #32553(mmap 在 Win32 上只加载前 2000000 字节)。(Ilia)
- 修复了 bug #32533(proc_get_status() 返回错误的进程状态)。(Ilia)
- 修复了 bug #32530(如果 chunklen 比原始字符串长,chunk_split() 不会追加 endstr)。(Ilia)
- 修复了 bug #32491(文件上传错误 - 无法创建临时文件)。(Uwe Schindler)
- 修复了 bug #32455(错误地将属性设置为未设置的值)。(Dmitry)
- 修复了 bug #32429(如果 __call 方法存在,method_exists() 始终返回 TRUE)。(Dmitry)
- 修复了 bug #32428(@ 警告错误抑制运算符已损坏)。(Dmitry)
- 修复了 bug #32427(接口不允许“static”访问修饰符)。(Dmitry)
- 修复了 bug #32405(mysqli::fetch() 返回错误数据 - 64 位问题)。(Andrey)
- 修复了 bug #32296(get_class_methods() 输出在 5.0.2 和 5.0.3 之间发生了变化)。(Dmitry)
- 修复了 bug #32282(mysqli_fetch_array 在 64 位上出现段错误)。(Georg)
- 修复了 bug #32245(在分配给 xml 解析器的函数中使用 xml_parser_free() 会导致段错误)。(Rob)
- 修复了 bug #32179(xmlrpc_encode() 在存在递归引用时出现段错误)。(Tony)
- 修复了 bug #32171(用户空间流包装器使 PHP 崩溃)。(Tony, Dmitry)
- 修复了 bug #32160(将文件复制到自身会导致数据丢失)。(Ilia)
- 修复了 bug #32139(SOAP 客户端不会自动处理 base64 编码)。(Ilia)
- 修复了 bug #32109(在多线程环境中,$_POST 未被填充)。(Moriyoshi)
- 修复了 bug #32080(当使用 zend.ze1_compatibility_mode=On 将对象分配给自己时,出现段错误)。(Dmitry)
- 修复了 bug #32021(由 range('', 'z') 引起的崩溃)。(Derick)
- 修复了 bug #32013(ext/mysqli bind_result 导致致命错误:内存限制)。(Andrey)
- 修复了 bug #32010(mssql_fetch_batch 中存在内存泄漏)。(fmk)
- 修复了 bug #32009(当多次调用 mssql_bind() 时,出现崩溃)。(Frank)
- 修复了 bug #31971(ftp_login 在某些 SSL 服务器上失败)。(frantisek at augusztin dot com)
- 修复了 bug #31887(ISAPI:自定义 5xx 错误未返回正确的 HTTP 响应消息)。(Jani)
- 修复了 bug #31828(当 zend.ze1_compatibility_mode=On 时,出现崩溃)。(Dmitry)
- 修复了 bug #31668(multi_query 每隔一次工作一次 - multi query d/e 标志是全局的,而不是针对每个连接)。(Andrey)
- 修复了 bug #31636(在回显 COM 对象时,出现另一个崩溃)。(Wez)
- 修复了 bug #31583(php_std_date() 在非 y2k_compliance 模式下使用短日期名称)。(mike at php dot net)
- 修复了 bug #31525(对象引用被删除。$this 丢失)。(Stas, Dmitry)
- 修复了 bug #31502(使用 WDDX 序列化程序时,来自会话的错误反序列化)。(Dmitry)
- 修复了 bug #31478(使用 empty() / isset() 出现段错误)。(Moriyoshi)
- 修复了 bug #31465(在 unpack() 中使用 * 时出现错误警告)。(Ilia)
- 修复了 bug #31363(损坏的非阻塞 flock())。(ian at snork dot net)
- 修复了 bug #31358(较旧的 GCC 版本不提供可移植的 va_copy())。(Jani)
- 修复了 bug #31341(花括号上的转义不一致)。(Dmitry)
- 修复了 bug #31256(PHP_EVAL_LIBLINE 配置宏不处理 -pthread)。(Jani)
- 修复了 bug #31213(由 bug #29493 的修复引起的副作用)。(Dmitry)
- 修复了 bug #31177(由于引用计数错误导致的内存泄漏和损坏)。(Dmitry)
- 修复了 bug #31158($GLOBALS 上的 array_splice 会崩溃)。(Dmitry)
- 修复了 bug #31054(safe_mode & open_basedir 检查只检查第一个 include_path 值)。(Ilia)
- 修复了 bug #31033(php:function(string, nodeset) 与 xsl:key 会导致 PHP 崩溃)。(Rob)
- 修复了 bug #30961(ReflectionClass getStartLine() 中的错误行号)。(Dmitry)
- 修复了 bug #30889(__get/__set 与 ++ 运算符之间存在冲突)。(Dmitry)
- 修复了 bug #30833(array_count_values() 会修改输入数组)。(Tony)
- 修复了 bug #30828(debug_backtrace() 在重写的方法中报告错误的类)。(Dmitry)
- 修复了 bug #30820(静态成员与 $this->member 的冲突被静默忽略)。(Dmitry)
- 修复了 bug #30819(更好地支持 LDAP SASL 绑定)。(Jani)
- 修复了 bug #30791(如果对象被重载,魔法方法 ( __sleep/__wakeup/__toString ) 会调用 __call)。(Dmitry)
- 修复了 bug #30707(方法中的异常会导致段错误)。(Stas, Dmitry)
- 修复了 bug #30702(无法从类常量初始化类变量)。(Dmitry)
- 修复了 bug #30578(在调用 __destruct() 函数之前,输出缓冲区被刷新)。(Jani)
- 修复了 bug #30519(不存在的接口会显示“类未找到”)。(Dmitry)
- 修复了 bug #30407(默认参数的奇怪行为)。(Dmitry)
- 修复了 bug #30394(使用 __get/__set 时,赋值运算符会产生错误的结果)。(Dmitry)
- 修复了 bug #30332(zend.ze1_compatibility_mode 与 array_push() 不完全兼容)。(Dmitry)
- 修复了 bug #30162(在构造函数中捕获异常会导致 $this 丢失)。(Dmitry)
- 修复了 bug #30140(静态属性中数组存在问题)。(Dmitry)
- 修复了 bug #30126(针对抽象类的错误消息的增强)。(Marcus)
- 修复了 bug #30096(gmmktime 不会返回当前时间)。(Derick)
- 修复了 bug #30080(传递对象数组或非对象数组)。(Dmitry)
- 修复了 bug #30052(odbc_pconnect() 之后在关闭时出现崩溃)。(Edin)
- 修复了 bug #29983(PHP 没有显式设置 mime 类型 & 字符集)。(Ilia)
- 修复了 bug #29975(在错误处理程序内部使用 set_error_handler() 时存在内存泄漏)。(Tony)
- 修复了 bug #29971(variables_order 行为)。(Dmitry)
- 修复了 bug #29944(在 switch 中定义的函数会崩溃)。(Dmitry)
- 修复了 bug #29896(回溯参数列表不同步)。(Dmitry)
- 修复了 bug #29728(Reflection API 特性:默认参数值)。(Marcus)
- 修复了 bug #29689(受保护成员的默认值会覆盖私有成员的默认值,以及继承类中其他私有变量问题)。(Stas)
- 修复了 bug #29683(headers_list() 返回空数组)。(Tony)
- 修复了 bug #29583(回显 COM 对象时出现崩溃)。(M.Sisolak, Wez)
- 修复了 bug #29522(在没有连接的情况下访问属性)。(Georg)
- 修复了 bug #29361(var_export() 产生无效的代码)。(Derick)
- 修复了 bug #29338(未编码的空格在某些标签之后被忽略)。(Ilia)
- 修复了 bug #29335(fetch 函数现在使用 MYSQLI_BOTH 作为默认值)。(Georg)
- 修复了 bug #29334(win32 mail() 提供错误的 Date: 头)。(Jani)
- 修复了 bug #29311(在 mysqli 中调用父构造函数)。(Georg)
- 修复了 bug #29268(__autoload() 未与 Reflection->getClass() 一起调用)。(Dmitry)
- 修复了 bug #29256(当信封大小超过 24345 字节时,SOAP HTTP 错误)。(Dmitry, Wez)
- 修复了 bug #29253(使用 $GLOBALS 参数的 array_diff 失败)。(Dmitry)
- 修复了 bug #29236(当启用 wsdl-cache 时出现内存错误)。(Dmitry)
- 修复了 bug #29210(函数:is_callable - 不支持私有和受保护的类)。(Dmitry)
- 修复了错误 #29109 (SoapFault 异常: [WSDL] 内存不足)。(Dmitry)
- 修复了错误 #29104 (方法中的函数声明无效)。(Dmitry)
- 修复了错误 #29061 (soap 扩展出现段错误)。(Dmitry)
- 修复了错误 #29015 (成员变量 (非字符串类型) 的行为不正确 - 数字型成员变量和其他)。(Dmitry)
- 修复了错误 #28985 (复杂 WSDL 中 __getTypes() 返回空值)。(Dmitry)
- 修复了错误 #28969 (特殊字符的错误数据编码)。(Dmitry)
- 修复了错误 #28839 (交互模式 (php -a) 中出现 SIGSEGV)。(kameshj at fastmail dot fm)
- 修复了错误 #28605 (Alpha CPU 需要使用 -[m]ieee 选项)。(Jani)
- 修复了错误 #28568 (SAPI::known_post_content_types 不安全线程)。(Moriyoshi)
- 修复了错误 #28377 (debug_backtrace 间歇性地传递参数)。(Dmitry)
- 修复了错误 #28355 (如果目录不可读,glob 不会报错)。(Hartmut)
- 修复了错误 #28072 (包含一些常量键的静态数组排序不正确)。(Dmitry)
- 修复了错误 #27908 (xml default_handlers 没有被调用)。(Rob)
- 修复了错误 #27598 (list() 数组键赋值导致巨大的内存泄漏)。(Dmitry)
- 修复了错误 #27268 (克隆操作加剧了错误引用)。(Dmitry)
- 修复了错误 #26456 (通过 STDIN 调用 Reflection-API getDocComment() 时,结果错误)。(Dmitry)
- 修复了错误 #25922 (在错误处理程序中,修改第 5 个参数 (errcontext) 可能导致段错误)。(Dmitry)
- 修复了错误 #25359 (如果数组是全局变量或引用,则 array_multisort() 在函数中不起作用)。(Dmitry)
- 修复了错误 #22836 (返回对未初始化变量的引用)。(Dmitry)
- 修复了错误 #21306 (ext/sesssion: 在 RSHUTDOWN 期间捕获写入处理程序的异常退出)。(Jani, Xuefer at 21cn dot com)
- 修复了错误 #15854 (布尔型 ini 选项在开启时可能被错误地显示为关闭)。(Tony)
- 修复了错误 #14561, #20382, #26090, #26320, #28024, #30532, #32086, #32270, #32555, #32588, #33056 (与 strtotime() 相关的错误)。(Derick)
版本 5.0.4
- 添加了 SNMPv2 支持。(harrie)
- 添加了 Oracle Instant Client 支持。(cjbj at hotmail dot com, Tony)
- 为 mysqli 中的字段数组和对象添加了长度和字符集编号。(Georg)
- 为 gmp_sqrt()、gmp_powm()、gmp_sqrtrem() 和 gmp_fact() 添加了对负值的检查,以防止 SIGFPE。(Tony)
- 将 foreach() 改为在 IteratorAggregate::getIterator() 未返回 Iterator 时抛出异常。(Marcus)
- 将 phpize 改为不再需要 libtool。(Jani)
- 将捆绑的 oniguruma 库 (用于多字节正则表达式) 更新到 3.7.0。(Moriyoshi)
- 将捆绑的 libmbfl 库 (用于多字节函数) 更新到最新版本。(Moriyoshi)
修复了错误
- 错误 #32063 (mb_convert_encoding 忽略了命名实体 'alpha')
- 错误 #31911 (mb_decode_mimeheader() 对十六进制转义敏感)
- 错误 #30573 (libmbfl 中由于无效类型转换导致的编译器警告)
- 错误 #30549 (某些 ISO8859 字符集的字符转换不正确)
- 修复了阻止 oci8 作为共享库构建的错误。(stanislav dot voroniy at portavita dot nl, Tony)
- 修复了 mysql_affected_rows 和 mysql_stmt_affected_rows 在 api 函数返回 -1 时的错误。(Georg)
- 修复了 ext/browscap 和 sapi/embed 中的多个泄漏。(Andrei)
- 修复了 ext/filepro 中的多个泄漏。(Tony)
- 修复了构建系统,使其始终使用捆绑的 libtool 文件。(Jani)
- 修复了 mysqli_stmt_execute() 中的错误 (与 NULL 值的类型转换)。(Georg)
- 修复了 mysqli_fetch_field_direct() 在传递无效字段偏移量时的段错误。(Tony)
- 修复了 posix_getsid() & posix_getpgid(),使其返回 sid & pgid 而不是 true。(Tony)
- 修复了错误 #32394 (offsetUnset() 在 foreach 中出现段错误)。(Marcus)
- 修复了错误 #32373 (如果提供的路径指向不存在的文件,则 bzopen() 出现段错误)。(Tony)
- 修复了错误 #32326 (在 SOAP 扩展中,不区分大小写地检查 Connection/Transfer-Encoding 的值)。(Ilia)
- 修复了错误 #32290 (call_user_func_array() 在子类中调用错误的类方法)。(Marcus)
- 修复了错误 #32238 (spl_array.c: void 函数不能返回值)。(Johannes)
- 修复了错误 #32210 (proc_get_status() 始终将 "running" 设置为 true)。(Ilia)
- 修复了错误 #32200 (防止同时使用 --with-apxs2 和 --with-apxs2filter)。(Jani)
- 修复了错误 #32134 (重载 offsetGet/offsetSet)。(Marcus)
- 修复了错误 #32130 (ArrayIterator::seek() 在无效索引上不会抛出异常)。(Marcus)
- 修复了错误 #32115 (dateTime SOAP 编码的时区不正确)。(Dmitry)
- 修复了错误 #32081 (在 mysqli 中,默认套接字值没有被使用)。(Ilia)
- 修复了 bug #32021(由 range('', 'z') 引起的崩溃)。(Derick)
- 修复了错误 #32011 (替换节点的片段在全局范围内不可用)。(Rob)
- 修复了错误 #32001 (xml_parse_into_struct() 函数超过最大执行时间)。(Rob, Moriyoshi)
- 修复了错误 #31980 (Windows 上无法使用 Unicode exif 数据)。(Edin)
- 修复了错误 #31792 (getrusage() 未提供 ru_nswap 值)。(Ilia)
- 修复了错误 #31960 (msql_fetch_row() 和 msql_fetch_array() 丢弃值为 NULL 的列)。(Daniel Convissor)
- 修复了错误 #31878 (对节点使用 clone 关键字时出现段错误)。(Rob)
- 修复了错误 #31858 (--disable-cli 不会强制使用 --without-pear)。(Jani)
- 修复了错误 #31842 (*date('r') 未返回符合 RFC2822 的日期字符串)。(Jani)
- 修复了错误 #31832 (在 WSDL 模式下,使用多个部分的复杂类型的 SOAP 编码问题)。(Dmitry)
- 修复了错误 #31797 (exif_read_data() 使用的嵌套限制过低)。(Ilia)
- 修复了错误 #31796 (readline 完成处理程序无法处理空返回值)。(Ilia)
- 修复了错误 #31755 (无法在无命名空间中创建 SOAP 标头)。(Dmitry)
- 修复了错误 #31754 (dbase_open() 在 mode = 1 时失败)。(Mehdi, Derick)
- 修复了错误 #31751 (Windows 上缺少 pg_parameter_status())。(Edin)
- 修复了错误 #31747 (SOAP 摘要身份验证在 "HTTP/1.1 100 Continue" 响应中不起作用)。(Dmitry)
- 修复了错误 #31732 (mb_get_info() 在未指定参数时导致段错误)。(Tony)
- 修复了错误 #31710 (mysqli_autocommit/commit/rollback 的错误返回值)。(Georg)
- 修复了错误 #31705 (parse_url() 无法识别 http://foo.com#bar)。(Ilia)
- 修复了错误 #31695 (使用 WSDL 时无法重新定义端点)。(Dmitry)
- 修复了错误 #31684 (dio_tcsetattr(): termios 设置配置错误)。(elod at itfais dot com)
- 修复了错误 #31683 (对 $name 的更改在 __get($name) 中覆盖了未来的参数)。(Dmitry)
- 修复了错误 #31699 (在非英语语言环境中,unserialize() 浮点数出现问题)。(Ilia)
- 修复了错误 #31562 (__autoload() 与静态变量出现问题)。(Marcus)
- 修复了错误 #31651 (ReflectionClass::getDefaultProperties 在数组上出现段错误)。(Marcus)
- 修复了错误 #31623 (OCILogin 不支持密码宽限期)。(daniel dot beet at accuratesoftware dot com, Tony)
- 修复了错误 #31527 (在 msg_send() 中,当非字符串存储时未被序列化,会导致崩溃)。(Ilia)
- 修复了错误 #31515 (将 scandir() 的性能提高了 10 倍左右)。(Ilia)
- 修复了错误 #31514 (open_basedir 使用 path_translated 而不是 cwd 进行 . 转换)。(Ilia)
- 修复了错误 #31480 (imap_mail_compose() 中可能出现无限循环)。(Ilia)
- 修复了错误 #31479 (修复了 chunk_split() 在 chunklen > strlen 时崩溃的问题)。(Ilia)
- 修复了 bug #31465(在 unpack() 中使用 * 时出现错误警告)。(Ilia)
- 修复了错误 #31454 (当提供不存在的对象引用时,session_set_save_handler 会使 PHP 崩溃)。(Tony)
- 修复了错误 #31444 (zend_language_scanner.c 中的内存泄漏)。(hexer at studentcenter dot org)
- 修复了错误 #31442 (在 64 位系统上,unserialize 出现故障)。(Marcus)
- 修复了错误 #31440 (当启用 register_globals 时,$GLOBALS 可以通过 GPC 被覆盖)。(Ilia)
- 修复了错误 #31422 (SoapServer 端没有错误日志记录)。(Dmitry)
- 修复了错误 #31413 (在 64 位平台上,curl POSTFIELDS 崩溃)。(Joe)
- 修复了错误 #31396 (在没有 freetype 的情况下,gd 2.0.33 无法编译)。(Jani)
- 修复了错误 #31371 (highlight_file() 在 heredoc 后面修剪了换行符)。(Ilia)
- 修复了错误 #31361 (simplexml/domxml 在添加节点两次时出现段错误)。(Rob)
- 修复了错误 #31348 (CachingIterator::rewind() 出现泄漏)。(Marcus)
- 修复了错误 #31346 (ArrayIterator::next 导致段错误)。(Marcus)
- 修复了错误 #31190 (从 call_user_func_array() 抛出异常时出现意外警告)。(phpbugs at domain51 dot net, Dmitry)
- 修复了错误 #31142 (imap_mail_compose() 无法生成正确的输出)。(Ilia)
- 修复了错误 #31139 (XML 解析函数在解析时似乎会丢弃 &)。(Rob)
- 修复了错误 #31398 (当 magic_guotes_gpc 启用时,包含 ' 的文件名会被截断)。(Ilia)
- 修复了错误 #31288 (如果之前没有调用 mysql_list_fields(),则 mysql_fetch_field() 可能会崩溃)。(Ilia)
- 修复了错误 #31107,修复了错误 #31110,修复了错误 #31111,修复了错误 #31249 (zend_strtod.c 编译失败)。(Jani)
- 修复了错误 #31110 (PHP 4.3.10 无法在 Tru64 UNIX 5.1B 上编译)。(Derick)
- 修复了错误 #31107 (在 Solaris 9 (Intel) 和 gcc 3.4.3 上编译失败)。(Derick)
- 修复了错误 #31103 (当找不到 c-client 时,显示更详细的错误信息)。(Ilia)
- 修复了错误 #31101 (使用 --with-openssl 时缺少 kerberos 头文件路径)。(Jani)
- 修复了错误 #31098 (isset() / empty() 在对字符串类型的解引用时错误地返回 true)。(Moriyoshi)
- 修复了错误 #31087 (损坏的 php_url_encode_hash 宏)。(Ilia)
- 修复了错误 #31072 (var_export() 不会输出具有空字符串键的数组元素)。(Derick)
- 修复了错误 #31060 (imageftbbox() 没有使用 linespacing 参数)。(Jani)
- 修复了错误 #31056 (如果 y2k_compliance 为 On,则 php_std_date() 返回格式错误的日期)。(Ilia)
- 修复了错误 #31055 (apache2filter: 每请求泄漏与请求 URI 的完整路径成正比)。(kameshj at fastmail dot fm)
- 修复了错误 #30901 (无法使用 soap 信封发送 cookie)。(Dmitry)
- 修复了错误 #30871 (array_combine() 的误导性警告信息)。(Andrey)
- 修复了错误 #30868 (mbregex 中的已评估指针比较导致编译失败)。(Moriyoshi)
- 修复了错误 #30862 (具有布尔索引的静态数组)。(Marcus)
- 修复了错误 #30726 (-.1 这样的数字没有被正确处理)。(Ilia)
- 修复了错误 #30725 (当在 foreach 中的 getIterator() 中抛出异常时,PHP 出现段错误)。(Marcus)
- 修复了错误 #30609 (cURL 函数绕过了 open_basedir)。(Jani)
- 修复了错误 #30446 (apache2handler: virtual() 按错误顺序包含文件)
- 修复了错误 #30430 (odbc_next_result() 不会绑定值,这会导致段错误)。(pdan-php at esync dot org, Tony)
- 修复了错误 #30266 (无效操作码 137/1/8)。(Marcus)
- 修复了错误 #30120 (imagettftext() 和 imagettfbbox() 接受过多参数)。(Jani)
- 修复了错误 #30106 (SOAP 无法解析 'ref' 元素。导致未捕获的 SoapFault 异常)。(Dmitry)
- 修复了错误 #29989 (oniguruma.h 中重新定义了类型 re_registers)。(Moriyoshi)
- 修复了错误 #28803 (启用调试会导致 CLI 在 AIX 上出现退出错误,因为 fflush() 对已关闭的文件描述符调用)。(Tony)
- 修复了错误 #29767 (__set($name, $value) 的奇怪行为)。(Dmitry)
- 修复了错误 #29733 (printf() 对重复占位符的处理错误)。(bugs dot php dot net at bluetwanger dot de, Ilia)
- 修复了错误 #29424 (JPEG2000 文件的宽度和高度颠倒)。(Ilia)
- 修复了错误 #29329 (使用共享配置 mysqli 无法工作)。(Georg)
- 修复了错误 #29136 (在 MacOSX 上 make test libtool 失败)。(Jani)
- 修复了错误 #28976 (mail(): 如果 sendmail_from 为空,则使用头部的 "From:" )。(Jani)
- 修复了错误 #28930 (PHP 源码选择了由 bison 生成的错误头文件)。(eggert at gnu dot org, Jani)
- 修复了错误 #28840 (扩展 mysqli 的类的 __destruct 不会被调用)。(Marcus)
- 修复了错误 #28804 (ini 文件节区解析模式有错误)。(wendland at scan-plus dot de)
- 修复了错误 #28451 (损坏的 EXIF 头部具有无限递归的 IFD 目录条目)。(Andrei)
- 修复了错误 #28444 (无法访问具有重载属性访问权限的对象的未定义属性)。(Dmitry)
- 修复了错误 #28442 (更改类中的静态变量会跨子/父类更改它)。(Marcus)
- 修复了错误 #28324 (当 register_long_arrays 为 Off 时,HTTP_SESSION_VARS 会出现)。(Tony)
- 修复了错误 #28074 (FastCGI: stderr 应该写入 FCGI stderr 流中)。(chris at ex-parrot dot com)
- 修复了错误 #28067 (部分不正确的 utf8 到 htmlentities 映射)。(Derick, Benjamin Greiner)
- 修复了错误 #28041 (SOAP HTTP Digest 访问身份验证)。(Dmitry)
- 修复了错误 #27633 (在 Win32 上,以 ASCII 模式使用 ftp_get 时出现双 \r 问题)。(Ilia)
- 修复了错误 #18613 (x509 证书中的多个 OU 没有被正确处理)。(Jani)
版本 5.0.3
- 在 *printf 中添加了 %F 修饰符,用于呈现不依赖于区域设置的浮点数表示,使用 . 作为小数点分隔符。(Derick)
- 修复了 mysqli_multi_query 中的错误处理。(Georg)
- 扩展了 is_subclass_of() 的功能,使其接受类名或对象作为第一个参数。(Andrey)
- 修复了反序列化无效序列化数据时可能出现的问题。(Marcus)
- 修复了错误 #31034 (与不存在的 iconv 头文件相关的问题)。(Derick)
- 修复了错误 #30995 (snmp 扩展无法使用 net-snmp 5.2 构建)。(Ilia)
- 修复了错误 #30994 (SOAP 服务器无法处理包含引用的请求)。(Dmitry)
- 修复了错误 #30990 (允许 *NIX 上的 popen() 接受 'b' 标志)。(Ilia)
- 修复了错误 #30967 (扩展 mysqli 类中的属性无法工作)。(Georg)
- 修复了错误 #30928 (使用 WSDL 时,SoapServer 不会处理私有或受保护的属性)。(Dmitry)
- 修复了错误 #30922 (当接口扩展自身时,反射函数会使 PHP 崩溃)。(Tony, Dmitry)
- 修复了错误 #30904 (将 soapclient 记录到会话时出现段错误)。(Tony, Dmitry)
- 修复了错误 #30890 (MySQLi 测试套件)
- 修复了错误 #30856 (ReflectionClass::getStaticProperties 出现段错误)。(Marcus)
- 修复了错误 #30832 (在 xml 解析器中删除了注释中的 "!")。(Rob)
- 修复了错误 #30799 (SoapServer 不会处理私有或受保护的属性)。(Dmitry)
- 修复了错误 #30783 (使用 ReflectionFunction:: getStaticVariables() 时 Apache 崩溃)。(Marcus)
- 修复了错误 #30750 (当上传目录不可访问时,显示有意义的错误信息)。(Ilia)
- 修复了错误 #30685 (格式错误的 SOAPClient http 标头请求)。(Dmitry)
- 修复了错误 #30672 (处理 jpeg 图像中不寻常位置的 exif 数据时出现问题)。(Marcus)
- 修复了错误 #30658 (确保删除由 GD 创建的临时文件)。(Ilia)
- 修复了错误 #30645 (为 mysql_connect 定义多结果集支持)。(Georg)
- 修复了错误 #30637 (使用 pear 编译错误)。(Antony)
- 修复了错误 #30587 (array_multisort 在更改 zval 之前不会分离它们)。(Tony)
- 修复了错误 #30572 (将 SimpleXML 属性与布尔值进行比较时崩溃)。(Andi)
- 修复了错误 #30566 (解析时属性命名空间 URI 不一致)。(Rob)
- 修复了错误 #30490 (PEAR 安装失败)。(Antony)
- 修复了错误 #30475 (curl_getinfo() 在某些情况下可能会崩溃)。(Ilia)
- 修复了错误 #30442 (解析 ?getvariable[][ 时出现段错误)。(Tony)
- 修复了错误 #30388 (跨文件系统重命名会丢失所有权和权限信息)。(Tony)
- 修复了错误 #30387 (stream_socket_client 异步连接已损坏)。(vnegrier at esds dot com, Wez).
- 修复了错误 #30381 (使用 get_class_vars() 时出现奇怪的结果)。(Marcus)
- 修复了错误 #30375 (cal_info() 在没有参数的情况下无法工作)。(Ilia)
- 修复了错误 #30362 (stream_get_line() 没有正确处理结束字符串)。(Ilia)
- 修复了错误 #30359 (SOAP 客户端请求在 "Host" 字段中没有端口)。(Dmitry)
- 修复了错误 #30356 (str_ireplace() 无法对所有字符串工作)。(Ilia)
- 修复了错误 #30344 (Reflection::getModifierNames() 返回过长的字符串)。(Marcus)
- 修复了错误 #30329 (获取 http 主体时出错,没有 Content-Length,连接关闭或数据分块)。(Dmitry)
- 修复了错误 #30282 (使用未知/不支持的 session.save_handler 和/或 session.serialize_handler 时出现段错误)。(Tony)
- 修复了错误 #30281 (防止非 wbmp 图像被检测为 wbmp 图像)。(Ilia)
- 修复了错误 #30276 (ctype_digit 在大数字上可能会崩溃)。(Ilia)
- 修复了错误 #30230 (异常处理程序无法与对象一起使用)。(Marcus)
- 修复了错误 #30224 (Sybase 日期字符串有时没有以 null 结尾)。(Ilia)
- 修复了错误 #30175 (SOAP 结果没有被正确解析)。(Dmitry)
- 修复了错误 #30147 (OO sqlite_fetch_object 没有重置错误处理程序)。(Wez)
- 修复了错误 #30133 (get_current_user() 在 Windows 上崩溃)。(Edin)
- 修复了错误 #30061 (xml_set_start_namespace_decl_handler 不会被调用)。(Rob)
- 修复了错误 #30057 (没有在 FreeBSD 4.1 上检测到 IPV6)。(Wez)
- 修复了错误 #30042 (strtotime 没有使用第二个参数)。(Derick)
- 修复了错误 #30027 (ftp_get() 内部可能会崩溃)。(cfield at affinitysolutions dot com)
- 修复了错误 #29954 (当初始值为数组时,array_reduce 出现段错误)。(Tony)
- 修复了错误 #29883 (isset 对字符串给出无效值)。(Tony, Dmitry)
- 修复了错误 #29801 (对可映射数据的大小设置限制)。(Ilia)
- 修复了错误 #29557 (strtotime 错误)。(Derick)
- 修复了错误 #29418 (当 openssl_csr_new 失败时,出现双重释放)。(Kamesh Jayachandran).
- 修复了错误 #29385 (Soapserver 总是使用 std 类)。(David, Dmitry)
- 修复了错误 #29211 (SoapClient 不会通过代理请求 wsdl)。(Rob)
- 修复了错误 #28817 (扩展 domDocument 时出现变量问题)。(Georg)
- 修复了错误 #28599 (strtotime 在使用零基时间时失败)。(Derick)
- 修复了错误 #28598 (丢失对 MS 符号字体的支持)。(Pierre)
- 修复了错误 #28220 (mb_strwidth() 对某些韩文字符返回错误的宽度值)。(Moriyoshi)
- 修复了错误 #28228 (未正确处理 NULL 小数点分隔符)。(Ilia)
- 修复了错误 #28209 (strtotime("now"))。(Derick)
- 修复了错误 #27798 (类内部的 get_object_vars() 未公开私有/受保护的变量)。(Marcus)
- 修复了错误 #27728 (无法在 zend_try {} 块中返回,或者先前的数据丢失状态未恢复。(Andi)
- 修复了错误 #27183 (用户级流包装器在 stream_write 上出现段错误)。(Christian)
版本 5.0.2
- 为 array_slice() 添加了新的布尔型(第四个)参数,用于在返回的数组中开启键的保留。(Derick)
- 为 sort() 函数添加了排序标志 SORT_LOCALE_STRING,使其根据当前区域设置进行排序。(Derick)
- 添加了 interface_exists() 并使 class_exists() 仅对真实类返回 true。(Andrey)
- 添加了包含 OS 表示换行符方式的 PHP_EOL 常量。(Paul Hudson, Derick)
- 实现了定期 PCRE 编译正则表达式缓存清理,以避免内存耗尽。(Andrei)
- 将 SoapClient->__call() 重命名为 SoapClinet->__soapCall()。(Dmitry)
- 修复了 raw_post_data 未设置的错误。(Brian)
- 修复了 phpinfo() 和其他“特殊”URL 的文件描述符泄漏。(Zeev)
- 修复了错误 #30209 (ReflectionClass::getMethod() 将属性转换为小写)。(Marcus)
- 修复了错误 #30182 (SOAP 模块处理 WSDL 文件导致核心转储)。(Dmitry)
- 修复了错误 #30045 (无法在 SOAP 请求中传递大整数 (> 2147483647))。(Dmitry)
- 修复了错误 #29985 (unserialize()/ __PHP_Incomplete_class 未正确报告类名)。(Marcus, Tony)
- 修复了错误 #29945 (simplexml_load_file URL 限制为 255 个字符)。(Rob)
- 修复了错误 #29873 (pcntl_*priority 定义周围没有定义)。(Derick)
- 修复了错误 #29844 (SOAP 未返回有效 SOAP 请求的结果)。(Dmitry)
- 修复了错误 #29842 (soapclient 返回空值)。(Dmitry)
- 修复了错误 #29839 (不正确的转换 (xml:lang 到 lang))。(Dmitry)
- 修复了错误 #29830 (SoapServer::setClass() 不应导出非公共方法)。(Dmitry)
- 修复了错误 #29828 (接口不再有效)。(Marcus)
- 修复了错误 #29821 (修复了 convert_uudecode() 在无效数据上可能发生的崩溃)。(Ilia)
- 修复了错误 #29808 (array_count_values() 在使用数字字符串时出现问题)。(Ilia)
- 修复了错误 #29805 (HTTP 身份验证问题)。(Uwe Schindler)
- 修复了错误 #29795 (使用 Soap 和 Amazon Web 服务时出现段错误)。(Dmitry)
- 修复了错误 #29737 (如果 IP 为 255.255.255.255,则 ip2long 应返回 -1,如果出错则返回 FALSE)。(Tony)
- 修复了错误 #29711 (更改了 ext/xml 以默认使用 UTF-8 输出)。(Rob)
- 修复了错误 #29678 (使用 ftp:// 包装器时,如果路径没有尾部斜杠,opendir() 会出现段错误)。(Ilia)
- 修复了错误 #29657 (xml_* 函数抛出非描述性错误)。(Christian, Rob)
- 修复了错误 #29656 (在结果和语句属性上出现段错误)。(Georg)
- 修复了错误 #29566 (foreach/string 处理奇异性 (崩溃))。(Dmitry)
- 修复了错误 #29447 (反射 API 问题)。(Marcus)
- 修复了错误 #29296 (添加了 sslv2 和 sslv3 传输)。(Wez)
- 修复了错误 #29283 (mysqli 在执行时出现无效的语句句柄)。(Georg)
- 修复了错误 #29913 (parse_url() 现在是二进制安全的)。(Ilia)
- 修复了错误 #27994 (当 WSDL-Cache 启用时,Soapserver 出现段错误)。(Dmitry)
- 修复了错误 #27791 (Apache 2.0 SAPI 针对 Apache 2 HEAD 构建)。(Joe Orton, Derick)
- 修复了错误 #26737 (当用户声明的 __sleep() 方法存在时,私有/受保护的属性不会被序列化)。当 __sleep() 返回不存在成员的名称时,会抛出 E_NOTICE。(Andrey, Curt)
版本 5.0.1
- 更改了析构函数机制,以便在请求关闭之前调用析构函数。(Marcus)
- 重写了 UNIX 和 Windows 安装帮助文件。(文档团队)
- 更新了 Windows 版本捆绑的几个库,现在包括 libxml2-2.6.11、libxslt-1.1.7 和 iconv-1.9.1。(Rob, Edin)
- 改进并移除了 ActiveScript SAPI 到 PECL。(Wez)
- 修复了动态加载扩展的卸载问题。(Marcus, kameshj at fastmail dot fm)
- 修复了 ReflectionClass::getMethod() 和 ReflectionClass::getProperty(),使其在失败时抛出 ReflectionException,而不是返回 NULL。(Sebastian)
- 修复了 convert.* 过滤器以在刷新时使用剩余的 buckets_in。(Sara)
- 修复了 mysqli->client_version 中的错误。(Georg)
- 修复了错误 #29606 (php_strip_whitespace() 打印到标准输出,而不是返回值)。(Ilia)
- 修复了错误 #29577 (MYSQLI_CLIENT_FOUND_ROWS 未定义) (Georg)
- 修复了错误 #29573 (当从 XSLT 调用 PHP 函数时,在异常被抛出时出现段错误)。(Christian)
- 修复了错误 #29522 (在没有连接的情况下访问属性) (Georg)
- 修复了错误 #29505 (get_class_vars() 在使用数组时严重损坏)。(Marcus)
- 修复了错误 #29490 (.Net 对象实例化失败)。(Michael Sisolak).
- 修复了错误 #29474 (win32: usleep() 不起作用)。(Wez)
- 修复了错误 #29449 (win32: feof() 在空 TCP 流上挂起)。(Wez)
- 修复了错误 #29437 (在 array_walk_recursive() 内部可能发生崩溃)。(Ilia)
- 修复了错误 #29431 (解析无效地址时发生崩溃;stream_socket_recvfrom()、stream_socket_getname() 返回无效地址)。(Wez)
- 修复了错误 #29409 (从 XSLT 调用 PHP 函数时出现段错误)。(Rob)
- 修复了错误 #29395 (sqlite_escape_string() 在空字符串上返回错误数据)。(Ilia, Tony)
- 修复了错误 #29392 (com_dotnet 在回显对象时崩溃)。(Wez)
- 修复了错误 #29368 (当从构造函数中抛出异常时,会调用析构函数)。(Marcus)
- 修复了错误 #29354 (异常构造函数被标记为公共和受保护)。(Marcus)
- 修复了错误 #29342 (strtotime() 未正确处理空日期字符串)。(Ilia)
- 修复了错误 #29340 (win32 构建生成无效的 php_ifx.dll)。(Edin)
- 修复了错误 #29335 (获取函数现在使用 MYSQLI_BOTH 作为默认值) (Georg)
- 修复了错误 #29291 (get_class_vars() 返回带有 NULL 的名称)。(Marcus)
- 修复了错误 #29264 (gettext 扩展无法工作)。(Edin)
- 修复了错误 #29258 (variant_date_from_timestamp() 不遵守时区)。(Wez)
- 修复了错误 #29256 (在套接字上发送大数据包时出错)。(Dmitry)
- 修复了 bug #29236(当启用 wsdl-cache 时出现内存错误)。(Dmitry)
- 修复了错误 #29147 (mnoGoSearch 函数中出现编译错误)。(Sergey, Antony)
- 修复了错误 #29132 ($_SERVER["PHP_AUTH_USER"] 未定义)。(Stefan)
- 修复了错误 #29119 (html_entity_decode() 在 UTF-8 中行为异常)。(Moriyoshi)
- 修复了错误 #29109 (SoapFault 异常: [WSDL] 内存不足)。(Dmitry)
- 修复了错误 #29061 (soap 扩展出现段错误)。(Dmitry)
- 修复了错误 #28985 (复杂 WSDL 中 __getTypes() 返回空值)。(Dmitry)
- 修复了错误 #28969 (特殊字符的错误数据编码)。(Dmitry)
- 修复了错误 #28895 (ReflectionClass::isAbstract 始终返回 false)。(Marcus)
- 修复了错误 #28829 (bcmath 基本值中的线程不安全性)。(Sara)
- 修复了错误 #28464 (catch() 未通过接口捕获异常)。(Marcus)
版本 5.0.0
- 更新了 PCRE 以在某些情况下提供更好的错误处理。(Andrei)
- 更改了文档注释以要求在 '/**' 之后有一个空格。(Marcus)
- 修复了 strip_tags() 以正确处理 '\0' 字符。(Stefan)
- 修复了错误 #29019 (数据库未关闭)。(Marcus)
- 修复了错误 #29008 (array_combine() 未处理非数字/字符串键)。(Ilia)
- 修复了错误 #28999 (修复了 exec() 的行为,使其与 4.X 中的行为一致)。(Ilia)
- 修复了错误 #28895 (ReflectionClass::isAbstract 始终返回 false)。(Marcus)
- 修复了错误 #28868 (内部过滤器注册表不是线程安全的)。(Sara)
- 修复了错误 #28851 (call_user_func_array 在错误消息中存在拼写错误)。(Marcus)
- 修复了错误 #28831 (ArrayObject::offsetGet() 完成了 offsetUnset() 的工作)。(Marcus)
- 修复了错误 #28822 (ArrayObject::offsetExists() 的工作方式相反)。(Marcus)
- 修复了错误 #28789 (ReflectionProperty getValue() 在公共静态成员上失败)。(Marcus)
- 修复了错误 #28771 (使用 xslt 和 clone 时出现段错误)。(Rob)
- 修复了错误 #28751 (SoapServer 未调用 _autoload())。(Dmitry)
- 修复了错误 #28739 (array_*diff() 和 array_*intersect() 在工作之前未清除 fci 缓存)。(Andrey)
- 修复了错误 #28721 (appendChild() 和 insertBefore() 取消设置 DOMText)。(Rob)
- 修复了错误 #28702 (SOAP 未正确解析 WSDL 服务地址)。(Dmitry)
- 修复了错误 #28699 (反射 API 错误)。(Marcus)
- 修复了错误 #28694 (ReflectionExtension::getFunctions() 导致 PHP 崩溃)。(Marcus)
- 修复了错误 #28512 (为存储 MSSQL 数据分配足够的内存)。(Frank)
- 修复了错误 #28325 (循环引用未正确序列化)。(Moriyoshi)
版本 5.0.0 发布候选版本 3
- 将 PDFLib 扩展移到了 PECL。(Wez)
- 为 MySQLI 扩展添加了 MySQL 4.1.2-alpha 和 4.1.3-beta 支持。(Georg)
- 添加了对将私有/受保护属性转储到 var_dump() 的支持。(Andrey)
- 为 COM 数组添加了 count() 支持。(Wez)
- 添加了 Firebird/InterBase UDF 源代码,允许从 SQL 调用 PHP 函数 (Ard)
- 更改了用户错误处理机制,如果它返回 false,则将其转发给内置错误处理程序。(Andrei)
- 更改了函数参数的类类型提示,以不允许传递 NULL 值。(Andi)
- 将 tidy_node 更改为 tidyNode,并删除了 tidy_exception。(John)
- 修复了 ip2long(),使其在传递给此函数的 IP 地址无效时返回 FALSE。(Derick)
- 修复了内存管理器中的内存泄漏。(Andi)
- 修复了从 include() 返回的异常问题。(Dmitry)
- 修复了错误 #28641 (接口的实例)。(Marcus)
- 修复了错误 #28430 (扩展 mysqli 类)。(Georg)
- 修复了错误 #28311 (透明度检测代码错误 1)。(Ilia, pikeman at pikeman dot sytes dot net)
- 修复了错误 #28304 (imagefilter() 内部缺少边界检查)。(Ilia)
- 修复了错误 #28300 (用户级流/过滤器名称强制转换为小写)。(Sara)
- 修复了错误 #28287 (stream_*_register() 未调用 __autoload())。(Sara)
- 修复了错误 #28267 (php_image_filter_contrast 调用 gdImageBrightness)。(Ilia)
- 修复了错误 #28239 (SOAP 调用未返回结果,未给出错误)。(Dmitry)
- 修复了错误 #28205 (语句对象的 num_rows 属性)。(Georg)
- 修复了错误 #28161 (COM: 无法访问数组样式属性)。(Wez)
- 修复了错误 #28125 (在访问元素时,ArrayObject 出现泄漏)。(Marcus)
- 修复了错误 #28100 (mysqli_ssl_set 的 NULL 参数支持)。(Georg)
- 修复了错误 #28099 (ArrayObject 未实现 ArrayAccess)。(Marcus)
- 修复了错误 #27929 (SPL: 更改 ArrayIterator::__construct 的可见性)。(Marcus)
- 修复了 bug #27640 (已注册的 zend_ini_directives 存在内存泄漏)。(Dmitry)
- 修复了 bug #27063 (SPL:ArrayObject 未正确处理 PPP)。(Marcus)
版本 5.0.0 发布候选版本 2
- 使用错误的原型实现接口/抽象方法现在将导致致命错误。(Zeev)
- 重新实现了 zend.ze1_compatibility_mode 以更好地兼容 PHP 4。(Dmitry, Andi)
- 在 CLI 环境下,对 php://stdin、php://stdout 和 php://stderr 的 fclose() 现在将关闭真实流。请更新您的 CLI 脚本以使用 STDIN、STDOUT 和 STDERR 常量,而不是 fopen()/fclose()。(Wez)
- 将 yaz 扩展迁移到 PECL。(Wez)
- 为 proc_open() 添加了 pty 支持。(Wez)
- 添加了使用反射 API 检查内部类是在哪个扩展中定义的功能。(Marcus)
- 更改了 tidy 错误处理方式,不再使用异常,并将 "error_buf" 属性重命名为 errorBuffer。(John)
- 更改了类和方法名称,使用 studlyCaps 命名约定。(Marcus)
- 更改了语言解析器,在析构函数定义中使用非空签名时抛出错误。(Marcus)
- 更改了 HTTP 文件上传,不再抛出 E_WARNING 和 E_NOTICEs。应使用 $_FILES 全局变量中的错误值来处理错误。(Derick)
- 更改了 __construct(),使其始终优先于旧式构造函数。(Dmitry)
- 修复了 mssql_execute() 中存储过程的返回值处理问题,该问题导致返回多个结果集。(Frank)
- 修复了 bug #28096 (stream_socket_accept() 不适用于 ssl)。(Wez)
- 修复了 bug #28007 (使用旧版本的 FreeTDS 编译 mssql 扩展失败)。(Frank)
- 修复了 bug #27997 (SPL:使用 getInnerIterator() 导致崩溃)。(Marcus)
- 修复了 bug #27974 (COM 未传递数组参数)。(Wez)
- 修复了 bug #27928 (sqlite 未正确处理无效文件名)。(Ilia)
- 修复了 bug #27923 (在某些情况下,使用 foreach() 迭代值会导致关于键为引用的错误消息)。(Adam)
- 修复了 bug #27865 (STDIN、STDOUT 和 STDERR 在 CLI 下被 dup()d)。(Wez)
- 修复了 bug #27821 (当从类方法中调用 xml_set_object() 时,xml_parse() 会导致段错误)。(Andi, Rob)
- 修复了 bug #27742 (WDSL SOAP 解析模式错误)。(Dmitry)
- 修复了 bug #27722 (在没有 targetNamespace 的模式上出现段错误)。(Dmitry)
- 修复了 bug #27719 (mktime 在夏令时转换前后出现问题)。(Rasmus)
- 修复了 bug #27681 (没有 HAVE_TM_GMTOFF 时,soap 扩展失败)。(Dmitry)
- 修复了 bug #27641 (在 ze1_compatibility_mode 中重新实现了对象克隆)。(Dmitry, Andi)
- 修复了 bug #27628 (简化了通过流上下文发出 POST 请求的过程)。(Ilia)
- 修复了 bug #27619 (过滤器未应用于预缓冲的流数据)。(Sara)
- 修复了 bug #27519 (Reflection_Function 构造函数在使用不存在的函数名时会崩溃)。(Marcus)
- 修复了 bug #27469 (序列化不完整类的对象)。(Dmitry)
- 修复了 bug #27457 (处理 strtr() 中的数字索引)。(Dmitry)
- 修复了 bug #27397 (debug_backtrace() 未显示函数参数)。(Zeev)
- 修复了 bug #27283 (有时会跳过最后一个 catch 语句)。(Andi)
- 修复了 bug #26441 (当 __set() 返回一个值时会破坏它)。(Andi)
- 修复了 bug #19749 (不应该对大于 memory_limit 的文件进行 mmap())。(Wez)
版本 5.0.0 发布候选版本 1
- 修复了即时自动全局变量初始化中的许多 bug,这些 bug 可能会导致 $_SERVER、$argv/$argc 和其他变量无法正常工作。(Zeev)
- 修复了将常量赋值给对象属性时的数据损坏问题。(Zeev)
- 更改了 __toString(),使其仅在使用 print 和 echo 语句时才会被自动调用。(Andi)
- 用 zend_post_deactive hook 替换了扩展的 exec_finished hook。新的 hook 将在符号表和析构函数执行完毕后运行。(Derick)
- 修复了未定义内部 get_method() 时可能发生的崩溃问题。(Andi)
- 修复了使用 call_user_func() 结合 array("Class","Method") 语法调用方法时,使用 PHP 用户函数的作用域的问题。(Dmitry)
- 修复了 php-cgi 在 web 环境下运行时不忽略命令行开关的问题。这修复了我们的测试用例,允许使用带有 GET 部分的 INI 文件。(Rasmus)
- 修复了 getopt(),使其在没有 $_SERVER 的情况下也能正常工作。(Rasmus, bfrance)
- 添加了对 PHP 4 样式对象比较的支持,该支持在 ze1_compatiblity_mode 中启用。(Andi)
- 添加了对 PHP 4 样式对象转换为长整型、双精度浮点型和布尔值的支持,该支持在 ze1_compatibility_mode 中启用。(Andi, Stas)
- 允许面向对象的扩展重载比较函数和其他操作。解决了使用 SimpleXML 值时的问题。(Andi, Zeev)
- 修复了使用值为常量的类常量时发生的崩溃问题。(Dmitry)
- 修复了对象的真值转换。除非 ze1_compatibility_mode 处于开启状态,否则它始终为真,在这种情况下,它的行为类似于 PHP 4。(Stas)
- 改进了新内存管理器中的内存不足处理。(Stas)
- 修复了对象在析构函数调用期间引用自身时发生的崩溃问题。(Andi)
- 修复了在使用 foreach() 迭代对象属性或方法返回值时发生的崩溃问题。(Andi)
- 修复了在析构函数中抛出异常时发生的崩溃问题。由于析构发生在没有明确时间的上下文之外,因此现在会忽略此类异常。(Andi)
- 修复了异常处理中的崩溃问题。(Dmitry, Andi)
- 更改了原型检查,使其不再对构造函数进行检查。(Andi)
- 更改了原型检查,使其输出 E_STRICT 消息,而不是 E_COMPILE_ERROR。(Andi)
- 将 Iterator::has_more() 更改为 Iterator::valid()。(Marcus)
- 将捆绑的 oniguruma 库升级到 2.2.2 版本。(Rui, Moriyoshi)
- 添加了 mb_list_encoding(),用于返回包含所有 mbstring 支持的编码的数组。(Derick)
- 在 strtotime() 中添加了对更多 ISO8601 日期时间格式的支持。(Moriyoshi)
- 时区说明符(例如“20040301T02:00:00+19:00”)
- 周说明符(例如“1997W021”)
- 将 php.ini 选项 "zend2.implicit_clone" 重命名为 "zend.ze1_compatibility_mode",因为它不仅影响隐式克隆。(Andi, Zeev)
- 覆盖父方法的方法现在需要进行原型检查,并且必须与它们覆盖的方法兼容 - 此检查在兼容模式下被禁用。(Andi, Zeev)
- 修复了 php_ini_scanned_files() 在没有实际解析任何其他 INI 文件时发生的崩溃问题。(Jon)
- 修复了捆绑的 GD 库中的 gdImageFilledRectangle 中的 bug,该 bug 要求 x1 < x2 和 y1 < y2 用于坐标。(Derick)
- 修复了使用 foreach() 和临时对象($obj->method()->a ...)时发生的崩溃问题,其中方法返回一个非引用对象。(Andi, Zeev)
- 修复了阻止显示启动错误的问题。(Marcus)
- 修复了同时启用 SPL 和 SimpleXML 时出现的启动问题。apache 1.3 的双重初始化会导致此问题。(Marcus, Derick)
- 修复了 bug #27606 (表达式必须是可修改的左值编译错误)。(Derick)
- 修复了 bug #27597 (pg_fetch_array 未返回 false)。(Marcus)
- 修复了 bug #27586 (ArrayObject::getIterator 在使用 [] 赋值时崩溃)。(Marcus)
- 修复了 bug #27537 (相互指向的对象导致段错误)。(Dmitry)
- 修复了 bug #27535 (对象释放机制问题)。(Dmitry)
- 修复了 bug #27504 (call_user_function() 中的可见性问题)。(Dmitry)
- 修复了 bug #27457 (处理 strtr() 中的数字索引)。(Dmitry)
- 修复了 bug #27338 (tsrm_virtual_cwd.c 在 win32 上存在内存泄漏)。(Ilia)
- 修复了 bug #27291 (get_browser 错误地匹配 browscap.ini 模式)。(Jay)
- 修复了 bug #27287 (wddx 在反序列化期间导致段错误)。(Moriyoshi)
- 修复了 bug #27263 (session 扩展在反序列化引用值/对象时崩溃)。(Moriyoshi)
- 修复了 bug #27237 (使用 simplexml 导致 apache2 崩溃)。(Rob)
- 修复了 bug #27227 (混合大小写的类名会导致构造函数调用出现致命错误)。(Marcus)
- 修复了 bug #27125 (strval() 无法用于具有 __toString() 的对象)。(Marcus)
- 修复了 bug #27123 (修复了 get_object_vars() 中的 bug 导致的崩溃问题)。(Andi)
- 修复了 bug #26677 (mbstring 使用 IRIX 编译器时出现编译错误)。(K.Kosako <kosako at sofnec dot co dot jp>, Rui, Moriyoshi)
- 修复了 bug #26206 (register_long_arrays 破坏了超级全局变量)。(Zeev)
- 修复了 bug #25724 (argv 和 argc 未定义)。(Zeev)
版本 5.0.0 测试版 4
- 更改了异常,要求它们现在必须继承自内置的 Exception 类。这允许使用通用的 catch(Exception $e) 语句捕获所有异常。(Andi, Zeev)
- 添加了 SPL 扩展。(Marcus, Derick)
- 在 set[raw]cookie() 中添加了对 cookie 名称和 cookie 数据中的无效字符的检查。(Brian)
- 添加了对 SimpleXML 的 ++ 和 +=(以及类似操作)的支持。(Andi, Zeev)
- 添加了对对象重载模块的 ++ 和 +=(以及类似操作)的支持。(Andi, Zeev)
- 在尝试重新分配给 $this 变量时添加了错误消息。(Zeev, Andi)
- 添加了对扩展接口以继承另一个接口的支持。(Zeev)
- 添加了新的 pspell 函数:(Brian)
- pspell_config_dict_dir()
- pspell_config_data_dir()
- 添加了新的 Interbase 函数:(Ard)
- ibase_service_attach() 和 ibase_service_detach()。
- ibase_backup() 和 ibase_restore()。
- ibase_maintain_db()、ibase_db_info() 和 ibase_server_info()。
- 添加了上下文选项 "http"/"request_fulluri",用于在请求中发送整个 URI,这是某些代理所需的格式。(Sara)
- 在 array_keys() 中添加了可选的第三个参数 'strict'。(Andrey)
- 为用户空间流接口添加了 stream_lock() 方法。(Hartmut, Wez)
- 添加了 xsltprocessor->registerPHPFunctions()。(Christian)
- 重新添加了在声明类之前使用类的支持,这与 PHP 4 中的行为一致。这对于使用 PHP 5 功能(如接口)的类无效。(Zeev, Andi)
- 完全重新设计了 SimpleXML 扩展。(Marcus, Rob, Sterling)
- 将捆绑的 SQLite 库升级到 2.8.11 版本。(Ilia, Wez)
- 改进了析构函数的实现,使其在干净关闭时始终调用析构函数。不保证析构的顺序。(Zeev, Andi)
- 重新设计了异常支持。这修复了先前设计中的许多 bug,例如嵌套的 try 语句和重载扩展的问题。(Zeev, Andi)
- 重新设计了克隆,添加了 clone 关键字 (clone $obj),并在调用 __clone() 之前复制所有属性。还允许使用 parent::__clone() 调用父 __clone 函数。(Zeev, Andi)
- 修复了接口在继承和实现接口时检查函数返回引用是否相等的问题。(Andi, Zeev)
- 修复了 foreach() 以尊重属性可见性。(Marcus)
- 修复了 include() 文件中解析错误未停止 PHP 执行的问题。(Ilia)
- 修复了 var_export(),使其正确显示 public、protected 和 private 修饰符。(Derick)
- 修复了 mysqli 中的 longlong 值问题。(Georg)
- 修复了用户定义类的类名大小写保留问题。(Marcus)
- 修复了 bug #27145(在错误消息中打印之前,对私有/受保护的属性名称进行反混淆)。(Ilia)
- 修复了 bug #27103(preg_split('//u') 不正确地将 UTF-8 字符串拆分为字节)。(Moriyoshi)
- 修复了 bug #27042(SPL:SeekableIterator seek() 损坏)。(Marcus)
- 修复了 bug #27008(每个类方法都可以作为静态方法调用)。(Marcus)
- 修复了 bug #26938(exec() 在读取长行时出现问题)。(Ilia, runekl[at]opoint[dot]com)
- 修复了 bug #26947(ext/dom:使用 DomDocument::getElementById() 时崩溃)。(Christian)
- 修复了 bug #26911(从空查询中获取数据时,sqlite 扩展程序崩溃)。(Ilia)
- 修复了 bug #26844(ext/mime_magic:magic 文件验证损坏)。(Jani)
- 修复了 bug #26819(http_build_query() 在 NULL 输出时崩溃)。(Ilia)
- 修复了 bug #26817(http_build_query() 未正确处理私有和受保护的对象属性)。(Ilia)
- 修复了 bug #26815(当使用 Xinclude 时,(DOM) 子节点的 foreach 崩溃)。(Rob)
- 修复了 bug #26796(SQLite 导致其他扩展程序的 *connect() 调用发生崩溃)。(Marcus)
- 修复了 bug #26762(unserialize() 生成小写类名)。(Marcus)
- 修复了 bug #26743(getElementsByTagName 未正常工作)。(Rob)
- 修复了 bug #26736(__autoload 未为父类调用)。(Marcus)
- 修复了 bug #26723(domNode::appendChild() 更改子节点命名空间)。(Rob)
- 修复了 bug #26697(在 __autoload 中调用不存在的类的 class_exists() 会导致段错误)。(Marcus)
- 修复了 bug #26696(switch() 中的字符串索引在多个匹配的情况下发生崩溃)。(Andi)
- 修复了 bug #26695(Reflection API 无法识别大小写混合的类提示)。(Marcus)
- 修复了 bug #26690(使 xsltProcessor->transformToUri 使用流包装器)。(Ilia)
- 修复了 bug #26680(在 mysqli_report_index 中添加了版本检查)。(Georg)
- 修复了 bug #26675(在使用 ArrayAccess 时发生段错误)。(Marcus)
- 修复了 bug #26640(Reflection 类未调用 __autoload())。(Jani)
- 修复了 bug #26543(call_user_func() 对 self、parent 损坏)。(Stanislav)
- 修复了 bug #26077(当 new() 结果未分配且未定义构造函数时发生内存泄漏)。(Stanislav)
- 修复了 bug #26065(嵌套类时发生崩溃)。(Marcus)
- 修复了 bug #25816(不允许在类常量中使用数组)。(Stanislav)
- 修复了 bug #25329(sqlite_create_function 具有方法和对 $this 的引用)。(Marcus)
- 修复了 bug #25038(如果函数抛出异常,call_user_func() 会发出警告)。(Marcus)
- 修复了 bug #24608(在使用数组进行重载时,__set 未触发)。(Stanislav)
- 修复了 bug #24243(启用 browscap 会导致段错误)。(Wez)
版本 5.0.0 Beta 3
- 捆绑了新的 tidy 扩展(John、Wez)
- 将 PCRE 库升级到版本 4.5。(Andrei)
- 放弃了 Windows 95 支持。(Andi)
- 将扩展移至 PECL
- ext/crack(Jani、Derick)
- ext/db(Jani、Derick)
- ext/mcal(Jani、Derick)
- ext/qtdom(Jani、Derick)
- ext/notes(Wez)
- 在 date() 中添加了 'c' 修饰符,用于以 ISO 8601 格式返回日期。(Derick、Manuzhai)
- 在 microtime() 中添加了一个可选参数,用于以浮点数形式获取时间。(Andrey)
- 在 htmlentities() 中添加了对 MacRoman 编码的支持。(Derick、Marcus Bointon)
- 添加了将 PHP 函数作为 XSLT 函数调用的可能性。(Christian)
- 添加了阻止 PHP 在使用输入过滤器支持时注册变量的可能性。(Derick)
- 添加了 iconv 流过滤器(convert.iconv.*)。(Moriyoshi)
- 在 ext/xsl 中添加了 EXSLT 支持。(Christian)
- 为 dba 扩展程序添加了 qdbm 处理程序。(mg at iceni dot pl、Marcus)
- 添加了新函数
- dba_key_split() 用于将 inifile 密钥拆分为数组。(Marcus)
- time_nanosleep() 信号安全睡眠(Magnus、Ilia)
- headers_list()。(Sara)
- php_strip_whitespace()。从脚本中剥离空白和注释。(Ilia)
- php_check_syntax()。检查 PHP 脚本的解析错误。(Ilia)
- image_type_to_extension()。根据图像类型返回扩展名。(Ilia)
- stream_socket_sendto() 和 stream_socket_recvfrom()。(Wez)
- iconv_mime_decode_headers()。(Moriyoshi)
- get_declared_interfaces()。(Andrey、Marcus)
- sqlite_fetch_column_types()。(Ilia)
- 在 http:// 包装器中添加了代理支持。(Sara)
- 在 userstreams 中添加了 rename()、rmdir() 和 mkdir() 支持。(Sara)
- 在 ftp:// 包装器中添加了 rename()、rmdir() 和 mkdir() 支持。(Sara)
- 更改了 rename()、rmdir() 和 mkdir(),使其通过流 API 路由。(Sara)
- 更改了 stat() 及其族,使其通过流 API 路由。(Sara)
- 修复了 Windows 上的 include_once() / require_once(),以尊重文件的大小写不敏感性。(Andi)
- 修复了 get_declared_classes(),使其只返回类。(Andrey、Marcus)
- 修复了 __autoload(),使其保留传递的类名的字母大小写。(Andi)
- 修复了 bug #26615 ()(runekl at opoint dot com、Derick)
- 修复了 bug #26591(在未捕获的情况下,“__autoload 抛出异常”)。(Marcus)
- 修复了 bug #26534(stream_get_meta_data() -> 访问冲突)。(Wez)
- 修复了 bug #26528(HTML 实体未被 xml_parse()/xml_parse_into_struct() 解码)。(Ilia)
- 修复了 bug #26182(对象属性被冗余地创建)。(Andi)
- 修复了 bug #26156(REPLACE_ZVAL_VALUE 对未初始化的基于堆栈的 zval 起作用)。(Moriyoshi)
- 修复了 bug #26083(ext/dom 中的写入支持无法正常工作)。(Ilia)
- 修复了 bug #26072(--disable-libxml 不起作用)。(Jani)
- 修复了 bug #26001(当访问没有属性(NULL 哈希表)的重载对象时,serialize 发生崩溃)。(Wez)
- 修复了 bug #25664(在调用 ITypeInfo 的 Delphi 实现时,COM 发生崩溃)。(Wez)
- 修复了 bug #24837(使用 foreach 时 PPP 的行为不正确)。(Marcus)
- 修复了 bug #24693(允许从脚本内部启用/禁用 session.use_trans_sid)。(Ilia)
- 修复了 bug #24394(序列化交叉引用的对象会导致段错误)。(Moriyoshi)
版本 5.0.0 Beta 2
- 自 beta 1 以来,Zend Engine 2 进行了大量更改
- 添加了迭代器
- 改进了内存管理器
- 添加了 Reflection API
- 删除了不太好用的命名空间支持
- 删除了对常量声明中表达式的支持。
- 您可以在 Zend 目录下的 ZEND_CHANGES 中了解有关大多数更改的信息。
- 改进了 DBX 扩展程序:(Marc)
- 为 dbx_query() 添加了 DBX_RESULT_UNBUFFERED 标志。
- 添加了 dbx_fetch_row()
- 添加了 SQLite 支持。
- 改进了 Interbase 扩展程序:(Ard Biesheuvel)
- 在 ibase_trans() 中添加了对多个数据库的支持
- 在 ibase_query() 中添加了对 CREATE DATABASE、SET TRANSACTION 和 EXECUTE PROCEDURE 语句的支持
- 添加了 ibase_commit_ret() 和 ibase_rollback_ret()
- 添加了 ibase_drop_db()
- 添加了 ibase_gen_id()
- 添加了 ibase_name_result()
- 添加了 ibase_errcode()
- 添加了 ibase_affected_rows() 和 ibase_num_params()
- 添加了 ibase_param_info()
- 添加了 ibase_wait_event()
- 添加了 ibase_set_event_handler() 和 ibase_free_event_handler()
- 添加了新的 COM 扩展程序,集成了 .Net 支持。(Wez)
- 添加了新函数
- setrawcookie()。(Brian)
- pg_version()。(Marcus)
- dbase_get_header_info()。(Zak)
- snmp_read_mib()。(Jani)
- http_build_query()。(Sara)
- ftp_alloc()。(Sara)
- array_udiff()。(Andrey)
- array_udiff_assoc()。(Andrey)
- array_udiff_uassoc()。(Andrey)
- array_diff_uassoc()。(Andrey)
- convert_uuencode()。(Ilia)
- convert_uudecode()。(Ilia)
- substr_compare()。(Ilia)
- pcntl_wait()。(GeorgeS)
- 在 "ftp://" 包装器中添加了 "resume_pos" 上下文选项。(Sara)
- 在 OCIWriteTemporaryLob() 中添加了可选参数,用于指定 LOB 的类型(由 Novicky Marek 提供的补丁)。(Thies)
- 添加了反射 API。(Andrei、George、Timm)
- 更改了 fgetcsv() 中的长度参数,使其成为可选参数。(Moriyoshi)
- 修复了 MacOSX Panther 中的 IPv6 支持。(Dan、Marko)
- 修复了 fgetcsv(),使其能够正确处理国际(非 ASCII)字符。(Moriyoshi)
- 修复了 ext/xml 中 XML 文档内
- 修复了 __construct 和 __clone 的可见性。(Marcus)
- 修复了 bug #26003(fgetcsv() 在空字节上不是二进制安全的)。(Moriyoshi)
- 修复了 bug #25756(SimpleXML 的 validate_schema_file() 损坏)。(Moriyoshi)
- 修复了 bug #25581(getimagesize() 在位图 (os2) 文件上返回不正确的值)。(Marcus)
- 修复了 bug #25494(array_merge*() 允许非数组作为参数)。(Jay)
- 修复了 bug #24766(unpack() 中的结果数组很奇怪)。(Moriyoshi)
- 修复了 bug #24729($obj = new $className; 在 $className 未设置时会导致崩溃)。(Marcus)
- 修复了 bug #24565(无法读取通过 $_REQUEST 接收的数组元素)。(Zeev)
- 修复了 bug #24445(get_parent_class() 返回不同的值)。(Sterling、Stanislav)
- 修复了 bug #24403(preg_replace() 问题:在非对象上下文中使用 $this)。(Zeev)
- 修复了 bug #24399(PEAR DB isError 崩溃 [instanceof_function 错误?])。(Sterling、Marcus)
- 修复了 bug #24396(foreach ($k=>$v),密钥 $k 丢失)。(Zeev)
- 修复了 bug #24279(当未返回值时,__get() 崩溃)。(Ilia)
- 修复了 bug #22367(未定义的变量具有值)。(Zeev)
- 修复了 bug #19859(允许 fast_call_user_function 支持 __call)。(Stanislav)
- 修复了 bug #17997(当 switch() 和引用组合使用时出现警告)。(Zeev)
- 修复了 bug #17988(strtotime 无法解析 postgresql 时间戳)。(Derick)
版本 5.0.0 Beta 1
- 切换到使用 Zend Engine 2,其中包含大量引擎级别的改进。您可以从 http://www.zend.com/engine2/ZendEngine-2.0.pdf(PDF)下载完整概述。
- SQLite (http://www.hwaci.com/sw/sqlite/) 扩展程序现在已捆绑并默认启用。(Wez、Marcus、Tal)
- 由于新的内部 fast_call_user_function() 函数,使用回调的内部函数的速度提高了 40%。(Sterling)
- 彻底改造了 XML 支持(Rob、Sterling、Chregu、Marcus)
- 全新的 Simplexml 扩展程序
- 新的 DOM 扩展程序
- 新的 XSL 扩展程序
- 将旧的 DOM-XML 和 XSLT 扩展程序移至 PECL
- ext/xml 现在可以使用 libxml2 和 expat 来解析 XML
- 删除了捆绑的 expat
- 删除了捆绑的 MySQL 客户端库。(Sterling)
- 新的 php.ini 选项
- "session.hash_function" 和 "session.hash_bits_per_character"。(Sascha)
- "mail.force_extra_paramaters"。(Derick)
- "register_long_arrays". (Zeev)
- 改进流支持:(Wez、Sara、Ilia)
- 提高了 Win32 下 readfile()、fpassthru() 和一些内部流操作的性能。
- stream_socket_client() - 与 fsockopen() 类似,但更强大。
- stream_socket_server() - 创建一个服务器套接字。
- stream_socket_accept() - 接受客户端连接。
- stream_socket_get_name() - 获取套接字的本地或远程名称。
- stream_copy_to_stream()
- stream_get_line() - 读取指定数量的字节,或者直到找到结束字符串。
- 向用户空间流对象添加了上下文属性。
- 为流添加了通用加密接口(支持动态加载 OpenSSL)
- 向 Zend 引擎扫描器添加了轻量级流输入抽象,为所有平台上的 include() 从 PHP 流中获取数据提供统一支持。
- 添加了“string.base64”流过滤器。
- 将 stream_register_wrapper() 重命名为 stream_wrapper_register()。
- 为 opendir()、stat() 和 unlink() 添加了“ftp://”包装器支持。
- 为“http://”fopen 包装器添加了上下文选项“method”、“header”和“content”。
- 改进了 GD 扩展:(Pierre-Alain Joye、Ilia)
- imagefilter() - 对图像应用不同的过滤器。(仅适用于捆绑的 GD 库)
- 抗锯齿绘制支持
- imageantialias() - (去)激活抗锯齿
- imageline() 和 imagepolygon() 抗锯齿支持
- 将 fgetss() 中的长度参数改为可选。(Moriyoshi)
- 更改了 ini 解析器以允许处理带引号的多行值。(Ilia)
- 更改了 get_extension_funcs() 以在指定“zend”作为模块名称时返回内置 Zend 引擎函数的列表。(Ilia)
- 更改了 array_search() 以接受对象作为搜索值。(Moriyoshi)
- 更改了 ext/mcrypt 以要求 libmcrypt 版本 2.5.6 或更高。(Derick)
- 更改了 uniqid() 参数以使其可选并允许任何前缀长度。(Marcus)
- 添加了新的 iconv 函数。(Moriyoshi)
- iconv_strlen()
- iconv_substr()
- iconv_strpos()
- iconv_strrpos()
- iconv_mime_decode()
- iconv_mime_encode()
- 添加了杂项新函数
- ldap_sasl_bind()。([email protected]、Jani)
- imap_getacl()。(Dan、Holger Burbach)
- file_put_contents()。(Sterling)
- proc_nice() - 更改当前进程的优先级。(Ilia)
- pcntl_getpriority() 和 pcntl_setpriority()。(Ilia)
- idate()、date_sunrise() 和 date_sunset()。(Moshe Doron)
- strpbrk() - 在字符串中搜索字符列表。(Ilia)
- get_headers() - 返回指定 URL 的服务器发送的标题。(Ilia)
- str_split() - 根据长度将字符串分解为元素数组。(Ilia)
- array_walk_recursive()。(Ilia)
- array_combine()。(Andrey)
- 向 get_browser() 添加了可选参数以使其返回数组。(Jay)
- 向 openssl_sign() 添加了可选参数以指定哈希算法。([email protected]、Derick)
- 向 sha1()、sha1_file()、md5() 和 md5_file() 添加了可选参数,使其返回二进制数据的摘要。(Michael Bretterklieber、Derick)
- 向 mkdir() 添加了可选参数以使目录创建递归。(Ilia)
- 向 file() 添加了可选参数,使结果数组不包含行尾并跳过空行。(Ilia)
- 添加了新的 range() 功能
- 支持浮点修饰符。(Ilia)
- 检测作为高位和低位传递的字符串内部的数值。(Ilia)
- 正确处理高位 == 低位的情况。(Ilia)
- 添加了可选的步长参数。(Jon)
- 为 expat XML 解析器添加了编码检测功能。(Adam Dickmeiss、Moriyoshi)
- 向 html_entity_decode() 添加了缺少的多字节(Unicode)支持和数字实体支持。(Moriyoshi)
- 向 ext/sockets 添加了 IPv6 支持。(Sara)
- 添加了输入过滤器支持。有关更多信息,请参阅 README.input_filter。(Rasmus)
- 为 str_[i]replace() 添加了替换计数,请参阅 #8218。(Sara)
- 修复了 is_executable() 以使其在 Windows 上也可用。(Shane)
- 修复了 dirname() 和 strip_tags() 以使其对二进制安全。(Moriyoshi)
- 修复了错误 #24098(pathinfo() 中的崩溃)。(Ilia)
- 修复了错误 #21985 和 #22064(各种 mb_send_mail() 问题)。(Moriyoshi)
- 修复了错误 #21600(按引用分配函数调用会更改变量内容)。(Zeev)