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

PHP 5.3.7于2011年8月18日正式发布。

【变更日志】

将捆绑的 SQLite 升级到版本 3.7.7.1。(斯科特)

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

Zend 引擎:

修复了错误#55156(ReflectionClass::getDocComment() 会返回注释,即使该类没有注释)。(费利佩)

修复了错误#55007(上次失败后编译器失败)。(费利佩)

修复了错误#54910(使用未知函数名调用 call_user_func 时崩溃)。(德米特里)

修复了错误#54804(__halt_compiler 和导入的命名空间)。(皮瑞克,费利佩)

修复了错误#54624(class_alias 和类型提示)。(费利佩)

修复了错误#54585(track_errors 导致 segfault)。(德米特里)

修复了错误#54423(来自 dl()'ed 扩展的类不会被破坏)。(托尼,德米特里)

修复了错误#54372(访问从其 __get() 句柄返回的全局对象本身时崩溃)。(德米特里)

修复了错误#54367(使用闭包导致 ArrayAccess 出现问题)。(德米特里)

修复了错误#54358(关闭、使用和引用)。(德米特里)

修复了错误#54262(将值分配给非数组中的维度时崩溃)。(德米特里)

修复了错误#54039(在 lambda 函数中使用静态变量会破坏静态性)。(德米特里)

核:

将 crypt_blowfish 更新到 1.2。(CVE-2011-2483)(太阳能设计师)(更多信息)

当 is_a() 或 is_subclass_of() 的参数不是已知类时,删除了警告。(斯塔斯)

修复了 error_log() 中的崩溃。(费利佩)由 Mateusz Kocielski 报道。

添加了 PHP_MANDIR 常量,告知手册页的安装位置,以及 php-config 的 --man-dir 参数。(汉内斯)

修复了 dtor 内部用于错误处理的崩溃。(伊利亚)

修复了 crypt() 中 overlog salt 的缓冲区溢出问题。(克莱门特·莱西涅,斯塔斯

实现了 FR #54459(范围函数精度)。(亚当)

修复了错误#55399(parse_url() 错误地将 ':' 视为有效路径)。(伊利亚)

修复了错误#55339(Segfault with allow_call_time_pass_reference = Off)。(德米特里)

修复了错误#55295 [新]:windows 上的 popen_ex,修复了可能的堆溢出 (Pierre)

修复了错误#55258(Windows 版本检测错误)。(xiaomao5 at live dot com, Pierre)

修复了错误#55187(当错误结果时,readlink 返回奇怪的字符)。(皮埃尔)

修复了错误#55082(var_export() 无法正确转义属性)。(古斯塔沃)

修复了错误#55014(由于 ctime_r() 使用不当导致编译失败)。(伊利亚)

修复了错误#54939(RFC1867 文件上传文件名中的文件路径注入漏洞)。(Felipe) Krzysztof Kotowicz 报道。(CVE-2011-2202)

修复了错误#54935 php_win_err 可能导致崩溃。(皮埃尔)

修复了错误#54924(assert.* 在请求关闭时不会被重置)。(伊利亚)

修复了错误#54895(修复了使用旧 gcc 版本编译而不需要 membar_producer 宏)。(heimpold dot de 的 mhei)

修复了错误#54866(对 realpath_cache_size 的计算不正确)。(达斯汀·沃德)

修复了错误#54723(getimagesize() 不检查完整的 ico 签名)。(斯科特)

修复了错误#54721(Windows、BSD 和 Linux 上的不同哈希值在错误的 Salt 大小上)。(皮埃尔,irj dot ru 的操作系统)

修复了错误#54580(通过 php_admin_value 设置 browscap ini 指令时的 get_browser() 分段错误)。(古斯塔沃)

修复了错误#54332(zend_mm_check_ptr 崩溃 // 堆损坏)。(德米特里)

修复了错误#54305(gc_remove_zval_from_buffer 中的崩溃)。(德米特里)

修复了错误#54238(在 substr_replace() 中使用后释放)。(斯塔斯) (CVE-2011-1148)

修复了错误#54204(无法在 php.ini 中使用 PATH 部分设置值)。(皮埃尔)

修复了错误#54180(当 ? 在片段中时,parse_url() 错误地解析路径)。(tomas dot brastavicius atquantum dot lt, Pierrick)

修复了错误#54137(file_get_contents POST 请求发送额外的换行符)。(mertinkat dot net 的莫里斯-php,伊利亚)

修复了错误#53848(fgetcsv() 忽略字段开头的空格)。(伊利亚)

错误的替代修复修复了错误#52550,应用于 round() 函数(有符号溢出),因为旧修复影响了幅度小于 0 的数字的算法。(Gustavo)

修复了错误#53727(is_subclass_of 与接口的行为不一致)(Ralph Schindler,Dmitry)

修复了错误#52935(user_error_handler 中的调用退出导致流相关核心)。(古斯塔沃)

修复了错误#51997(SEEK_CUR 值为 0,返回警告)。(伊利亚)

修复了错误#50816(在数组定义中使用类常量失败)。(皮尔里克,德米特里)

修复了错误#50363(convert.quoted-printable-decode 过滤器中的无效解析)。(curecanti dot org 的 slusarz)

修复了错误#48465(在 Windows 上使用 TMPDIR 时 sys_get_temp_dir() 可能不一致)。(皮埃尔)

Apache2 处理程序 SAPI:

修复了错误#54529(SAPI 在 apache_config.c:197 上崩溃)。(在riastudio dot fr的hebergement)

命令行接口:

修复了错误#52496(选项解析失败时退出代码为零)。(伊利亚)

卷曲扩展:

添加了 ini 选项 curl.cainfo(支持自定义证书数据库)。(皮埃尔)

添加了 CURLINFO_REDIRECT_URL 支持。(丹尼尔·斯坦伯格,皮埃尔)

添加了对 CURLOPT_MAX_RECV_SPEED_LARGE 和 CURLOPT_MAX_SEND_SPEED_LARGE 的支持。FR 修复了错误#51815。(皮里克)

日期时间扩展:

修复了使用 date_diff() 时 DateTime 对象发生更改的错误。(德里克)

修复了错误#54340(DateTime::add() 方法错误)。(亚当)

修复了错误#54316(DateTime::createFromFormat 无法正确处理尾随 '|')。(亚当)

修复了错误#54283(新的 DatePeriod(NULL) 导致崩溃)。(费利佩)

修复了错误#51819(时区名称中的大小写差异导致未捕获的异常和致命错误)。(汉内斯)

DBA 扩展:

禁止使用 Berkeley DB 5.2 打开不存在的文件时发出警告 (Chris Jones)

修复了错误#54242(如果密钥已存在,则 dba_insert 返回 true)。(费利佩)

Exif 扩展:

修复了错误#54121(错误消息格式字符串拼写错误)。(伊利亚)

文件信息扩展名:

修复了错误#54934(HP-UX 11.11 中未解决的符号 strtoull)。(费利佩)

过滤器扩展:

向 filter_var_array() 和 filter_input_array() 函数添加了第三个参数,允许禁用添加空元素。(伊利亚)

修复了错误#53037(未实现 FILTER_FLAG_EMPTY_STRING_NULL)。(伊利亚)

跨库扩展:

修复了错误#54269(短异常消息缓冲区导致崩溃)。(费利佩)

国际扩展:

实施 FR #54561(公开 ICU 版本信息)。(大卫·祖尔克,伊利亚)

已实现 FR #54540(在禁用回退时允许加载任意资源包)。(大卫·祖尔克,斯塔斯)

Imap 扩展:

修复了错误#55313(指定参数时未设置重试次数)。(kevin 在 kevinlocke 点名)

json 扩展名:

修复了错误#54484(json_decode 中的空字符串不会重置 json_last_error())。(伊利亚)

LDAP 扩展:

修复了错误#53339(使用 gcc 4.5 和 DSO 库编译时无法构建)。(克林特拜鲁姆,拉斐尔)

libxml 扩展名:

修复了错误#54601(删除 doctype 节点段错误)。(汉内斯)

修复了错误#54440(libxml 扩展忽略默认上下文)。(古斯塔沃)

mbstring 扩展名:

修复了错误#54494(mb_substr() 错误处理 UTF-32LE 和 UCS-2LE)。(古斯塔沃)

MCrypt 扩展:

当没有获取足够的数据时,将 mcrypt_create_iv 中的 E_ERROR 更改为 E_WARNING (Windows)。(皮埃尔)

修复了错误#55169(mcrypt_create_iv 总是无法在 Windows 上收集足够的随机数据)。(皮埃尔)

MySQL 改进的扩展:

修正错误修正错误#54221(在多查询中使用mysqli::get_warnings segfault)。(安德烈)

mysqlnd

修复了使用超过 28,000 个绑定参数时的崩溃问题。解决方法是将 mysqlnd.net_cmd_buffer_size 设置为至少 9000。(Andrey)

修复了错误#54674 mysqlnd valid_sjis_(head|tail) 使用了无效的运算符和范围)。(megabbs dot com 的 nihen,Andrey)

MySQLi 扩展:

修复了错误#55283(mysqli_ssl_set 设置的 SSL 选项忽略了 MySQLi 持久连接)。(安德烈)

OpenSSL 扩展:

openssl_encrypt()/openssl_decrypt() 将可变长度密码的密钥截断为算法的 OpenSSL 默认值。(斯科特)

在阻塞 SSL 套接字时,尽可能尊重超时选项。(斯科特)

修复了错误#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 注释中使用单引号解析错误)。(费利佩)

修复了错误#52104(无论 ATTR_ERRMODE 设置如何,bindColumn 都会创建警告)。(伊利亚)

PDO DBlib 驱动程序:

修复了错误#54329(MSSql 扩展内存泄漏)。(gmail dot com上的dotslashpok)

修复了错误#54167(PDO_DBLIB 在 SQLUNIQUE 字段上返回 null)。(在 hodginsmedia dot com 的 mjh,Felipe)

PDO ODBC 驱动程序:

修复了 64 位中的数据类型使用。(gmail dot com 的 leocsilva)

PDO MySQL 驱动程序:

修复了错误#54644(php_pdo_mysql_int.h 中的路径错误)。(托尼,约翰内斯)

修复了错误#53782(foreach 抛出无关异常)。(约翰内斯,安德烈)

已实现 FR #48587(MySQL PDO 驱动程序不支持 SSL 连接)。(抢)

PDO PostgreSQL 驱动程序:

修复了错误#54318(在 PDO pgsql 配置中使用了不可移植的 grep 选项)。(bwalton atartsci dot utoronto dot ca)

PDO Oracle 驱动程序:

修复了错误#44989(pdo-oci 仍然不支持 64 位 Oracle RPM)。(tresgeek dot net 的 jbnance)

法尔扩展:

修复了错误#54395(使用错误参数调用时 Phar::mount() 崩溃)。(费利佩)

PHP-FPM SAPI:

已实现 FR #54499(FPM ping 和 status_path 应处理 HEAD 请求)。(胖的)

已实现 FR #54172(覆盖 php-fpm 的 pid 文件位置)。(胖的)

修复了 ping 和状态页面缺少的 Expires 和 Cache-Control 标头。(胖的)

修复了内存泄漏。(fat) 由 Giovanni Giacobbi 报告并修复。

修复了使用 -tt 调用 fpm 时 log_level 的错误值。(胖的)

向状态页面添加了 xml 格式。(胖的)

删除了子进程写入的日志中的时间戳。(胖的)

修复了 FPM 启动时因 fpm_resources_prepare() 错误而退出的问题。(胖的)

在全局配置设置中添加了 master rlimit_files 和 rlimit_core。(胖的)

删除了由子进程编写的调试日志中的 pid。(胖的)

添加了自定义访问日志(也为每个请求添加了 %CPU 和内存测量)。(胖的)

添加了一个真实的记分牌和对状态页面的一些改进。(胖的)

反射扩展:

修复了错误#54347(reflection_extension 不小写模块函数名称)。(Felipe, laruence at yahoo dot com dot cn)

SOAP 扩展:

修复了错误#55323(当 XSD_TYPEKIND_EXTENSION 包含自身时,SoapClient 分段错误)。(德米特里)

修复了错误#54312(soap_version 逻辑错误)。(汤姆在 samplonius dot org)

套接字扩展:

修复了 socket_connect() 中的堆栈缓冲区溢出。(CVE-2011-1938) 由 Mateusz Kocielski、Marek Kroemeke 和 Filip Palian 发现。(费利佩)

更改了 socket_set_block() 和 socket_set_nonblock() 以便它们在错误时发出警告。(古斯塔沃)

修复了错误#51958(socket_accept() 在 IPv6 服务器套接字上失败)。(古斯塔沃)

声压级扩展:

修复了错误#54971(使用 iterator_to_array 和 use_keys 时的错误结果)。(皮里克)

修复了错误#54970(SplFixedArray::setSize() 未调整大小)。(费利佩)

修复了错误#54609(SplFixedArray 的某些实现导致硬崩溃)。(费利佩)

修复了错误#54384(当用户空间类不调用 paren 构造函数时,双迭代器、GlobIterator、SplFileObject 和 SplTempFileObject 崩溃)。(古斯塔沃)

修复了错误#54292(错误的参数导致 SplFileObject::__construct() 中的崩溃)。(费利佩)

修复了错误#54291(为以 \0 开头的目录名称迭代 DirectoryIterator 时崩溃)。(古斯塔沃)

修复了错误#54281(未初始化的 RecursiveIteratorIterator 崩溃)。(费利佩)

流:

修复了错误#54946(stream_get_contents 无限循环)。(汉内斯)

修复了错误#54623(关闭套接字副本后写入持久套接字时的段错误)。(古斯塔沃)

修复了错误#54681(addGlob() 在无效标志上崩溃)。(费利佩)

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

您已成功复制微信号

leishi010

打开微信添加好友?

确定