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

PHP 5.3.1于2009年11月19日正式发布。

【变更日志】

安全修复

添加了“max_file_uploads”INI 指令,可以将每个请求的文件上传数量默认限制为 20,以防止可能的 DOS 通过临时文件耗尽。(伊利亚)

添加了围绕 exif 处理的缺失完整性检查。(伊利亚)

修复了 tempnam() 中的安全模式绕过。(拉斯穆斯)

修复了 posix_mkfifo() 中的 open_basedir 绕过。(拉斯穆斯)

修复了错误#50063(safe_mode_include_dir 失败)。(约翰内斯,elmerot dot se 的基督徒)

当 json_encode() 检测到无效的 UTF-8 序列时添加了错误常量。(斯科特)

在 Windows 上添加了对线程安全 SAPI(例如 Apache2)的 ACL 的支持,并修复了它对 NTS 的支持。(皮埃尔)

将捆绑的 sqlite 升级到版本 3.6.19。(斯科特)

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

修复了在给出无效类型库时 com_print_typeinfo 崩溃的问题。(皮埃尔)

修复了 Grzegorz Stachowiak 识别的 tempnam() 中的安全模式绕过。(拉斯穆斯)

修复了 Grzegorz Stachowiak 识别的 posix_mkfifo() 中的 open_basedir 绕过。(拉斯穆斯)

修复了 php_openssl_apply_verification_policy 中的证书验证(Ryan Sleevi,Ilia)

修复了使用反射调用时 SQLiteDatabase::ArrayQuery() 和 SQLiteDatabase::SingleQuery() 崩溃的问题。(费利佩)

修复了通过反射实例化 PDORow 和 PDOStatement 时的崩溃。(费利佩)

修复了 imagecolortransparent 中颜色索引的完整性检查。(皮埃尔)

修复了在 Windows 上使用挂载点时的 scandir/readdir。(皮埃尔)

修复了 zlib.deflate 压缩过滤器以实际接受级别参数。(贾尼)

修复了 Windows 上的 popen/exec(和相关函数)中的错误泄漏。(皮埃尔)

修复了 Windows 上实际路径缓存中符号链接目录可能出现的错误缓存。(皮埃尔)

修复了 Windows 上 stat 相关函数中的 atime 和 mtime。(皮埃尔)

修复了 spl_autoload_unregister/spl_autoload_functions wrt。闭包和函子。(克里斯蒂安·塞勒)

修复了“mail.log”ini 指令的 open_basedir 规避。(马克西米利安·阿尔西莫维奇,斯塔斯)

修复了 ext/phar 中 zip 档案的签名生成/验证。(格雷格)

修复了 stream_is_local() 中的内存泄漏。(费利佩,托尼)

修复了 mime_content_type() 中的 BC 中断,删除了内容编码。(斯科特)

将 ini 文件指令 [PATH=](在 Win32 上)和 [HOST=](全部)更改为不区分大小写(garretts)

将 shebang 线检查恢复到 CGI sapi(不再由扫描仪检查)。(贾尼)

改进 Windows 上 realpath 的符号、挂载卷和连接支持。(皮埃尔)

改进了 Windows 上的 readlink,禁止 \??\ 并仅使用驱动器语法。(皮埃尔)

改进了 Windows 上的 dns_get_record() AAAA 支持。安装支持 IPv6 时始终可用,格式现在与 unix 上相同。(皮埃尔)

改进了 OSX 上的 DNS 功能以使用更新的 API,还使用其他平台上可用的 Bind 9 API。(斯科特)

改进了 OSX 上的共享扩展加载以使用标准 Unix dlopen() API。(斯科特)

修复了错误#50063(safe_mode_include_dir 失败)。(约翰内斯,elmerot dot se 的基督徒)

修复了错误#50052(Windows 和 Linux 上的不同哈希值在错误的 Salt 大小上)。(皮埃尔)

修复了错误#49910(不支持 ././@LongLink 用于 phar tar 支持中的长文件名)。(格雷格)

修复了错误#49908(在未定义接口时引发 __autoload 崩溃异常)。(费利佩)

修复了错误#49847(给定输出行 >4095 字节,exec() 无法在第二个参数内返回数据)。(伊利亚)

修复了错误#49809(time_sleep_until() 在 OpenSolaris 上不可用)。(贾尼)

修复了错误# 49757(long2ip() 可能在多线程应用程序中返回错误值)。(伊利亚,弗洛里安·安德里亚施)

修复了错误#49738(在 mcrypt_generic_deinit 崩溃后调用 mcrypt)。(斯里拉姆·纳塔拉詹)

修复了错误#49732(在时间戳转换失败时使用 fileinfo 时崩溃)。(皮埃尔)

修复了错误#49698(strnatcasecmp() 中的意外更改)。(拉斯穆斯)

修复了错误#49630(缺少 imap_listscan 函数)。(费利佩)

修复了错误#49572(使用 C++ 样式注释会导致构建失败)。(斯里拉姆·纳塔拉詹)

修复了错误#49531(CURLOPT_INFILESIZE 有时会导致警告“无法设置 CURLPROTO_FILE”)。(费利佩)

修复了错误#49517(cURL 的 CURLOPT_FILE 防止文件在 fclose 后被删除)。(伊利亚)

修复了错误#49470(FILTER_SANITIZE_EMAIL 允许使用不允许的字符)。(伊利亚)

修复了错误#49447(php 引擎需要正确检查 Windows 上的套接字 API 返回状态)。(斯里拉姆·纳塔拉詹)

修复了错误#49391(ldap.c 利用已弃用的 ldap_modify_s)。(伊利亚)

修复了错误#49361(wordwrap() 在行尾边界错误地换行)。(Ilia,在 mail dot ru 编码)

修复了错误#49372(php_curl_option_curl 中的段错误)。(皮埃尔)

修复了错误#49306(内部 pdo_mysql 默认套接字设置被忽略)。(伊利亚)

修复了错误#49289(bcmath 模块无法使用 phpize configure 进行编译)。(贾尼)

修复了错误#49286(php://input (php_stream_input_read) 已损坏)。(贾尼)

修复了错误#49269(在 foreach 声明中使用时,迭代器对象上的三元运算符失败)。(艾蒂安,德米特里)

修复了错误#49236(缺少 PHP_SUBST(PDO_MYSQL_SHARED_LIBADD))。(贾尼)

修复了错误#49223(使用 get_defined_constants 不一致)。(加勒特)

修复了错误#49193(gd_compact 中的 gdJpegGetVersionString() 标识了声明中的错误类型)。(伊利亚)

修复了错误#49183(dns_get_record 不返回 NAPTR 记录)。(皮埃尔)

修复了错误#49144(从不同主机导入模式会传输原始身份验证详细信息)。(德米特里)

修复了错误#49142(从 __tostring() 引发异常时崩溃)。(大卫·索里亚·帕拉)

修复了错误#49986(Windows 包上缺少 ICU DLL)。(皮埃尔)

修复了错误#49132(posix_times 返回 false 而没有错误)。(gunnu 的 phpbugs 点在我们身上)

修复了错误#49125(dba_exists C 代码中的错误)。(斯坦福点教育的jdornan)

修复了错误#49122(使用 --with-mysqli 和 MySQL 6.0 编译时对 mysqlnd_stmt_next_result 的未定义引用)。(贾尼)

修复了错误#49108(第二个 scan_dir 产生段错误)。(费利佩)

修复了错误#49098(mysqli 段错误错误)。(拉斯穆斯)

修复了错误#49095(proc_get_status['exitcode'] 在 win32 上失败)。(费利佩)

修复了错误#49092(ReflectionFunction 无法使用完全限定名称空间中的函数)。(卡勒,贾尼)

修复了错误#49074(可以使用反射修改私有类静态字段)。(贾尼)

修复了错误#49072(对于 zip 中的损坏文件,feof 永远不会返回 true)。(皮埃尔)

修复了错误#49065(“disable_functions”php.ini 选项在 Zend 扩展上不起作用)。(斯塔斯)

修复了错误#49064(--enable-session=shared 不起作用:未定义符号:php_url_scanner_reset_vars)。(贾尼)

修复了错误#49056(使用非 ASCII 字符串作为选项键时 5.3.0 中的 parse_ini_file() 回归)。(贾尼)

修复了错误#49052(使用 --with-curlwrappers 时过早释放上下文选项标头)。(贾尼)

修复了错误#49047(函数 touch() 在 Windows 上的目录上失败)。(皮埃尔)

修复了错误#49032(通过引用传递的 SplFileObject::fscanf() 变量)。(贾尼)

修复了错误#49027(使用 mysqlnd 时 mysqli_options() 不起作用)。(安德烈)

修复了错误#49026(proc_open() 可以绕过 safe_mode_protected_env_vars 限制)。(伊利亚)

修复了错误#49012(phar tar 签名算法在 getSignature() 调用中报告为未知 (0))。(格雷格)

修复了错误#49020(phar 误解了 ustar 长文件名标准)。(格雷格)

修复了错误#49018(phar tar 存储长文件名,前缀/名称反转)。(格雷格)

修复了错误#49014(在一个块中提供超过 8192 个字节时,去块过滤器损坏)。(andreas dot streichart at globalpark dot com, Ilia)

修复了错误#49000(交互模式下的 PHP CLI (php -a) 在包含函数中的文件时崩溃)。(斯塔斯)

修复了错误#48994(zlib.output_compression 在设置为字符串值时不输出 HTTP 标头)。(贾尼)

修复了错误#48980(使用 pdo_firebird 编译时崩溃)。(费利佩)

修复了错误#48962(cURL 不上传具有指定文件名的文件)。(伊利亚)

修复了错误#48929(当“header”上下文选项是数组时,HTTP 标头后出现双 \r\n)。(大卫·祖尔克)

修复了错误#48913(pdo_odbc 驱动程序中的错误代码字符串过长)。(在 altlinux dot ru 的 naf,Felipe)

修复了错误#48912(命名空间导致 extract() 出现意外的严格行为)。(德米特里)

修复了错误#48909(mysqli_stmt_execute() 中的分段错误)。(安德烈)

修复了错误#48899(即使父类中不存在方法,is_callable 也会返回 true)。(费利佩)

修复了错误#48893(使用 Curl 编译的问题)。(费利佩)

修复了错误#48872(string.c:错误:大小写重复)。(卡勒)

修复了错误#48854(array_merge_recursive 在第一个之后修改数组)。(费利佩)

修复了错误#48805(IPv6 套接字传输不起作用)。(伊利亚)

修复了错误#48802(printf() 返回不正确的输出长度)。(贾尼)

修复了错误#48880(随机出现的 open_basedir 问题)。(拉斯穆斯,格温)

修复了错误#48791(打开的办公室文件总是报告为损坏)。(格雷格)

修复了错误#48788(RecursiveDirectoryIterator 不会下降到符号链接目录)。(伊利亚)

修复了错误#48783(make install 会失败,说 phar 文件存在)。(格雷格)

修复了错误#48774(使用 curl_copy_handle() 时的 SIGSEGV)。(斯里拉姆·纳塔拉詹)

修复了错误#48771(卷之间的 rename() 失败并且在 Windows 上没有报告错误)。(皮埃尔)

修复了错误#48768(parse_ini_*() 与 INI_SCANNER_RAW 一起崩溃)。(贾尼)

修复了错误#48763(ZipArchive 生成损坏的存档)。(dani dot Church at gmail dot com, Pierre)

修复了错误#48762(IPv6 地址过滤器仍然拒绝有效地址)。(费利佩)

修复了错误#48757(ReflectionFunction::invoke() 参数问题)。(卡勒)

修复了错误#48754(mysql_close() 在未指定句柄时崩溃 php)。(约翰内斯,安德烈)

修复了错误#48752(日期解析期间崩溃,日期无效)。(皮埃尔)

修复了错误#48746(无法浏览连接点内的目录)。(皮埃尔,坎瓦吉特·辛格拉)

修复了错误#48745(mysqlnd:mysql_num_fields 为 mysql_list_fields 返回错误的列数)。(安德烈)

修复了错误#48740(当 INSTALL_ROOT 不是最终安装位置时,PHAR 安装失败)。(digitalwindow dot com 的 james dot cohen,Greg)

修复了错误#48733(CURLOPT_WRITEHEADER|CURLOPT_FILE|CURLOPT_STDERR 对已使用 r+ 打开的文件发出警告)。(伊利亚)

修复了错误#48719(parse_ini_*():scanner_mode 参数未检查是否正常)。(贾尼)

修复了错误#48718(FILTER_VALIDATE_EMAIL 不允许域组件中的数字)。(伊利亚)

修复了错误#48681(tar 档案损坏的 openssl 签名验证)。(格雷格)

修复了错误#48660(parse_ini_*():美元符号作为值的最后一个字符失败)。(贾尼)

修复了错误#48645(mb_convert_encoding() 不理解十六进制 html 实体)。(森吉)

修复了错误#48637(使用 --with-curlwrappers 时“文件”fopen 包装器被覆盖)。(贾尼)

修复了错误#48608(配置期间未检测到无效的 libreadline 版本)。(贾尼)

修复了错误#48400(关闭使用 OP_PROTOTYPE 标志打开的流时 imap 崩溃)。(贾尼)

修复了错误#48377(使用现有文件转换 phar 时的错误消息不清楚)。(格雷格)

修复了错误#48247(在记录错误时出现无限循环和启动过程中可能出现的崩溃)。(贾尼)

修复了错误#48198错误:未声明“MYSQLND_LLU_SPEC”。#48780和#46952的原因- 都已修复。(安德烈)

修复了错误#48189(返回参数中的 ibase_execute 错误)。(卡勒)

修复了错误#48182(异步套接字连接期间 ssl 握手失败)。(斯里拉姆·纳塔拉詹)

修复了错误#48116(使用 Openssl 1.0 修复了构建)。(Pierre, Al dot Smith at aeschi dot ch dot eu dot org)

修复了错误#48057(仅获取第一行的日期字段,其他字段为空)。(programmiernette dot net 上的信息)

修复了错误#47481(natcasesort() 无法正确排序扩展的 ASCII 字符)。(赫尔曼·拉德克)

修复了错误#47351(DateTime 中的内存泄漏)。(德里克,托拜厄斯·约翰)

修复了错误#47273(SoapServer->fault 中的编码错误)。(德米特里)

修复了错误#46682(touch() 字段在 Windows 上返回不同的值)。(皮埃尔)

修复了错误#46614(扩展 MySQLi 类给出了不正确的 empty() 结果)。(安德烈)

修复了错误#46020(在 HPUX 上使用 Sun Java System Web Server 7.0,#define HPUX)。(乌韦·辛德勒)

修复了错误#45905(imagefilledrectangle() 裁剪错误)。(markril at hotmail dot com, Pierre)

修复了错误#45554(u 格式字符的行为不一致)。(德里克)

修复了错误#45141(setcookie 将输出 >4 位的过期年份)。(伊利亚)

修复了错误#44683(通过无效模式时 popen 崩溃)。(皮埃尔)

修复了错误#43510(stream_get_meta_data() 不返回与 fopen 中使用的相同模式)。(贾尼)

修复了错误#42434(ImageLine w/ antialias = 1px 更短)。(wojjie at gmail dot com, Kalle)

修复了错误#40013(php_uname() 不返回 Netware 上的节点名(Guenter Knauf)

修复了错误#38091(Mail() 在发送 SMTP helo 时不使用 FQDN)。(卡勒,里克·约加森)

修复了错误#28038(向 SMTP 服务器发送了错误的 RCPT TO 命令)(Garrett)

修复了错误#27051(使用 FastCGI 模拟不会以模拟用户身份执行进程)。(皮埃尔)

修复了 PECL 错误#16842(引发 NO_DATA_FOUND 时 oci_error 返回 false)。(克里斯·琼斯)

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

您已成功复制微信号

leishi010

打开微信添加好友?

确定