知识专栏
多方位、多角度、深度解读您所关心的问题

PHP 5.3.2于2010年3月4日正式发布。

【变更日志】

安全修复

改进的 LCG 熵。(拉斯穆斯,萨米·卡姆卡)

当目录路径不以 / 结尾时,修复了 tempnam() 中的安全模式验证。(马丁詹森)

修复了 Grzegorz Stachowiak 识别的会话扩展中可能存在的 open_basedir/safe_mode 绕过。(伊利亚)

将捆绑的 sqlite 升级到版本 3.6.22。(伊利亚)

将捆绑的 libmagic 升级到 5.03 版。(米科)

将捆绑的 PCRE 升级到版本 8.00。(斯科特)

将时区数据库更新至版本 2010.3。(德里克)

改进的 LCG 熵。(拉斯穆斯,萨米·卡姆卡)

改进了对边缘情况的 crypt 支持(UFC 兼容性)。(太阳能设计师,乔伊,皮埃尔)

将 gmp_strval() 更改为使用 2 到 62 和 -2 到 -36 的完整范围。FR #50283(大卫·索里亚·帕拉)

更改了“post_max_size” php.ini 指令,通过将其设置为 0 来允许无限的帖子大小。(Rasmus)

更改了 tidyNode 类以禁止手动创建节点。(皮里克)

删除了在关机和/或流关闭时发生的自动文件描述符解锁(在所有操作系统上)。(托尼,伊利亚)

添加了 libpng 1.4.0 支持。(皮埃尔)

为 imap_open 添加了对 DISABLE_AUTHENTICATOR 的支持。(皮埃尔)

为 FILTER_VALIDATE_URL 中的 HTTP url 添加了缺少的主机验证。(伊利亚)

添加了 stream_resolve_include_path()。(米科)

为 imap_append 添加了 INTERNALDATE 支持。(mailtrust dot com 的昵称)

向 php 的 crypt 添加了对 SHA-256 和 SHA-512 的支持。(皮埃尔)

添加了 realpath_cache_size() 和 realpath_cache_get() 函数。(斯塔斯)

向过滤器扩展添加了 FILTER_FLAG_STRIP_BACKTICK 选项。(伊利亚)

为 $_SESSION 添加了对中断损坏的保护并改进了“session.save_path”检查。(斯塔斯)

添加了 LIBXML_PARSEHUGE 常量以在使用 libxml2.7.3+ 时覆盖单个文本节点的最大文本大小。(卡勒)

添加了 ReflectionMethod::setAccessible() 用于通过 Reflection API 调用非公共方法。(塞巴斯蒂安)

为 intl 扩展添加了 Collator::getSortKey。(斯塔斯)

添加了对 CURLOPT_POSTREDIR 的支持。FR #49571。(斯里拉姆·纳塔拉詹)

添加了对 CURLOPT_CERTINFO 的支持。FR #49253。(Linus Nielsen Feltzing <linus@haxx.se>)

在 openssl 中添加了客户端服务器名称指示支持。(阿诺)

改进了错误#50006(由 uksort() 引起的段错误)的修复。(斯塔斯)

修复了发送恰好 16777214 字节长的查询时 mysqlnd 挂起的问题。(安德烈)

修复了 mysqlnd 中 5 字节 BIT 序列的错误解码。(安德烈)

在使用 message_type 3 时,将 error_log() 修复为二进制安全。 (Jani)

修复了禁用超时时不必要的 setitimer 调用。(阿文德·斯里尼瓦桑)

修复了在 Windows 上发生错误时扩展加载中的内存泄漏。(皮埃尔)

当目录路径不以 / 结尾时,修复了 tempnam() 中的安全模式验证。(马丁詹森)

修复了 Grzegorz Stachowiak 识别的会话扩展中可能的 open_basedir/safe_mode 绕过。(伊利亚)

修复了在 php 启动期间引发错误/警告时可能发生的崩溃。(皮埃尔)

修复了与符号链接或无效路径一起使用时在 Windows 上重命名可能出现的不良行为。(皮埃尔)

修复了 Windows 上 stderr 的错误输出。(皮埃尔)

修复了 Windows 上 is_writable/readable/etc 中的内存泄漏。(皮埃尔)

修复了 Windows 上 ACL 函数中的内存泄漏。(皮埃尔)

修复了 Windows 上 realpath 缓存中的内存泄漏。(皮埃尔)

修复了 zip_close 中的内存泄漏。(皮埃尔)

修复了 crypt 对“设置”字符串的河豚完整性检查,以拒绝编码为 36 到 39 的迭代计数。(太阳能设计师,乔伊,皮埃尔)

修复了错误#51059(给出无效盐时地穴崩溃)。(皮埃尔)

修复了错误#50952(允许在 php.ini 文件中解析的常量中使用下划线 _)。(贾尼)

修复了错误#50940(Apache SAPI 中的自定义内容长度设置不正确)。(布赖恩法兰西,拉斯穆斯)

修复了错误#50930(带有古老 gcc/glibc 版本的 php_date.c 补丁的错误日期)。(德里克)

修复了错误#50907(X-PHP-Originating-Script 在 *NIX 中添加了两个新行)。(伊利亚)

修复了错误#50859(由于不推荐使用 md2,openssl 1.0 构建失败)。(伊利亚,汉诺在 hboeck dot de)

修复了错误#50847(strip_tags() 删除所有大于 1023 字节长的标签)。(伊利亚)

修复了错误#50829(php.ini 指令 pdo_mysql.default_socket 被忽略)。(伊利亚)

修复了错误#50832(HTTP fopen 包装器不支持无密码 HTTP 身份验证)。(贾尼)

修复了错误#50787(stream_set_write_buffer() 对套接字流没有影响)。(来自 optilian dot com 的 vnegrier,Ilia)

修复了错误#50761(xmlrpc 扩展中的 system.multiCall 崩溃)。(伊利亚,gmail dot com 的 hiroaki dot kawai)

修复了错误#50756(CURLOPT_FTP_SKIP_PASV_IP 不存在)。(斯里拉姆)

修复了错误#50732(exec() 将单字节两次添加到 $output 数组)。(伊利亚)

修复了错误#50728(所有 PDOExceptions 将“代码”属性硬编码为 0)。(乔伊,伊利亚)

修复了错误#50723(垃圾收集器中的错误导致崩溃)。(德米特里)

修复了错误#50690(当值只有一个字符时,putenv 不设置 ENV)。(皮埃尔)

修复了错误#50680(strtotime() 不支持第八个序数)。(伊利亚)

修复了错误#50661(DOMDocument::loadXML 不允许 UTF-16)。(抢)

修复了错误#50657(使用空(零字节)HTTP 源的 copy() 成功但返回 false)。(伊利亚)

修复了错误#50632(如果变量不存在,filter_input() 不会返回默认值)。(伊利亚)

修复了错误#50576(XML_OPTION_SKIP_TAGSTART 选项无效)。(皮里克)

修复了错误#50558(扩展整洁时损坏的对象模型)。(皮里克)

修复了错误#50540(运行 ldap_next_reference 测试用例时崩溃)。(斯里拉姆)

修复了错误#50519(使用 set_error_handler 和 DomDocument 时垃圾收集中的段错误)。(德米特里)

修复了错误#50508(编译失败:冲突的 HEADER 类型声明)。(贾尼)

修复了错误#50496(<stdbool.h> 的使用仅在 c99 编译环境中有效。(Sriram)

修复了错误#50464(声明编码在包含的文件中不起作用)。(费利佩)

修复了错误#50458(PDO::FETCH_FUNC 因闭包而失败)。(费利佩,皮埃里克)

修复了错误#50445(来自 Solaris 64 位的 PDO-ODBC 存储过程调用导致 seg 错误)。(yahoo dot com 的 davbrown4,Felipe)

修复了错误#50416(PROCEDURE db.myproc 无法在给定的上下文中返回结果集)。(安德烈)

修复了错误#50394(引用参数在 __call 中转换为值)。(斯塔斯)

修复了错误#50351(性能回归处理对象,5.3 比 5.2 慢十倍)。(德米特里)

修复了错误#50392(date_create_from_format() 对 'u' 格式字符强制使用 6 位数字)。(伊利亚)

修复了错误#50345(在某些 Solaris 版本上未正确检测到 nanosleep)。(贾尼)

修复了错误#50340(php.ini 解析器不允许 ini 键中有空格)。(贾尼)

修复了错误#50334(crypt 忽略 sha512 前缀)。(皮埃尔)

修复了错误#50323(允许在值中使用 ; 通过 ;; 在 PDO DSN 中)。(伊利亚,皮埃里克)

修复了错误#50285(xmlrpc 不保留编码索引数组中的键)。(费利佩)

修复了错误#50282(xmlrpc_encode_request() 在调用函数中将对象更改为数组)。(费利佩)

修复了错误#50267(get_browser(null) 不使用 HTTP_USER_AGENT)。(贾尼)

修复了错误#50266(llab 的类型冲突)。(贾尼)

修复了错误#50261(使用 call_user_func() 调用父构造函数时崩溃)。(德米特里)

修复了错误#50255(isset() 和 empty() 默默地将数组转换为对象)。(费利佩)

修复了错误#50240(如果 pdo_mysql.default_socket 为空,则不应使用 php.ini 中的 pdo_mysql.default_socket)。(来自 gmail dot com 的 foutrelis,Ilia)

修复了错误#50231(启用 mysqlnd 时忽略使用 --with-mysql-sock 传递的套接字路径)。(贾尼)

修复了错误#50219(重定向 url 上的肥皂调用分段错误)。(皮里克)

修复了错误#50212(ldap_get_option() 与 LDAP_OPT_NETWORK_TIMEOUT 一起崩溃)。(Ilia, shigeru_kitazaki at cybozu dot co dot jp)

修复了错误#50209(使用 libedit 编译时找不到 readline.h)。(redhat dot com 的 tcallawa)

修复了错误#50207(在 64 位 Linux 上连接非常大的字符串时出现分段错误)。(伊利亚)

修复了错误#50196(当源不是文件时,stream_copy_to_stream() 会产生警告)。(斯塔斯)

修复了错误#50195(当表名包含架构时,pg_copy_to() 失败。(Ilia)

修复了错误#50185(当没有错误时,ldap_get_entries() 返回 false 而不是空数组)。(贾尼)

修复了错误#50174(不正确匹配的 docComment)。(费利佩)

修复了错误#50168(FastCGI 失败并在 HEAD 请求不存在的文件时出现错误错误)。(德米特里)

修复了错误#50162(从 Oracle 数据库获取时间戳列时内存泄漏)。(费利佩)

修复了错误#50159(符号链接文件中的工作目录错误)。(德米特里)

修复了错误#50158(FILTER_VALIDATE_EMAIL 失败,有效地址包含 = 或?)。(皮里克)

修复了错误#50152(ReflectionClass::hasProperty 的行为类似于 isset() 而不是 property_exists)。(费利佩)

修复了错误#50146(property_exists:闭包对象不能有属性)。(费利佩)

修复了错误#50145(运行 bug35634.phpt 时崩溃)。(费利佩)

修复了错误#50140(使用默认编译选项,nsapi 无法解析 php 符号)。(乌韦·辛德勒)

修复了错误#50087(NSAPI 性能改进)。(乌韦·辛德勒)

修复了错误#50073(当 ? 在片段中时 parse_url() 不正确)。(伊利亚)

修复了错误#50023(pdo_mysql 不使用 PHP_MYSQL_UNIX_SOCK_ADDR)。(伊利亚)

修复了错误#50005(通过反射修改的异常对象引发分段错误)。(费利佩)

修复了错误#49990(有关安全级别的 SNMP3 警告消息打印了两次)。(贾尼)

修复了错误#49985(pdo_pgsql prepare() 重用之前中止的事务)。(Ben dot pineau at gmail dot com,Ilia,Matteo)

修复了错误#49938(Phar::isBuffering() 返回反转值)。(格雷格)

修复了错误#49936(php_stream_context_get_option() 中的 ftp 流崩溃)。(皮里克)

修复了错误#49921(Curl 上传功能已更改)。(伊利亚)

修复了错误#49866(对字符串偏移量进行引用会使 PHP 崩溃)。(德米特里)

修复了错误#49855(import_request_variables() 始终返回 NULL)。(Ilia, sjoerd at php dot net)

修复了错误#49851、#50451(http 包装器在 1024 字符长的标头上中断)。(伊利亚)

修复了错误#49800(SimpleXML 允许 (un)serialize() 调用而不发出警告)。(伊利亚,wp-sa dot pl 的 wmeler)

修复了错误#49719(ReflectionClass::hasProperty 为基类中的私有属性返回 true)。(费利佩)

修复了错误#49677(ini 解析器在 apache2 和使用 ${something} ini 变量时崩溃)。(贾尼)

修复了错误#49660(libxml 2.7.3+ 将文本节点限制为 10MB)。(费利佩)

修复了错误#49647(DOMUserData 不存在)。(抢)

修复了错误#49600(imageTTFText 文本右移)。(阿部武)

修复了错误#49585(date_format 缓冲区对于 >4 位年份不够长)。(德里克,亚当)

修复了错误#49560(oci8:使用 LOB 会导致 PHP 关闭缓慢)。(甲骨文公司)

修复了错误#49521(PDO fetchObject 在调用构造函数之前设置值)。(皮里克)

修复了错误#49472(可以覆盖接口中定义的常量)。(费利佩)

修复了错误#49463(setAttributeNS 无法设置默认命名空间)。(抢)

修复了错误#49244(浮点 NaN 导致垃圾字符)。(Sjoerd)

修复了错误#49224(由于 AIX 系统上的旧 DNS 功能导致编译错误)。(斯科特)

修复了错误#49174(扩展 PDOStatement 并尝试设置 queryString 属性时崩溃)。(费利佩)

修复了错误#48811(PATH 部分中的指令不会应用于子目录)。(补丁提供:swin dot edu dot au 的 ct)

修复了错误#48590(SoapClient 不支持 max_redirects)。(斯里拉姆)

修复了错误#48190(内容类型参数“边界”在 HTTP 上传中不区分大小写)。(伊利亚)

修复了错误#47848(importNode 不保留属性命名空间)。(抢)

修复了错误#47409(包含单词“this”的数组的提取()问题)。(伊利亚,在 gmail dot com 上的 chrisstocktonaz)

修复了错误#47281($php_errormsg 的字符大小受到限制)(Oracle 公司)

修复了错误#46478(htmlentities() 对字符实体引用使用过时的映射表)。(森吉)

修复了错误#45599(strip_tags() 会截断具有无效属性的字符串的其余部分)。(伊利亚,赫拉德克)

修复了错误#45120(PDOStatement->execute() 对同一语句返回 true,然后返回 false)。(皮里克)

修复了错误#44827(define() 允许 :: 在常量名称中)。(伊利亚)

修复了错误#44098(imap_utf8() 仅返回大写字母)。(steffen at dislabs dot de, Pierre)

修复了错误#34852(使用 oracle 提供的 odbc 驱动程序在 odbc_exec() 中失败)。(trivadis dot com 的 tim dot tassonis)

猜您还想看: php
赞一下
--
踩一脚
--

您已成功复制微信号

leishi010

打开微信添加好友?

确定