PHP 4 更改日志

4.4 | 4.3 | 4.2 | 4.1 | 4.0

版本 4.4.9

  • 将 PCRE 更新到版本 7.7。
  • 修复了 memnstr() 中的溢出。
  • 修复了 imageloadfont 在给出无效字体时崩溃的问题。
  • 修复了 curl 扩展中 open_basedir 处理问题。
  • 修复了 bug #27421(在 .htaccess 中设置的 mbstring.func_overload 成为全局的)。

版本 4.4.8

  • 改进了对 MOPB-02-2007 的修复。
  • 修复了 chunk_split() 内部的一个整数溢出问题。由 Gerhard Wagner 发现。
  • 修复了 str[c]spn() 中的整数溢出。
  • 修复了 #41655 修复引入的 open_basedir 打开时 glob 的回归。
  • 修复了 money_format() 不接受多个 %i 或 %n 标记的问题。
  • 添加了 "max_input_nesting_level" php.ini 选项来限制输入变量的嵌套级别。MOPB-03-2007 的修复。
  • 修复了使用 MySQL 的 INFILE LOCAL 选项处理 - 现在在 open_basedir 或 safe_mode 处于活动状态时不允许。
  • 修复了 session.save_path 和 error_log 值,以针对 open_basedir 和 safe_mode 进行检查(CVE-2007-3378)。
  • 修复了 bug #43010(修复了 imagearc 中使用两个等效角度的回归)。
  • 修复了 bug #41765(Recode 在 amd64 上崩溃/无法正常工作)。
  • 修复了 bug #41630(当图像数据中存在无效的颜色索引时出现段错误)。
  • 修复了 bug #41628(PHP 设置在 Apache 1.3 中的虚拟主机之间泄漏)。
  • 修复了 bug #38798(OpenSSL 初始化在 php5 中已更正,但在 php4 中未更正)。

版本 4.4.7

  • 修复了 MOPB-33-2007(PHP mail() 消息 ASCIIZ 字节截断)。
  • 修复了 MOPB-32-2007(session_decode() 内部出现双重释放)。
  • 修复了 MOPB-26-2007(mb_parse_str() 可用于激活 register_globals)。
  • 修复了 MOPB-24-2007(修复了 array_user_key_compare() 中的未分配内存访问/双重释放)。
  • 修复了 MOPB-22-2007(PHP session_regenerate_id() 双重释放漏洞)。
  • 修复了 MOPB-21-2007(compress.bzip2 包装器内部的 open_basedir/safe_mode 绕过)。
  • 修复了 MOPB-8-2007(phpinfo() 中的 XSS)。
  • 修复了 CVE-2007-1001(GD wbmp 与无效的图像大小一起使用)。
  • 修复了 CVE-2007-0455(gdImageStringFTEx 中的缓冲区溢出,由 imagettf 函数使用)。
  • 修复了 bug #41252(在没有先调用 mcrypt_generic_init 的情况下调用 mcrypt_generic 会导致崩溃)。
  • 修复了 bug #40998(长会话数组键被截断)。
  • 修复了 bug #40915(addcslashes 对二进制输入的意外行为)。
  • 修复了 bug #40831(cURL 扩展不会清理重用句柄的缓冲区)。
  • 修复了 bug #40747(会话在 save_path 超出 open_basedir 时可能会崩溃)。
  • 修复了 bug #38236(二进制数据在 multipart/formdata POST 中被破坏)。
  • 修复了 imagearc 在使用大角度时巨大的 CPU 使用率(libgd 错误 #74)。
  • 修复了 ftp_putcmd() 内部 CRLF 注入。

版本 4.4.6

  • 将 PCRE 更新到版本 7.0。
  • 修复了 register_globals=On 时 ext/session 中的段错误。
  • 修复了 bug #40635(cURL 扩展中的段错误)。
  • 修复了 bug #40611(可能的 cURL 内存错误)。
  • 修复了 bug #40578(imagettftext() 多线程问题)。
  • 修复了 bug #40502(ext/interbase 编译失败)。
  • 修复了 bug #40286(PHP fastcgi 使用 PHP_FCGI_CHILDREN 在父进程被杀死时不会杀死子进程)。

版本 4.4.5

  • 将 PEAR 升级到 1.5.0。
  • 将 PCRE 更新到版本 6.7。
  • 将扩展移至 PECL:ext/ovrimos
  • 在 phpinfo() 输出中添加了一个元标记,以防止搜索引擎索引该页面。
  • 将 configure 测试中的一个修复程序移植回来,以检测“舍入模糊”。
  • 将 ext/imap 编译失败的修复程序移植回来,以解决最近的 c-client 版本。
  • 修复了 chdir() 函数内部缺少的 open_basedir 检查。
  • 修复了 bug #40335(使用 GCC 4.1.1/binutils 2.17 时编译失败)。
  • 修复了 bug #39971(pg_insert/pg_update 不允许使用 now() 用于时间戳字段)。
  • 修复了 bug #39890(使用 autoconf 2.6x 和 --with-layout=GNU 会破坏 PEAR 安装路径)。
  • 修复了 bug #39819(在非对象上下文中使用 $this 可能会导致段错误)。
  • 修复了 bug #39653(ext/dba 在启用 db4 支持时不会检查 db-4.5 和 db-4.4)。
  • 修复了 bug #39583(ftp_put() 不会将传输模式更改为 ASCII)。
  • 修复了 bug #39458(ftp_nlist() 在空目录上返回 false)。
  • 修复了 bug #39354(允许针对 libcurl 7.16.0 构建 curl 扩展)。
  • 修复了 bug #39034(curl_exec() 使用 return transfer 在空文件上返回 TRUE)。
  • 修复了 bug #38963(修复了 tempnam() 中可能的 open_basedir 绕过)。
  • 修复了 bug #38882(ldap_connect 使用较新版本的 OpenLDAP 会导致段错误)。
  • 修复了 bug #38859(如果在 passwd 中传递 '@',parse_url() 就会失败)。
  • 修复了 bug #38722(调用未定义的方法会打印出不足的错误消息)。
  • 修复了 bug #38534(在用户空间会话处理程序中调用 setlocale() 时出现段错误)。
  • 修复了 bug #38450(用户空间流包装器中使用的类不会调用构造函数)。
  • 修复了 bug #38378(wddx_serialize_value() 不会生成格式良好的 xml)。
  • 修复了 bug #37812(aggregate_methods_by_list 无法获取某些方法)。
  • 修复了 bug #36975(natcasesort() 会导致 array_pop() 行为异常)。
  • 修复了 bug #36248(CURLOPT_HEADERFUNCTION,无法在类中设置函数)。
  • 修复了 bug #34066(递归 array_walk 导致段错误)。
此版本有一个单独的公告

版本 4.4.4

  • 修复了 64 位系统上的 memory_limit。
  • 修复了 64 位系统上 str_repeat() 和 wordwrap() 中的溢出。
  • 在 open_basedir 或 safe_mode 启用时,在 curl 中禁用了 CURLOPT_FOLLOWLOCATION。
  • 修复了使用无效 foreach() 调用导致的内存损坏错误。
  • 修复了 bug #38431(xmlrpc_get_type() 在对象上使 PHP 崩溃)。
  • 修复了 bug #38377(session_destroy() 在 session_regenerate_id() 之后给出警告)。
  • 修复了 bug #38322(在 sscanf() 中读取数组之外会导致任意代码执行)。
  • 修复了 bug #38278(session_cache_expire() 的值与 phpinfo 的 session.cache_expire 不匹配)。
  • 修复了 bug #38251(socket_select() 和无效参数)。
  • 修复了 bug #38183(disable_classes=Foobar 会导致禁用的类被调用为 Foo)。
  • 修复了 bug #38112(损坏的 gif 导致段错误)。
  • 修复了 bug #37265(在 imap_body() 中添加了缺少的 safe_mode & open_basedir 检查)。
  • 修复了 bug #29538(number_format 和 0 的问题)。
此版本有一个单独的公告

版本 4.4.3

  • 为 cURL 扩展的 open_basedir/safe_mode 检查添加了控制字符检查。
  • 为 wordwrap() 函数添加了溢出检查。
  • 添加了对会话名称中特殊字符的检查。
  • 改进了 error_log() 函数的 safe_mode 检查。
  • 将 PCRE 更新到版本 6.6。
  • 修复了 tempnam() 函数内部极长路径的处理。
  • 修复了 phpinfo() 中的 XSS,其中包含长输入。
  • 修复了 libmysql.c 中 Win32 系统的 create_named_pipe() 内部可能的缓冲区溢出。
  • 修复了 bug #37720(merge_php_config 会混淆值)。
  • 修复了 bug #37569(WDDX 错误地编码了高 ASCII 字符)。
  • 修复了 bug #37510(session_regenerate_id 即使在失败时也会更改 session_id())。
  • 修复了 bug #37360(使用损坏的 GIF 文件时的内存错误)。
  • 修复了 bug #37348(使 PEAR 安装忽略 open_basedir)。
  • 修复了 bug #37346(使用无效的颜色映射格式时崩溃)。
  • 修复了 bug #37162(wddx 无法作为共享扩展构建)。
  • 修复了 bug #37046(foreach 会破坏静态作用域)。
  • 修复了 bug #37045(修复了对 http 重定向的特殊字符检查)。
  • 修复了 bug #36857(为 HTTP 流包装器添加了对部分内容获取的支持)。
  • 修复了 bug #36776(node_list_wrapper_dtor 段错误)。
  • 修复了 bug #36459(错误地将 PHPSESSID 添加到包含 \r\n 的链接中)。
  • 修复了 bug #36458(sleep() 接受负值)。
  • 修复了 bug #36242(stream_select() 中可能的内存损坏)。
  • 修复了 bug #36223(curl 会绕过 open_basedir 限制)。
  • 修复了 bug #36205(重复 cookie 时的内存泄漏)。
  • 修复了 bug #36148(unpack("H*hex", $data) 会在字符串末尾添加一个额外的字符)。
  • 修复了 bug #36017(fopen() 在打开 URL 时使 PHP 崩溃)。
此版本有 单独的公告

版本 4.4.2

  • 在 cURL 扩展中添加了缺少的 safe_mode/open_basedir 检查。
  • 从 PHP 5.x 反向移植了缺少的 imap_mailcompose() 修复。
  • 通过将每个标头限制为单行来防止标头注入。
  • 修复了错误报告功能中可能存在的 XSS。
  • 修复了非 Linux 系统上 Apache 2 回归,该回归与子请求处理有关。
  • 修复了错误 #35817 (unpack() 不解码奇数个十六进制值)。
  • 修复了错误 #35735 ($EGREP 在配置中未定义)。
  • 修复了错误 #35669 (imap_mail_compose() 在 multipart-multiboundary-email 情况下崩溃)。
  • 修复了错误 #35655 (heredoc 结束后的空格丢失)。
  • 修复了错误 #35646 (%{mod_php_memory_usage}n 在退出后未重置)。
  • 修复了错误 #35594 (多次调用 getopt() 可能会导致崩溃)。
  • 修复了错误 #35571 (修复了 Apache 2 SAPI 中的崩溃,当通过 SSI include 加载多个 php 脚本时)。
  • 修复了错误 #35536 (mysql_field_type() 不处理 NEWDECIMAL)。
  • 修复了错误 #35410 (wddx_deserialize() 不正确地处理作为键的大整数)。
  • 修复了错误 #35341 (错误 #33760 的修复程序在使用旧版本的 curl 时破坏了构建)。
  • 修复了错误 #35278 (多次调用 virtual() 会导致 Apache 2 php 模块崩溃)。
  • 修复了错误 #35257 (在创建 ob 回调后调用 ob_flush 会导致段错误)。
  • 修复了错误 #35079 (stream_set_blocking(true) 切换而非启用阻塞)。
  • 修复了错误 #35078 (配置找不到 ldap_start_tls_s)。
  • 修复了错误 #35071 (GD 安全模式检查中使用了错误的 fopen 模式)。
  • 修复了错误 #35067,修复了错误 #35063 (key()、current() 需要通过引用工作)。
  • 修复了错误 #35062 (socket_read() 在非阻塞套接字上产生警告)。
  • 修复了错误 #35059 (Apache2 在使用 mod_rewrite 时崩溃)。
  • 修复了错误 #35009 (ZTS:当扩展编译为共享时,持久资源析构在崩溃时)。
  • 修复了错误 #34996 (ImageTrueColorToPalette() 在 ncolors 为零时崩溃)。
  • 修复了错误 #34851 (SO_RECVTIMEO 和 SO_SNDTIMEO 套接字选项在 Windows 上期望整数参数)。
  • 修复了错误 #34830 (mb_send_mail 的第 5 个参数不起作用)。
  • 修复了错误 #34359 (fopen http 包装器内部可能存在的崩溃)。
  • 修复了错误 #33963 (mssql_bind() 在输入参数上失败)。
  • 修复了错误 #33760 (cURL 需要 CRYPTO_callback 函数来防止锁定)。
  • 修复了错误 #33720 (mb_encode_mimeheader 不适用于多字节字符)。
  • 修复了错误 #33523 (xmlrpc_encode_request() 中的内存泄漏)。
  • 修复了错误 #33201 (获取某些数据类型时崩溃)。
  • 修复了错误 #33153 (mssql_next 结果中的崩溃)。
  • 修复了错误 #32009 (在多次调用 mssql_bind() 时崩溃)。
  • 修复了错误 #31971 (ftp_login 在某些 SSL 服务器上失败)。
  • 修复了错误 #30760 (如果 display_startup_error 关闭,则删除 win32 上针对 E_CORE 错误的 MessageBox)。
  • 修复了错误 #27678 (number_format() 在使用大数字时崩溃)。
此版本有 单独的公告

版本 4.4.1

  • 添加了针对 image* 函数和 cURL 缺少的 safe_mode 检查。
  • 添加了针对文件上传缺少的 safe_mode/open_basedir 检查。
  • 修复了有关包含文件的内存损坏错误。
  • 修复了 Apache 2 sapi 中通过 virtual() 发生的可能的 INI 设置泄漏。
  • 修复了 import_request_variables() 中可能的崩溃和/或内存损坏。
  • 修复了通过 import_request_variables() 发生的可能的 GLOBALS 覆盖。
  • 修复了 register_globals 处于 ON 状态时发生的可能的 GLOBALS 变量覆盖。
  • 修复了通过 parse_str() 发生的可能的 register_globals 切换。
  • 将“new_link”参数添加到 mssql_connect()。错误 #34369
  • 修复了错误 #34850 (--program-suffix 和 --program-prefix 未包含在手册页名称中)。
  • 修复了错误 #34790 (preg_match_all(),命名捕获组,变量赋值/返回 => 崩溃)。
  • 修复了错误 #34742 (由于分段命令传输导致的 ftp 包装器故障)。
  • 修复了错误 #34704 (由于损坏的 JPEG 导致的无限递归)。
  • 修复了错误 #34645 (ctype 在验证大数字时会损坏内存)。
  • 修复了错误 #34565 (mb_send_mail 不会获取 mail.force_extra_parameters)。
  • 修复了错误 #34557 (php -m 退出时显示“error”1)。
  • 修复了错误 #34456 (pspell 扩展内部可能存在的崩溃)。
  • 修复了错误 #34311 (unserialize() 在使用大于 191 十进制的字符时崩溃)。
  • 修复了错误 #34307 (如果从 php.ini 设置的值无效,则不会调用 on_modify 处理程序来设置默认值)。
  • 修复了错误 #34302 (date('W') 不会为第 1 到第 9 周返回前导零)。
  • 修复了错误 #34277 (array_filter() 在使用引用和对象时崩溃)。
  • 修复了错误 #34191 (ob_gzhandler 不会强制执行尾随的 \0)。
  • 修复了错误 #34156 (内存使用量在达到内存限制后仍然很高)。
  • 修复了错误 #34148 (+、- 和 . 不支持作为方案的一部分)。
  • 修复了错误 #34137 (通过引用赋值数组元素会导致二进制混乱)。
  • 修复了错误 #34068 (在 wddx_deserialize() 中,数字字符串作为数组键不会强制转换为整数)。
  • 修复了错误 #34064 (arr[] 作为函数的参数仅在函数通过引用接收参数时才允许)。
  • 修复了错误 #33989 (extract($GLOBALS,EXTR_REFS) 会导致 PHP 崩溃)。
  • 修复了错误 #33987 (php 脚本作为 ErrorDocument 会导致 Apache 2 崩溃)。
  • 修复了错误 #33940 (array_map() 在递归调用时无法通过引用传递)。
  • 修复了错误 #33690 (在 httpd.conf 中设置某些 ini 指令时崩溃)。
  • 修复了错误 #33673 (添加了对部分上传文件的检测)。
  • 修复了错误 #33648 (使用 --with-regex=system 会导致编译失败)。
  • 修复了错误 #33558 (嵌套调用返回引用的函数时出现警告)。
  • 修复了错误 #33383 (在检索空 LOB 时崩溃)。
  • 修复了错误 #33156 (cygwin 版本的 setitimer 不接受 ITIMER_PROF)。
  • 修复了错误 #32937 (open_basedir 在限制器中丢失了尾随的 /)。
  • 修复了错误 #32589 (imap_mail_compose() 函数内部可能存在的崩溃)。
  • 修复了错误 #32179 (xmlrpc_encode() 在使用递归引用时出现段错误)。
  • 修复了错误 #32160 (将文件复制到自身会导致数据丢失)。
  • 修复了错误 #31158 (对 $GLOBALS 的 array_splice 导致崩溃)。
  • 修复了错误 #29983 (PHP 没有显式设置 mime 类型和字符集)。
  • 修复了错误 #29253 (带有 $GLOBALS 参数的 array_diff 失败)。
  • 修复了错误 #21306 (ext/sesssion:在 RSHUTDOWN 期间捕获写入处理程序的故障)。
此版本有 单独的公告

版本 4.4.0

  • 添加了针对“phpize”和“php-config”脚本的手册页。
  • 添加了对扩展中 .cc 文件的支持。
  • 添加了排序标志 SORT_LOCALE_STRING 到 sort() 函数,使其根据当前区域设置进行排序。
  • 更改了 sha1_file() 和 md5_file() 函数以使用流而不是低级 IO。
  • 修复了以错误方式使用引用时发生的内存损坏。
  • 修复了在传递 as_null 参数的情况下,pg_copy_from() 中的内存损坏。
  • 修复了 stristr() 中的内存损坏。
  • 修复了错误 #32685,修复了错误 #29423 (在函数内使用引用赋值时出现段错误)。
  • 修复了错误 #33242 (流失败时出现错误消息混乱)。
  • 修复了错误 #33222 (在回调中关闭 CURL 处理程序时出现段错误)。
  • 修复了错误 #33214 (odbc_next_result 不会用 2 语句 SQL 批处理信号 SQL 错误)。
  • 修复了错误 #33210 (放宽 jpeg 递归循环保护)。
  • 修复了错误 #33200 (preg_replace():magic_quotes_sybase=On 会导致 'e' 修饰符行为异常)。
  • 修复了错误 #33150 (shtool:不安全的临时文件创建)。
  • 修复了错误 #33072 (添加了对运行时 save_path 更改的 safemode/open_basedir 检查)。
  • 修复了错误 #33070 (将 bzdecompress() 的性能提高了好几个数量级)。
  • 修复了错误 #33057 (根据 RFC 2616 第 10.3.5 节,不要在 304 上发送多余的实体标头)。
  • 修复了错误 #33019 (套接字错误会导致 php_strerror() 中的内存泄漏)。
  • 修复了错误 #33017 (“make distclean” 在使用 VPATH 构建时会产生错误)。
  • 修复了错误 #33013 (“下个月”在解析日期时处理错误)。
  • 修复了错误 #32974 (pcntl 从信号处理程序调用 malloc()。)。
  • 修复了错误 #32944 (禁用 session.use_cookies 不会阻止读取会话 cookie)。
  • 修复了错误 #32936 (http 重定向 URL 未检查控制字符)。
  • 修复了错误 #32932 (Oracle LDAP:ldap_get_entries 指针无效)。
  • 修复了错误 #32904 (pg_get_notify() 会忽略 result_type 参数)。
  • 修复了错误 #32813 (parse_url() 无法正确处理仅包含方案的 url)。
  • 修复了错误 #32810 (临时文件不使用普通文件包装器)。
  • 修复了错误 #32802 (通用 cookie 会覆盖更具体的 cookie)。
  • 修复了错误 #32800,修复了错误 #32830 (ext/odbc:64 位系统问题)。
  • 修复了错误 #32773 (GMP 函数在第二个参数为 0 时会中断)。
  • 修复了错误 #32742 (当使用包装器的流未关闭时,会出现段错误)。
  • 修复了错误 #32730 (ext/crack.c 在使用 cracklib-2.8.3 时无法编译)。
  • 修复了错误 #32670 (foreach() 在使用未设置的数组参数时不会发出警告)。
  • 修复了错误 #32699 (pg_affected_rows() 在不可用时已定义)。
  • 修复了错误 #32682 (ext/mssql:从 activescript 调用时,模块关闭时出现错误)。
  • 修复了错误 #32647 (使用带有无效回调的 register_shutdown_function() 会导致 PHP 崩溃)。
  • 修复了错误 #32591 (ext/mysql:未满足的符号:HP-UX 上的 ntohs)。
  • 修复了错误 #32589 (imap_mail_compose 内部可能存在的崩溃,存在字符集)。
  • 修复了错误 #32587 (Apache2:发送到 error_log 的错误不包含时间戳)。
  • 修复了错误 #32567 (ext/gmp 在线程安全模式下无法编译)。
  • 修复了错误 #32538 (ext/swf/swf.c 在使用 gcc-3.4.x 或更高版本时无法编译)。
  • 修复了错误 #32530 (chunk_split() 如果 chunklen 比原始字符串长,则不会附加 endstr)。
  • 修复了错误 #32491 (文件上传错误 - 无法创建临时文件)。
  • 修复了错误 #32311 (mb_encode_mimeheader() 无法正确转义字符)。
  • 修复了错误 #32245 (xml_parser_free() 在分配给 xml 解析器的函数中会导致段错误)。
  • 修复了错误 #32116(在 Windows 下,mysql 压缩连接不起作用)。
  • 修复了错误 #31887(ISAPI:自定义 5xx 错误无法返回正确的 HTTP 响应消息)。
  • 修复了错误 #31583(php_std_date() 在非 y2k_compliance 模式下使用简短的星期名称)。
  • 修复了错误 #31213(修复错误 #29493 导致的副作用)。
  • 修复了错误 #30052(在 odbc_pconnect() 之后关闭时崩溃)。
  • 修复了错误 #29975(在错误处理程序内部使用 set_error_handler() 时出现内存泄漏)。
  • 修复了错误 #29944(在 switch 中定义的函数会崩溃)。
  • 修复了错误 #29338(在某些标签之后,未编码的空格会被忽略)。
  • 修复了错误 #28605(需要为 Alpha CPU 使用 -[m]ieee 选项)。
  • 修复了错误 #28377(debug_backtrace 间歇性地传递参数)。
此版本有一个 单独的公告

版本 4.3.11

  • 添加了 Oracle Instant Client 支持
  • 添加了对 gmp_sqrt()、gmp_powm()、gmp_sqrtrem() 和 gmp_fact() 中负值的检查,以防止 SIGFPE
  • 更改 phpize 使其不再需要 libtool
  • 更新了捆绑的 libmbfl 库(用于多字节函数)
  • 修复了 ext/browscap 和 sapi/embed 中的几个泄漏
  • 修复了 ext/filepro 中的几个泄漏
  • 修复了构建系统以始终使用捆绑的 libtool 文件
  • 修复了 MacOSX 共享扩展在 Apache 启动时崩溃的问题
  • 修复了错误 #32373(如果提供的路径指向不存在的文件,则 bzopen() 中会出现段错误)。
  • 修复了错误 #32340(insert_before($node,NULL) 不会返回)。
  • 修复了错误 #32200(防止同时使用 --with-apxs2 和 --with-apxs2filter)。
  • 修复了错误 #32114(将属性附加到 Document 时,DOM 会崩溃)。
  • 修复了错误 #32063(mb_convert_encoding 忽略命名实体 'alpha')。
  • 修复了错误 #31960(msql_fetch_row() 和 msql_fetch_array() 丢弃具有 NULL 值的列)。
  • 修复了错误 #31936(set_h_errno() 被重新定义为不兼容)。
  • 修复了错误 #31911(mb_decode_mimeheader() 对十六进制转义区分大小写)。
  • 修复了错误 #31858(--disable-cli 不会强制 --without-pear)。
  • 修复了错误 #31842(*date('r') 不会返回符合 RFC2822 的日期字符串)。
  • 修复了错误 #31797(exif_read_data() 使用的嵌套限制过低)。
  • 修复了错误 #31796(readline 完成处理程序不会处理空返回值)。
  • 修复了错误 #31792(getrusage() 不会提供 ru_nswap 值)。
  • 修复了错误 #31754(dbase_open() 对于 mode = 1 失败)。
  • 修复了错误 #31705(parse_url() 无法识别 http://foo.com#bar)。
  • 修复了错误 #31684(dio_tcsetattr():termios 设置配置错误)。
  • 修复了错误 #31699(unserialize() 在非英语语言环境下存在浮点数问题)。
  • 修复了错误 #31623(OCILogin 不支持密码宽限期)。
  • 修复了错误 #31580(fgetcsv() 在 "" 转义序列方面存在问题)。
  • 修复了错误 #31527(在 msg_send() 中崩溃,当未经序列化而存储了非字符串时)。
  • 修复了错误 #31514(open_basedir 使用 path_translated 而不是 cwd 来进行 . 转换)。
  • 修复了错误 #31480(imap_mail_compose() 中可能存在无限循环)。
  • 修复了错误 #31479(修复了 chunk_split() 中的崩溃,当 chunklen > strlen 时)。
  • 修复了错误 #31465(在 unpack() 中使用 * 时,出现错误警告)。
  • 修复了错误 #31454(当提供不存在的对象引用时,session_set_save_handler 会使 PHP 崩溃)。
  • 修复了错误 #31444(zend_language_scanner.c 中存在内存泄漏)。
  • 修复了错误 #31442(unserialize 在 64 位系统上已损坏)。
  • 修复了错误 #31440(当 register_globals 启用时,$GLOBALS 可以通过 GPC 被覆盖)。
  • 修复了错误 #31413(curl POSTFIELDS 在 64 位平台上崩溃)。
  • 修复了错误 #31396(在没有 freetype 的情况下,gd 2.0.33 编译失败)。
  • 修复了错误 #31371(highlight_file() 在 heredoc 之后修剪换行符)。
  • 修复了错误 #31270(swf_openfile() 中缺少 safe_mode/open_basedir 检查)。
  • 修复了错误 #31174(url.c 中的编译警告)。
  • 修复了错误 #31159(COM 对象访问不起作用)。
  • 修复了错误 #31142(imap_mail_compose() 无法生成正确的输出)。
  • 修复了错误 #31398(当 magic_guotes_gpc 启用时,包含 ' 的文件名会被截断)。
  • 修复了错误 #31288(mysql_fetch_field() 中可能出现崩溃,如果之前没有调用 mysql_list_fields())。
  • 修复了错误 #31120(mssql_query 在成功插入和存储过程时返回 false)。
  • 修复了错误 #31107,修复了错误 #31110,修复了错误 #31111,修复了错误 #31249(zend_strtod.c 的编译失败)。
  • 修复了错误 #31106(修复了重载对象中的崩溃)。
  • 修复了错误 #31103(当找不到 c-client 时,提供更好的错误消息)。
  • 修复了错误 #31101(使用 --with-openssl 时缺少 kerberos 头文件路径)。
  • 修复了错误 #31072(var_export() 不会输出具有空字符串键的数组元素)。
  • 修复了错误 #31060(imageftbbox() 不会使用 linespacing 参数)。
  • 修复了错误 #31056(如果 y2k_compliance 为 On,则 php_std_date() 返回格式不正确的日期)。
  • 修复了错误 #31055(apache2filter:与请求 URI 的完整路径成正比的每次请求泄漏)。
  • 修复了错误 #30726(-.1 这样的数字处理不正确)。
  • 修复了错误 #30609(cURL 函数绕过 open_basedir)。
  • 修复了错误 #30573(libmbfl 中由于类型转换错误导致的编译器警告)。
  • 修复了错误 #30549(某些 ISO8859 字符集的字符转换不正确)。
  • 修复了错误 #30446(apache2handler:virtual() 按错误顺序包含文件)
  • 修复了错误 #30430(odbc_next_result() 不会绑定值,导致段错误)。
  • 修复了错误 #30120(imagettftext() 和 imagettfbbox() 接受的参数过多)。
  • 修复了错误 #29733(printf() 处理重复占位符的方式错误)。
  • 修复了错误 #29424(JPEG2000 文件的宽度和高度颠倒)。
  • 修复了错误 #28976(mail():如果 sendmail_from 为空,则使用来自标头的 "From:")。
  • 修复了错误 #28930(PHP 源代码选择由 bison 生成的错误头文件)。
  • 修复了错误 #28804(ini 文件节区解析模式存在错误)。
  • 修复了错误 #28803(启用的调试会导致 AIX 上 CLI 出现故障错误,因为 fflush() 对已关闭的文件描述符进行了调用)。
  • 修复了错误 #28451(损坏的 EXIF 标头具有无限递归的 IFD 目录条目)。
  • 修复了错误 #28220(mb_strwidth() 对一些少量字符返回错误的宽度值)。
  • 修复了错误 #28086(overload() 函数内部崩溃)。
  • 修复了错误 #28074(FastCGI:stderr 应写入 FCGI stderr 流中)。
  • 修复了错误 #28067(utf8 到 htmlentities 映射部分不正确)。
  • 修复了错误 #27633(Win32 上的 FTP_GET 在 ASCII 模式下存在双 \r 问题)。
  • 修复了错误 #18613(x509 证书中的多个 OU 处理不当)。
  • 修复了错误 #7782(无法在 php isapi 中完全使用 PATH_INFO)。
此版本有一个 单独的公告

版本 4.3.10

  • 为 *printf 添加了 %F 修饰符,以渲染不依赖语言环境的浮点数表示形式,以 . 作为小数点分隔符。
  • 修复了 addslashes() 处理 '\0' 字符的错误。
  • 从 PHP 5.x 回溯了 Marcus 的 foreach() 加速补丁。
  • 修复了反序列化无效序列化数据时可能出现的问题。
  • 修复了错误 #31034(不存在的 iconv 头文件的问题)。
  • 修复了错误 #31024(fgetcsv() 在长度为负时崩溃)。
  • 修复了错误 #31019(mssql 库检查中的逻辑错误)。
  • 修复了错误 #30995(snmp 扩展无法使用 net-snmp 5.2 构建)。
  • 修复了错误 #30990(允许 *NIX 上的 popen() 接受 'b' 标志)。
  • 修复了错误 #30826(某些引用关系无法正确反序列化)。
  • 修复了错误 #30750(当上传目录不可访问时,提供有意义的错误消息)。
  • 修复了错误 #30739(imagefill 不会设置回 alphablending 模式)。
  • 修复了错误 #30672(处理 jpeg 图像中异常位置处的 exif 数据时出现问题)。
  • 修复了错误 #30658(确保删除 GD 创建的临时文件)。
  • 修复了错误 #30654(如果存在具有相同凭据的独占连接,则 oci8 持久连接将从哈希表中删除)。
  • 修复了错误 #30613(防止 URL 重定向中出现无限递归)。
  • 修复了错误 #30587(array_multisort 在更改之前不会分离 zval)。
  • 修复了错误 #30475(curl_getinfo() 在某些情况下可能崩溃)。
  • 修复了错误 #30442(解析 ?getvariable[][ 时出现段错误)。
  • 修复了错误 #30388(跨文件系统重命名会丢失所有权和权限信息)。
  • 修复了错误 #30282(在使用未知/不支持的 session.save_handler 和/或 session.serialize_handler 时出现段错误)。
  • 修复了错误 #30281(防止非 wbmp 图像被检测为 wbmp 图像)。
  • 修复了错误 #30276(ctype_digit 在大数字上可能出现崩溃)。
  • 修复了错误 #30229(imagerectangle 和 imagefilledrectangle 无法很好地使用 alpha 通道,角点被绘制两次)。
  • 修复了错误 #30224(Sybase 日期字符串有时没有以 NULL 结尾)。
  • 修复了错误 #30133(get_current_user() 在 Windows 上崩溃)。
  • 修复了错误 #30057(未在 FreeBSD 4.1 上检测到 IPV6)。
  • 修复了错误 #30027(ftp_get() 内部可能出现崩溃)。
  • 修复了错误 #29805(HTTP 身份验证问题)。
  • 修复了错误 #29418(当 openssl_csr_new 失败时出现双重释放)。
  • 修复了错误 #28598(丢失了对 MS Symbol 字体支持)。
  • 修复了错误 #28325(循环引用未正确序列化)。
  • 修复了错误 #28228(未正确处理 NULL 小数点分隔符)。
  • 修复了错误 #27469(序列化不完整类的对象)。
此版本有一个 单独的公告

版本 4.3.9

  • GPC 输入处理修复。
  • 实现周期性 PCRE 编译正则表达式缓存清理,以避免内存耗尽。
  • 修复了 raw_post_data 未设置的错误。
  • 修复了 phpinfo() 和其他“特殊”URL 的文件描述符泄漏。
  • 重写了 UNIX 和 Windows 安装帮助文件。
  • 更新了 PCRE,以便在某些情况下提供更好的错误处理。
  • NSAPI:将“bucket”参数添加到 php4_execute 的非 php.ini-key 列表中,以便在服务器日志中执行性能统计而不发出警告。
  • 修复了 idate() 中的闰年检查。
  • 修复了 strip_tags(),使其能够正确处理“\0”字符。
  • 修复了 FastCGI 中的奇怪分叉效果,当未设置 PHP_FCGI_CHILDREN 时。
  • 修复了错误 #30050(php_shutdown_config() 内部可能发生崩溃)。
  • 修复了错误 #29882(isset 在数组上崩溃)。
  • 修复了错误 #29753(mcal_fetch_event() 允许第二个参数为可选)。
  • 修复了错误 #29727(添加了缺少的 CURL 身份验证指令)。
  • 修复了错误 #29719(fgetcsv() 在解析以转义的括号结尾的字符串时存在问题)。
  • 修复了错误 #29607(使用 HEREDOC 突出显示代码会产生无效输出)。
  • 修复了错误 #29599(domxml_error 使另一个 apache 模块出现段错误)。
  • 修复了错误 #29594(使用 PHP 自己的 tmpfile() 实现)。
  • 修复了错误 #29581(php.ini 注释中有关 mysql.trace_mode 的拼写错误)。
  • 修复了错误 #29493(extract(array, EXTR_REFS) 在元素被引用两次或更多次时表现异常)。
  • 修复了错误 #29443(对 wbmp 检测进行健全性检查)。
  • 修复了错误 #29369(上传的文件,如果其名称中包含“'”或“"”,则其名称会在这些字符处被截断)。
  • 修复了错误 #29349(imagecreatefromstring() 在使用外部 GD 库时会崩溃)。
  • 修复了错误 #29333(output_buffering+trans_sess_id 会破坏输出)。
  • 修复了错误 #29226(ctype_* 函数缺少对数字字符串表示的验证)。
  • 修复了错误 #29209(imap_fetchbody() 不检查消息索引)。
  • 修复了错误 #29116(Zend 常量警告在释放后使用内存)。
  • 修复了错误 #29114(php_stat 中可能存在双重释放)。
  • 修复了错误 #29075(strnatcmp() 在处理空格时不正确)。
  • 修复了错误 #29049(通过用户函数/方法进行数组排序不会对其进行验证)。
  • 修复了错误 #29038(带有 EXTR_PREFIX_SAME 的 extract() 会对空字符串进行前缀)。
  • 修复了错误 #29034(wordwrap() 在传递空字符串时会返回布尔值)。
  • 修复了错误 #28974(array_slice()、array_splice()、substr、substr_replace()、strspn()、strcspn() 中的溢出)。
  • 修复了错误 #28897(ibase:对于 64 位缩放整数,-1 被返回为 -0.000)。
  • 修复了错误 #28879(在使用资源、数组或对象作为索引时,隐式/显式数组创建不一致)。
  • 修复了错误 #28878(在 obj.conf 中设置 inikey 失败)。
  • 修复了错误 #28868(内部包装程序注册表不是线程安全的)。
  • 修复了错误 #28818(Apache 2 sapis 不导出 st_dev)。
  • 修复了错误 #28800(以“inf”开头的字符串被不正确地转换)。
  • 修复了错误 #28723(修复了 mbstring config.m4,使其在测试命令不支持 -e 参数的操作系统上工作)。
  • 修复了错误 #28692(通过 safe_mode 传递的 Authenticate 标头中的 \0)。
  • 修复了错误 #28670(在 safe_mode 中使用 PCRE 对 WWW-Authentication 标头进行篡改会添加额外的空格)。
  • 修复了错误 #28668(glob() 在 Windows 上不能使用相对路径)。
  • 修复了错误 #28649(在 Linux 上,当没有匹配项时,glob() 的正确返回值)。
  • 修复了错误 #28633(sprintf 在向浮点数添加填充时不正确)。
  • 修复了错误 #28627(当使用多个 MySQL 链接时,默认链接会泄漏)。
  • 修复了错误 #28525(gmp_powm() 在使用以字符串表示的十六进制字符串模数时不起作用)。
  • 修复了错误 #28512(分配足够的内存来存储 MSSQL 数据)。
  • 修复了错误 #28466(mbstring_convert_variables() 数组分隔问题)。
  • 修复了错误 #28175(允许捆绑的 GD 针对 freetype 2.1.2 编译)。
此版本发布有 单独的公告

版本 4.3.8

  • 修复了 strip_tags(),使其能够正确处理“\0”字符。(Stefan)
  • 当使用 memory_limit 时,改进了启动期间的稳定性。(Stefan)
  • 用 emalloc() 替换 alloca(),以获得更好的堆栈保护。(Ilia)
  • 在 ftok 和 itpc 内部添加了缺少的 safe_mode 检查。(Ilia)
  • 修复了错误 #28963 修复了 IMAP 扩展中的地址分配例程。(Ilia)
  • 修复了错误 #28632 防止通过 MySQL 的 LOAD DATA LOCAL 绕过 open_basedir。(Ilia)
此版本发布有 单独的公告

版本 4.3.7

  • 将捆绑的 GD 库升级到 2.0.23。(Ilia)
  • 更改了用户错误处理机制,如果它返回 false,则将错误传递给内置的错误处理程序。(Andrei)
  • 修复了 win32 的命令行转义例程。(Ilia)
  • 修复了 *printf() 函数和“%f”格式化的问题。(Marcus)
  • 修复了 pg_copy_(to|from) 函数内部可能发生的崩溃,如果分隔符的长度超过 1 个字符。(Ilia)
  • 修复了 cpdf_place_inline_image() 在处理真彩色图像时发生的崩溃。(Ilia)
  • 修复了 mssql_execute() 中存储过程返回值的处理方式,该过程返回了多个结果集。(Frank)
  • 修复了 session_register() 中的逻辑错误,该错误允许注册 _SESSION 和/或 HTTP_SESSION_VARS。(Sara)
  • 修复了错误 #28597(xmlrpc_encode_request() 在 200-210 范围内的字符编码不正确)。(fernando dot nemec at folha dot com dot br, Ilia)
  • 修复了错误 #28569(informix 连接 ID 不是线程安全的)。(novicky at aarongroup dot cz, Ard)
  • 修复了错误 #28564(在构建 informix 作为共享扩展时存在问题)。(roques at mti dot ag, Ilia)
  • 修复了错误 #28508(如果 libc 不支持,则不要使用 hypot())。(Ilia)
  • 修复了错误 #28506(允许 imagearc 和 imagefilledarc 中使用负起始角)。(Pierre)
  • 修复了错误 #28456(上传文件中包含的“/”问题)。(Antony)
  • 修复了错误 #28386(wordwrap() 在换行时过早地换行 1 个字符)。(Ilia)
  • 修复了错误 #28374(_php_pgsql_trim_message() 内部可能存在未结束的循环)。(Ilia)
  • 修复了错误 #28355(glob() 在 Linux 上没有权限打开目录时不会返回错误)。(Ilia)
  • 修复了错误 #28289(glob() 在 windows 中通过不正确的解析相对路径)。(Ilia)
  • 修复了错误 #28229(run-tests 被名称中的空格搞混了)。(Marcus)
  • 修复了错误 #28228(number_format() 不允许使用空的小数分隔符)。(Ilia)
  • 修复了错误 #28196(cURL 扩展中缺少错误常量)。(Ilia)
  • 修复了错误 #28187(parse_url() 未处理 URL 中嵌入的 IPv6)。(Sara)
  • 修复了错误 #28175(使用 FreeType 2.1.0-2.1.2 的构建问题)。(Ilia)
  • 修复了错误 #28147(在绘制抗锯齿线条时发生崩溃)。(Derick)
  • 修复了错误 #28122(dba_open db3:权限被拒绝)。(Marcus)
  • 修复了错误 #28112(sqlite_query() 在遇到格式错误的查询时使 apache 崩溃)。(Ilia, Marcus)
  • 修复了错误 #28055(feof()/pfsockopen() 存活性检查中的超时持续时间过长)。(Wez)
  • 修复了错误 #28087(不要在每次请求时强制 mysql.trace_mode 为 0)。(Ilia)
  • 修复了错误 #28042(html 中的希腊字母到实体映射不正确)。(Derick)
  • 修复了错误 #28007(使用旧版本的 FreeTDS 编译 mssql 扩展会失败)。(Frank)
  • 修复了错误 #27995(imagefilltoborder() 过早地停止填充过程)。(Ilia)
  • 修复了错误 #27810(不要在 ext/pcre 中使用 php 的 pemalloc)。(Joe Orton)
  • 修复了错误 #23220(SSL:与 IIS 通信时发生致命协议错误)。(Wez)
此版本发布有 单独的公告

版本 4.3.6

  • 在 Windows 发行版中将捆绑的 PDFLib 库更新到 5.0.3p1 版本。(Edin)
  • 将捆绑的 GD 库与 GD 2.0.22 同步。(Ilia)
  • 修复了在多线程环境中,当线程被 Web 服务器关闭时发生的崩溃。(Stas)
  • 修复了阻止 GD 扩展针对外部 GD 库 1.X 构建的错误。(Ilia, Edin, Nick Talbott)。
  • 修复了错误 #27963(会话生存期设置可能在请求之间泄漏)。(Ilia)
  • 修复了错误 #27849(configure 在简单的语法错误上崩溃)。(Derick)
  • 修复了错误 #27822(is_resource() 对已关闭的资源返回 TRUE)。(Derick)
  • 修复了错误 #27819(返回对引用参数的引用存在问题)。(Ilia)
  • 修复了错误 #27809(ftp_systype 在某些 ftp 服务器上返回空值)。(Ilia)
  • 修复了错误 #27802(当未定义 PHP_FCGI_CHILDREN 时,默认子进程数为 8)。(Ilia)
  • 修复了错误 #27780(strtotime(+1 xxx) 返回错误的日期/时间)。(Derick)
  • 修复了错误 #27769(domxml_xmltree 崩溃)。(Rob)
  • 修复了错误 #27764(获取未返回任何结果集的存储过程的返回值)。(Frank)
  • 修复了错误 #27762(SCO Openserver 没有 S_ISSOCK)。(Wez)
  • 修复了错误 #27743(确保 Money 类型被正确转换和返回)。(Frank)
  • 修复了错误 #27732(修复了 php_sab_info.h 内部的编译错误)。(Ilia)
  • 修复了错误 #27731(@ 块内部的 error_reporting() 无法设置 error_reporting 级别)。(Ilia)
  • 修复了错误 #27719(mktime 在 DST 切换前后存在问题)。(Rasmus)
  • 修复了错误 #27717(在 64 位模式下编译时测试失败)。(Ard, Derick)
  • 修复了错误 #27687(错误:在“text/*”Content-Type 标头中添加默认字符集)。(Marcus)
  • 修复了错误 #27663(使用 cURL 7.11.1 编译失败)。(Ilia)
  • 修复了错误 #27646(无法序列化/反序列化非有限数值)。(Marcus)
  • 修复了错误 #26757(session.save_path 的默认值对于 win32 来说是错误的)。(Wez)
  • 修复了 bug #26589(在选择多个类型为 money 的列时,mssql 扩展中发生了崩溃)。(Frank)
  • 修复了 bug #25547(error_handler 和带有函数调用的数组索引)。cschneid at cschneid dot com)
此版本的 单独公告 可供使用。

版本 4.3.5

  • 修复了在 imagecolortransparent 中使用无效的颜色索引和调色板图像时可能发生的崩溃。(Pierre)
  • 修复了 php-cgi,使其在 Web 上下文中运行时不会忽略命令行开关。这修复了我们的测试用例,允许使用带有 GET 部分的 INI。(Rasmus)
  • 修复了 getopt(),使其在没有 $_SERVER 的情况下也能正常工作。(Rasmus, bfrance)
  • 修复了 php_ini_scanned_files() 在没有实际解析额外的 INI 文件时发生的崩溃。(Jon)
  • 修复了 socket 扩展内部可能发生的崩溃,这是由于分配函数中缺少检查导致的。(Ilia)
  • 修复了在 --with-config-file-scan-dir 指定的目录中没有找到额外的 ini 文件时发生的零字节内存分配。(Eric Colinet, Derick)
  • 将 "allow_url_fopen" php.ini 选项更改为 PHP_INI_SYSTEM。(Sara)
  • 改进了 sybase_ct 模块:(Timm)
    • 添加了不仅可以在全局范围内定义消息处理程序,还可以在每个连接中定义消息处理程序的功能。
    • 添加了 "sybct.packet_size" php.ini 选项。
    • 将 "sybct.login_timeout" php.ini 选项更改为可以在运行时更改。
    • 修复了 sybase_set_message_handler() 中的内存泄漏。
  • 将捆绑的 GD 库与 GD 2.0.17 同步
  • 将 PCRE 库升级到 4.5 版本。(Andrei)
  • 将捆绑的 PostgreSQL 库更新到 7.4 版本(Windows 发行版)。(Edin)
  • 添加了对 --program-prefix 和 --program-suffix 配置选项的支持。(Jani)
  • 在使用 ftp_(n)list() 时创建临时流失败时,添加了一个警告。(Sara)
  • 修复了 NSAPI SAPI 模块中的标头处理程序(忽略了 header->replace,send_default_content_type 现在从 php.ini 发送值)。(Uwe Schindler)
  • 修复了 bug #27633(ftp_get() 在 ASCII 模式下进行错误的 EOL 转换)。(Ilia)
  • 修复了 bug #27600(GCC 3.0.4 不喜欢 __attribute__ 指令)。(Sascha)
  • 修复了 bug #27590(在 ZTS 模式下释放持久资源时,在关闭期间发生崩溃)。(Ilia)
  • 修复了 bug #27582(imagefilltoborder() 中可能发生的崩溃)。(Pierre)
  • 修复了 bug #27580(ap2 处理程序中的预初始化错误没有被写入 vhost 错误日志)。(Ilia)
  • 修复了 bug #27559(修正了 open_basedir 解析逻辑)。(Ilia)
  • 修复了 bug #27530(当 safe_mode 打开且 PCRE 禁用时,http 身份验证出现故障)。(Ilia)
  • 修复了 bug #27509(getaddrinfo() 出现故障导致 fsockopen() 错误)。(Sara)
  • 修复了 bug #27505(htmlentities() 未能正确处理 BIG5)。(Ilia, ywliu at hotmail dot com)
  • 修复了 bug #27498(对不存在的目录使用 chdir() 和 opendir() 函数时,出现虚假的 safe_mode 错误)。(Ilia)
  • 修复了 bug #27460(base64_decode() 未能处理额外的填充)。(Ilia, naish at klanen dot net)
  • 修复了 bug #27443(defined() 返回错误的类型)。(Derick)
  • 修复了 bug #27437(GD 库中的 freetype 包含错误)。(Ilia)
  • 修复了 bug #27424(在 apache 2 SAPIs 中,flush() 缺少标头)。(Ilia)
  • 修复了 bug #27421(mbstring.func_overload 应为系统 ini 设置)。(Ilia)
  • 修复了 bug #27384(unpack() 在使用 1 字符字符串时出现异常行为)。(GeorgeS)
  • 修复了 bug #27383(在解析响应代码时,fopen_wrapper 内部可能发生崩溃)。(Ilia)
  • 修复了 bug #27354(模运算符导致 PHP 崩溃)。(Derick)
  • 修复了 bug #27341(HEAD 请求无法返回数据)。(Ilia)
  • 修复了 bug #27337(sapi/isapi 中缺少 sapi_shutdown() 导致内存泄漏)。(Jani, msisolak at yahoo dot com)
  • 修复了 bug #27328(ftp 扩展依赖于 32 位长整数)。(Sara)
  • 修复了 bug #27300(改进了 pg_convert() 的正则表达式)。(benjcarson at digitaljunkies dot ca, Ilia)
  • 修复了 bug #27295(sscanf() 内部出现内存泄漏)。(Ilia)
  • 修复了 bug #27293(image2wbmp() 内部出现两次崩溃)。(Ilia)
  • 修复了 bug #27291(get_browser 错误地匹配了 browscap.ini 模式)。(Jay)
  • 修复了 bug #27278(*printf() 函数将参数视为按引用传递)。(Ilia)
  • 修复了 bug #27238(iptcparse() 函数遗漏了一些字段)。(Pierre)
  • 修复了 bug #27235(Interbase NUMERIC x.0 字段在值为 0 时返回空字符串)。(Ard)
  • 修复了 bug #27196(apache 2 sapis 中缺少 content_length 初始化)。(Ilia, pdoru at kappa dot ro)
  • 修复了 bug #27183(用户空间流包装器在 stream_write 上发生段错误)。(Moriyoshi)
  • 修复了 bug #27175(PHP 在启动时未调用 tzset())。(Ilia, sagawa at sohgoh dot net)
  • 修复了 bug #27172(gmp_powm() 中可能发生的浮点异常)。(Ilia)
  • 修复了 bug #27171(gmp_hamdist() 内部发生崩溃)。(Jani)
  • 修复了 bug #27157(Solaris 8 上的编译失败)。(Timm)
  • 修复了 bug #27149(oci8 扩展中的 CLOB 支持出现故障)。(Antony)
  • 修复了 bug #27135(mb_strlen() 内部可能发生的崩溃)。(Moriyoshi)
  • 修复了 bug #27104(CLI/CGI SAPI 模块变量名冲突)。(Marcus)
  • 修复了 bug #27058(使用 2 个参数调用 sybase_connect() 时发生崩溃)。(Ilia)
  • 修复了 bug #27056(在一些 GD 函数中,使用 int 而不是长整数)。(Ilia)
  • 修复了 bug #27040(将表单字段数组传递给 CURLOPT_POSTFIELDS 无法正常工作)。(Ilia, Jani)
  • 修复了 bug #27037(修复了 apache2handler 输出代码中可能发生的崩溃)。(Ilia)
  • 修复了 bug #27026(添加了 "cgi.nph" php.ini 选项,以允许强制使用通常不需要的 'Status: 200' 标头)。(Ilia)
  • 修复了 bug #27011(preg_match*() 函数中存在 64 位 int/long 混淆)。(Ilia)
  • 修复了 bug #27007(在 pgsql 中,连接失败时缺少连接关闭)。(Ilia)
  • 修复了 bug #26974(rename() 未能针对 safe_mode/open_basedir 检查目标文件)。(Ilia)
  • 修复了 bug #26973(*printf() 的 '+' 修饰符出现故障)。(Jani)
  • 修复了 bug #26969(--with-openssl=shared 构建失败)。(Jani)
  • 修复了 bug #26968(Interbase 模块以共享方式构建时发生段错误)。(Ard)
  • 修复了 bug #26949(当 ZTS 启用时,rand(min,max) 始终返回 min)。(Jani)
  • 修复了 bug #26937(xml.c 中的警告)。(Jani)
  • 修复了 bug #26927(preg_quote() 未能转义 \0)。(Ilia)
  • 修复了 bug #26923(ext/imap:以共享扩展方式构建时,缺少 pam 和 crypt 库)。(Jani)
  • 修复了 bug #26909(在 imap_mime_header_decode() 中,当未使用编码时发生崩溃)。(Ilia)
  • 修复了 bug #26896(ext/ftp 无法作为共享扩展使用)。(Jani)
  • 修复了 bug #26892(ocinewcollection() 调用时出现 ORA-21301 错误)。(Antony)
  • 修复了 bug #26878(使用不同类型对同一个变量进行多次引用时出现问题)。(Ilia)
  • 修复了 bug #26864(pg_(update|delete) 忽略了 PGSQL_DML_EXEC 选项)。(Ilia)
  • 修复了 bug #26862(ob_flush() 后跟 output_reset_rewrite_vars() 可能导致数据丢失)。(Ilia, scottmacvicar at ntlworld dot com)
  • 修复了 bug #26847(当 to/subject 仅包含空格时,mail() 中出现内存泄漏)。(Ilia)
  • 修复了 bug #26814(当包含的文件出现解析错误时,终止脚本执行)。(Ilia)
  • 修复了 bug #26777(ext/interbase:让数据库处理 NULL 参数)。(Ard)
  • 修复了 bug #26772#26967(文件操作返回 NULL 而不是 FALSE)。(Wez, Ilia)
  • 修复了 bug #26758(FastCGI 立即退出,状态为 255)。(Ilia, tcarter at noggin dot com dot au)
  • 修复了 bug #26755(CLI 现在会覆盖 php.ini 设置并关闭输出缓冲)。(Edin)
  • 修复了 bug #26753(zend_fetch_list_dtor_id() 未能检查 NULL 字符串)。(Jani, Markus dot Lidel at shadowconnect dot com)
  • 修复了 bug #26752(当 fgets()、fread() 和 fgetss() 的长度参数为 0 时,出现静默的未终止循环)。(Ilia)
  • 修复了 bug #26751(PHP 无法在区分大小写的文件系统上找到 MySQL 套接字)。(Derick)
  • 修复了 bug #26703(字符串中某些字符被错误地视为关键字)。(vrana [at] php [dot] net, Ilia)
  • 修复了 bug #26699(mbstring 未能将 "binary" 识别为有效编码)。(nirva-php at ishiboo dot com, Moriyoshi)
  • 修复了 bug #26667(为 ip2long() 添加了安全检查)。(Ilia)
  • 修复了 bug #26653(open_basedir 在 win32 上解析错误)。(Ilia, scottmacvicar at ntlworld dot com)
  • 修复了 bug #26639(mb_convert_variables() 会超出引用范围污染变量)。(Moriyoshi)
  • 修复了 bug #26635(修复了在当前目录中查找字体(使用 ZTS))。(Ilia)
  • 修复了 bug #26625(pg_convert 对字符数据类型错误地设置了 NULL)。(Ilia)
  • 修复了 bug #26604(Apache2 SAPIs 隐式地禁用 Keep-Alive)。(Ilia)
  • 修复了 bug #26595(ext/domxml:XSLT_NAMESPACE 未声明)。(Christian)
  • 修复了 bug #26565(strtotime("this month") 解析到错误的月份)。(Jani)
  • 修复了 bug #26564(ncurses5 的标头位于 PREFIX/include/ncurses/)。(Jani)
  • 修复了 bug #26548(ext/session:HTTP 日期标头格式错误)。(Derick)
  • 修复了 bug #26531(ext/domxml:get_elements_by_tag_name() 通配符失败)。(Rob Richards)
  • 修复了 bug #26488(ext/dio/dio.c 中缺少 CRTSCTS 的声明)。(Jani)
  • 修复了 bug #26467(flock() 未能强制将 "wouldblock" 参数按引用传递)。(Wez)
  • 修复了 bug #26463(对分号(在 heredoc 之后)的处理不正确)。(Ilia)
  • 修复了 bug #26462(phpize + ext/bcmath -> 编译错误)。(Jani)
  • 修复了 bug #26461(LIBS 中缺少 -lssl)。(Jani)
  • 修复了 bug #26458(var_dump()、var_export()、debug_zval_dump() 对数组键不是二进制安全的)。(Ilia)
  • 修复了 bug #26447(--with-openssl=shared 导致编译错误)。(Jani)
  • 修复了 bug #26446(domxml_open_file() 返回一个空错误数组)。(Rob)
  • 修复了 bug #26440(MFH 缺少上下文选项)。(Ilia)
  • 修复了 bug #26438(thttpd SAPI 安装中的错误)。(Jani)
  • 修复了 bug #26415(将 Windows 发行版中的捆绑 OpenSSL DLL 更新到 0.9.7c)。(Edin)
  • 修复了 bug #26407(在事务周围,结果集获取出现故障)。(Timm)
  • 修复了 bug #26391(parse_url() 会破坏包含范围为 \x80-\xff 的字符的字符串)。(Moriyoshi)
  • 修复了 bug #26384(domxslt->process() 中发生崩溃)。(Christian)
  • 修复了 bug #26381(rand() 在没有 srand() 的情况下,在某些 php.ini 中无法正常工作)。(Jani)
  • 修复了 bug #26376(ext/odbc/config.m4 中的拼写错误:DBMaker 测试失败)。(Jani)
  • 修复了 bug #26355(flock() 未能初始化 wouldblock 参数)。(Ilia)
  • 修复了 bug #26309(修复了 imageftbbox() 的参数解析)。(Ilia)
  • 修复了 bug #26304(打开 dba 文件时意外丢失数据)。(Marcus)
  • 修复了 bug #26285(escapeshellarg() 在 windows 上使用错误的引号)。(Ilia)
  • 修复了 bug #26267(gmp_random() 出现内存泄漏,无法生成随机数)。(Jani)
  • 修复了错误 #26253 (ext/tokenizer: 构建共享扩展失败)。(Jani)
  • 修复了错误 #26235 (yp_first/yp_next 没有指定正确的键长度)。(Ilia)
  • 修复了错误 #26216 (使用远程文件时,“getimagesize(): 流不支持查找”)。(Marcus)
  • 修复了错误 #26201 (ibase_trans() 在无效链接句柄上崩溃)。(Ilia)
  • 修复了错误 #26198 (strtotime() 处理 M/F Y 日期格式)。(Ilia)
  • 修复了错误 #26194 (iconv() 在 libiconv 中未正确定义)。(Steph、Frank、Moriyoshi)
  • 修复了错误 #26176 (修复了 INI 文件中数字键的处理)。(Ilia)
  • 修复了错误 #26168 (phpize 中的 shtool 可用性检查)。(robbat2 at gentoo dot org、Ilia)
  • 修复了错误 #26148 (在类型不匹配时修改变量之前打印通知)。(morten-bugs dot php dot net at afdelingp dot dk、Ilia)
  • 修复了错误 #26128 (mbstring 在 phpinfo() 中打印出错误的信息)。(Moriyoshi)
  • 修复了错误 #26113 (在 ftp_get/ftp_nb_get 失败时删除剩余的本地文件)。(Ilia)
  • 修复了错误 #26105 (在 GCC 版本 3.0.X 上编译失败)。(Ilia)
  • 修复了错误 #26103 (ext/mime_magic 导致 ext/mssql 编译失败)。(Jani)
  • 修复了错误 #26097 (gdImageColorClosestAlpha() 返回不正确的结果)。(sprice at wisc dot edu、Ilia)
  • 修复了错误 #26042 (如果在每次 mcrypt_generic_init() 调用后没有调用 mcrypt_generic_deinit(),就会发生内存泄漏)。(Ilia)
  • 修复了错误 #26025 (在 *BSD 平台上,在没有 GLOB_NOCHECK 或 GLOB_NOMAGIC 的情况下,glob() 会导致段错误)。(Moriyoshi)
  • 修复了错误 #26005 (随机出现“无法更改会话 ini 设置”错误)。(Jani、jsnajdr at kerio dot com)
  • 修复了错误 #26003 (使 fgetcsv() 成为二进制安全的)。(Ilia、Moriyoshi)
  • 修复了错误 #25963 (PostgreSQL 错误消息包含 \n 字符)。(Marcus、Ilia)
  • 修复了错误 #25939 (feof() 对套接字不起作用)。(Wez)
  • 修复了错误 #25916 (get_browser() -> PHP 致命错误:嵌套层级过深 - 递归依赖?)。(Uwe Schindler)
  • 修复了错误 #25794 (无法使用写入打开现有的 hash db3 文件”ext/dba)。(Marcus)
  • 修复了错误 #25753 (php.ini 设置从 vhosts/.htaccess 文件“泄漏”)。(补丁作者:rover at tob dot ru)
  • 修复了错误 #25694 (round() 和 number_format() 给出不一致的结果)。(Ilia)
  • 修复了错误 #25664 (使用虚假参数调用 ITypeInfo::Invoke)。(Wez)
  • 修复了错误 #25581 (getimagesize() 在位图 (os2) 文件上返回不正确的值)。(Marcus)
  • 修复了错误 #25329 (sqlite_create_function 带方法和对 $this 的引用)。(Marcus)。
  • 修复了错误 #24773 (将字符串取消设置为空会导致崩溃)。(Sara)
  • 修复了错误 #24773 (取消设置字符串偏移量会导致 PHP 崩溃)。(Moriyoshi、Sara)
  • 修复了错误 #24582 (扩展在 Solaris/iPlanet 中无法动态加载)。(Jani)
  • 修复了错误 #23467 (date('T') 输出不正确的时区)。(Jani、scottmacvicar at ntlworld dot com)
  • 修复了错误 #22403 (PHP 在执行没有参数的 SQL 过程时崩溃)。(Timm)
  • 修复了错误 #22127 (当强制 cgi 重定向安全机制触发时,响应代码无效)。(Ilia、scottmacvicar at ntlworld dot com)
  • 修复了错误 #21760 (php_read() 内部使用未初始化的指针)。(Ilia、uce at ftc dot gov)
  • 修复了错误 #21513 (如果超时,关闭函数不会执行)。(Zeev)
  • 修复了错误 #21070 (ftp_genlist/ANSI-tmpfile() 在某些平台上失败)。(Sara)
此版本有一个 单独的公告 可供使用。

版本 4.3.4

  • 使 MCVE 扩展在 win32 上可用。(Jani)
  • 升级了捆绑的 libfcgi 并使 FastCGI 支持在 Win32 上可行。(Sascha)
  • 添加了 apache_get_version() 函数。(Ilia)
  • 修复了 FreeBSD 下的 disk_total_space() 和 disk_free_space()。(Jon Parise)
  • 修复了使用不存在的保存/序列化处理程序时的崩溃错误。(Jani)
  • 修复了 gethostbynamel() 在发生错误时的内存泄漏。(Sara)
  • 修复了 FastCGI 无法绑定到特定 IP 的问题。(Sascha)
  • 修复了多字节正则表达式引擎,使其在 POSIX 兼容模式下正确处理“.*”模式。(K.Kosako <kosako at sofnec.co.jp>、Moriyoshi)
  • 修复了错误 #25955 (在 MacOSX 10.3 Panther 上编译失败)。(Marko、Dan)
  • 修复了错误 #25923 (mail() 修改了 to 和 subject 参数)。(Ilia)
  • 修复了错误 #25922 (当第五个参数被修改时,错误处理程序中出现崩溃)。(Ilia)
  • 修复了错误 #25918 (mime_content_type() 中可能出现的崩溃)。(Ilia)
  • 修复了错误 #25900 (document->get_elements_by_tag_name 带默认 xmlns)。(Rob)
  • 修复了错误 #25895 (对受 safe_mode 限制的 ini 选项的错误检测)。(Ilia)
  • 修复了错误 #25888 (当 xpath_eval 命名空间时,php.exe 崩溃)。(Rob)
  • 修复了错误 #25836 (通过 GPC 传递的多维数组的最后一个键在 magic_quotes_gpc 打开时没有被转义)。(Ilia)
  • 修复了错误 #25825 (在请求关闭时,没有调用 tzset() 来重置 libc 环境)。(Wez)
  • 修复了错误 #25814 (当使用第三个参数时,使 flock() 返回正确的值)。(Ilia)
  • 修复了错误 #25800 (parse_url() 无法解析带有空端口的 URL)。(Ilia)
  • 修复了错误 #25780 (ext/session: 无效的“session.cookie_lifetime”会导致 session_start() 在 win32 中崩溃)。(Jani)
  • 修复了错误 #25777 (不要从 mssql 获取的文本字段中删除尾部空格)。(Ilia)
  • 修复了错误 #25770 (PHP 和 bison 1.875 发生段错误)。([email protected]、Marcus)
  • 修复了错误 #25764 (ldap_get_option() 在未绑定的 ldap 链接上崩溃)。(Jani)
  • 修复了错误 #25758 (var_export 不会转义数组键中的 ' & \)。(Ilia)
  • 修复了错误 #25752 (ext/ncurses: 在 BSD 中使用 ncurses.h 代替 curses.h)。(Jani)
  • 修复了错误 #25746 (在无法更改系统上有问题的 getcwd() 的原始目录时,不要退出)。(Ilia)
  • 修复了错误 #25745 (ctype 函数在非 ASCII 字符上失败)。(Moriyoshi)
  • 修复了错误 #25744 (使 ext/sybase 的 ZTS 版本编译)。(Ilia)
  • 修复了错误 #25738 (Darwin 平台上的 alloca() 相关问题)。(Moriyoshi)
  • 修复了错误 #25708 (extract($GLOBALS, EXTR_REFS) 会破坏 $GLOBALS)。(Moriyoshi)
  • 修复了错误 #25707 (html_entity_decode() 过度解码 &lt;)。(Moriyoshi)
  • 修复了错误 #25703 (openssl 配置检查失败)。(Jani)
  • 修复了错误 #25701 (在 flush() 上设置 apache2handler 中的 headers_sent)。(Ilia)
  • 修复了错误 #25671 (str_replace() 会破坏子数组)。(Sara)
  • 修复了错误 #25669 (eregi() 使用非 ASCII 字符)。(Moriyoshi)
  • 修复了错误 #25665 (var_dump() 在 Nan 和 INF 上挂起)。(Ilia)
  • 修复了错误 #25648 (xslt_set_encoding() 未正确检测)。(Jani)
  • 修复了错误 #25636 (SNMP 会话在成功后没有关闭)。(Ilia、补丁作者:nesslage at mwsc dot edu)
  • 修复了错误 #25635 (使“make tests”由于 include_path 无效而失败)。(Ilia)
  • 修复了错误 #25604 (在 phpize 构建中,HAVE_SNMP_PARSE_OID 未定义)。(Jani)
  • 修复了错误 #25583 (在 win32 中,对以“/”开头的路径的错误处理)。(Ilia)
  • 修复了错误 #25570 (当 zend_bailout 在 zend_try {} 块之外被调用时,apache2handler 中可能出现的崩溃)。(Ilia)
  • 修复了错误 #25558 (ext/dbase: 恢复了对错误 #23463 的修复)。(Vlad)
  • 修复了错误 #25530 (checkdate() 错误地处理浮点数)。(Ilia)
  • 修复了错误 #25525 (ldap_explode_dn() 在传递无效 dn 时崩溃)。(Sara、补丁作者:mikael dot suvi at trigger dot ee)
  • 修复了错误 #25504 (pcre_match_all() 在只传递 2 个参数时崩溃)。(Jani)
  • 修复了错误 #25483 (ext/informix: 来自 ifx_query() 的虚假 -469 错误)。(Jani、补丁作者:denisov at kubsu dot ru)
  • 修复了错误 #25463 (ext/cpdf: 在捆绑的 GD 中编译失败)
  • 修复了错误 #25429 (修复使用 copy() 函数复制 stdin)。(Ilia)
  • 修复了错误 #25424 (ext/informix: 在 win32 中不支持 lvarchar)。(Jani)
  • 修复了错误 #25404 (ext/pgsql: 在脚本结束时未关闭打开的事务)。(Marcus)
  • 修复了错误 #25385 (ob_gzhandler(): sapi_add_header_ex() 调用中的拼写错误)。(Jani)
  • 修复了错误 #25378 (unserialize() 在遇到无效数据时崩溃)。(Jani)
  • 修复了错误 #25372 (sscanf() 不适用于 %X)。(Jani)
  • 修复了错误 #25348 (“make install”在 --enable-short-tags 下失败)。(Jani)
  • 修复了错误 #25343 (is_dir() 在 FreeBSD 上给出警告)。(Jani)
  • 修复了错误 #25333 (在 win32 mail() 中可能发生的正文损坏和崩溃)。(Ilia)
  • 修复了错误 #25316 (_php_stream_write() 内部可能出现的无限循环)。(Ilia)
  • 修复了错误 #25314 (FTP_ASCII 模式从 Win->Unix 行为类似于二进制模式)。(Sara)
  • 修复了错误 #25308 (当加载 zend 扩展时,php -m 崩溃)。(Stas)
  • 修复了错误 #25307 (与 WDDX 序列化程序一起崩溃)。(Sascha、Jani)
  • 修复了错误 #25295 (QNX6: php_ini.c:414: 'alphasort' 未声明)。(Jani)
  • 修复了错误 #25294 (ext/ftp: NLST 失败导致在退出时崩溃)。(Sara、Rob)
  • 修复了错误 #25293 (将正确的 EOL 输出到 error_log)。(Ilia)
  • 修复了错误 #25239 (ftp_fopen_wrapper 不符合 RFC)。(Sara)
  • 修复了错误 #25218 (“deflate”压缩页面有一个 gzip 头)。(Stefan)
  • 修复了错误 #25211 (image.c 在 AIX 上编译失败)。(Marcus)
  • 修复了错误 #25166 (win32 中缺少 WDDX 序列化程序处理程序)。(Jani)
  • 修复了错误 #25109 (在 pgsql 中获取字段名称时可能出现的崩溃)。(Ilia)
  • 修复了错误 #25106 (在 bzopen() 模式上添加了更严格的检查)。(Ilia)
  • 修复了错误 #25070 (在 win32 上关闭会话文件之前解锁它们)。(Ilia)
  • 修复了错误 #24402 (在 gettext 0.12.x 上编译失败)。(Jani)
  • 修复了错误 #23488 (zlib.output_compression 覆盖了 Vary 头)。(Stefan)
  • 修复了错误 #23326 (ext/domxml: 不支持通过 append_child 添加属性)。(Melvyn)
  • 修复了错误 #21220 (phpinfo() 输出中显示的 Apache 版本错误)。(Jani)
  • 修复了错误 #18534 (ifx_close() 会留下打开的会话)。([email protected]
  • 修复了错误 #14049 (realpath() 对不存在的路径返回无效的结果)。(Ilia)
此版本有一个 单独的公告 可供使用。

版本 4.3.3

  • 将捆绑的 GD 库与 GD 2.0.15 同步。(Ilia)
  • 将捆绑的 Expat 库升级到版本 1.95.6。(Jani)
  • 将捆绑的 PCRE 库升级到版本 4.3。(Andrei)
  • 改进了引擎,在可行的情况下使用 POSIX/socket IO。(Sascha)
  • 改进了 NSAPI SAPI 模块(Uwe Schindler)
    • php4_init (magnus.conf):新参数用于设置 php.ini 的备用路径。(php_ini="/path/to/php.ini")
    • php4_execute (obj.conf):支持额外的 php.ini 值。允许每个虚拟服务器使用不同的设置。(有关更多信息,请参见 sapi/nsapi/nsapi-readme.txt)
    • 添加了对 virtual() 的支持。
    • 添加了 nsapi_request_headers() 和 nsapi_response_headers(),并为 apache 兼容性添加了别名。
    • 添加了 "nsapi.read_timeout" php.ini 选项。
    • 同步了 $_SERVER 变量,使其与 Apache 变量类似。
    • 添加了使用 PHP 生成 HTTP 错误页面的可能性(404 Not Found..)
    • 添加了使用 PHP 为没有 index.html 的目录生成目录列表的可能性
  • 改进了 IMAP 扩展(Ilia)
    • 添加了 imap_timeout() 函数。(bug #24161
    • 为 imap_search() 和 imap_sort() 添加了可选的 'charset' 参数。(bug #22505
  • 改进了 InterBase 扩展(Daniela)
    • 添加了事务常量:IBASE_REC_VERSION、IBASE_REC_NO_VERSION、IBASE_WRITE、IBASE_WAIT 和 IBASE_CONCURRENCY。(bug #8797#23887
    • 使数字/小数数据类型处理在任何平台上都能工作。
  • 添加了 DBA 处理程序 'inifile' 以支持 ini 文件。(Marcus)
  • 当使用 --enable-debug 时,在 'php -v' 输出中添加了 "DEBUG" 注释。(Derick)
  • 在 CLI & CGI 中添加了长选项(例如 --version)。(Marcus)
  • 为 preg_match*() 添加了一个新参数,可用于指定要匹配的主题字符串中的起始偏移量。(Andrei)
  • 修复了可能出现的整数溢出
    • base64_encode()。(Moriyoshi)
    • 捆绑的 GD 库。(Ilia)
  • 修复了 "mysql.connect_timeout" php.ini 选项,使其可以使用 ini_set() 设置。(Rasmus)
  • 修复了 ext/yaz,如果未设置 "yaz.log_file" php.ini 选项,则不会记录。(Adam)
  • 修复了捆绑的 libmysql 中的一个错误(mysql 错误 564)。(Georg)
  • 修复了 ext/exif,使其遵守 "magic_quotes_runtime" php.ini 选项。(Marcus)
  • 修复了 FastCGI IIS 文档根目录问题。(Shane)
  • 修复了 multipart/form-data 中包含 0x5c 作为第二个字节的多字节字符的损坏。(Rui)
  • 修复了 imagerotate() 在使用无效颜色索引作为背景颜色时可能发生的崩溃。(Pierre-Alain Joye)
  • 修复了一个错误,该错误在某些情况下可能会使 safe_mode 无效。(Ilia)
  • 修复了 openssl_csr_sign() 中的证书版本并允许设置序列号。(Stefan Roehrich)
  • 修复了 each(),使其对键二进制安全。(Zeev)
  • 修复了错误 #25093(由于未释放的查询导致各种泄漏)。(Ilia)
  • 修复了错误 #25084(使引用检查不依赖于 register_globals)。(Ilia)
  • 修复了错误 #25081(odbc_fetch_array() 可能会破坏数字字段)。(Ilia)
  • 修复了错误 #25044(header("Location:") 更改 HTTP 状态)。(Marcus)
  • 修复了错误 #25037(SendText() 内可能出现无限循环)。(Ilia)
  • 修复了错误 #25007(rand() & mt_rand() 每次调用都会播种 RNG)。(Jani)
  • 修复了错误 #24989(外部 libexpat 与捆绑的 libexpat 冲突)。(Jani)
  • 修复了错误 #24980(array_reduce() 使用第一个元素作为默认运行总数)。(Ilia)
  • 修复了错误 #24977(还原 mysql_select_db 优化)。(Ilia)
  • 修复了错误 #24958(对 404 的错误处理)。(Ilia、Justin)
  • 修复了错误 #24951(ob_flush() 不必要地销毁输出处理程序)。(Ilia)
  • 修复了错误 #24936(ext/fdf 未正确链接为共享扩展)。(Jani)
  • 修复了错误 #24909(Solaris 上使用 ZTS 构建时随机数字错误)。(Ilia)
  • 修复了错误 #24897(shuffle() & array_multisort() 的行为不一致)。(Ilia、Jani)
  • 修复了错误 #24883(variables_order 和 gpc_order 被忽略)。(Ilia)
  • 修复了错误 #24873(对 open_basedir 内部的 / 处理不正确)。(Ilia)
  • 修复了错误 #24871(方法被错误地识别为构造函数)。(Ilia)
  • 修复了错误 #24827(ob_gzhandler 覆盖 Vary 标头)。(Ilia)
  • 修复了错误 #24792(--enable-zend-multibyte 导致使用 ZTS 时出现随机段错误)。(fujimoto)
  • 修复了错误 #24783(foreach($ar as $key => $val),$key 不是二进制安全)。(Zeev)
  • 修复了错误 #24760(非默认 SNMP 端口号无法正常工作)。(Jani)
  • 修复了错误 #24752(未处理的 "uniqueidentifier" 字段类型)。(Ilia、s.sonnenberg[at]coolspot.de)
  • 修复了错误 #24710(当使用 $obj->{0} 时崩溃)。(Zeev)
  • 修复了错误 #24663(\n. 序列未被转义)。(Ilia)
  • 修复了错误 #24640(var_export() 和 var_dump() 无法输出大型浮点数)。(Marcus)
  • 修复了错误 #24629(FreeBSD select() 不喜欢大型微秒值)。(Mirco Bauer)。
  • 修复了错误 #24609(ext/domxml:在使用跨不同文档替换节点时出现段错误)。(Rob Richards)
  • 修复了错误 #24594(imagefill() 函数的重写)。(Pierre-Alain Joye)
  • 修复了错误 #24592(会话扩展中与 NULL 相关的崩溃)。(Sascha)
  • 修复了错误 #24573(如果将 $this 设置为 null,则 debug_backtrace() 会崩溃)。(Jani)
  • 修复了错误 #24560(parse_url() 错误地处理某些基于 file:// 的模式)。(Ilia)
  • 修复了错误 #24557(使 fclose() 尊重资源的 refcount)。(Wez、Ilia)
  • 修复了错误 #24537(apache2 编译缺少一些包含目录)。(Jani)
  • 修复了错误 #24535(ext/mysql:在从未缓冲的结果中检索数据后,原始连接已更改时,会崩溃)。(Ilia)
  • 修复了错误 #24519(aggregate_methods_by_list() 未增加 refcount)。
  • 修复了错误 #24313(当使用 open_basedir 时,file_exists() 对不存在的文件发出警告)。(Ilia)
  • 修复了错误 #24312(base64_decode() 不会跳过 0xF0-0xFF 字符)。(gereon.steffens[at]onvista.de、Ilia)
  • 修复了错误 #24284(修复了 pg_ping() 内部的内存泄漏)。(Ilia)
  • 修复了错误 #24249(fdf_add_doc_javascript() 在 Windows 上不可用)。(Edin)
  • 修复了错误 #24224(ibase_blob_get() 溢出)。(Ard)
  • 修复了错误 #24223(捆绑的 gd 中缺少变量初始化)。(Ilia)
  • 修复了错误 #24220(range() 未正确处理数字字符串)。(Ilia)
  • 修复了错误 #24210(未检测到 assume_default_colors - 拼写错误)。(Sara)
  • 修复了错误 #24198(array_merge_recurcive() 中的递归检测无效)。(Ilia)
  • 修复了错误 #24177(Apache 2 中 flush() 后状态未正确设置)。(Ilia)
  • 修复了错误 #24155(gdImageRotate270 错误地将 x 参数用于 y 轴)。([email protected]、Ilia)
  • 修复了错误 #24150(imap_fetch_overview() & imap_rfc822_write_address() 中的崩溃)。(Ilia)
  • 修复了错误 #24142(解决影响 round() 的 gcc 错误)。(Marcus、Ilia)
  • 修复了错误 #24063(serialize() 在科学计数法中缺少 . 后的 0)。(Marcus、Ilia)
  • 修复了错误 #24063(*printf() 中的科学计数法出现问题)。(Ilia)
  • 修复了错误 #24060(ncurses_del_panel() 导致段错误)。(Georg)
  • 修复了错误 #24054(GCC/x86 中使用 *= 时出现整数溢出错误)。(Sascha)
  • 修复了错误 #24028(通过 php://input 读取原始发布消息失败)。(Jani)
  • 修复了错误 #24009(FastCGI 处理文件未找到)。(Shane)
  • 修复了错误 #24007(register_globals & 数组存在问题)。(Ilia)
  • 修复了错误 #23951(静态初始化器中的常量被继承覆盖)。(Wez、Zend Engine)
  • 修复了错误 #23936(ext/interbase:选择和获取失败)。(Ard)
  • 修复了错误 #23913(使 rename() 在 *nix 上跨分区工作)。(Ilia)
  • 修复了错误 #23912(phpinfo() 输出中的 CSS 无效)。(Ilia)
  • 修复了错误 #23902(CGI 标头输出中的 NULL)。(Shane)
  • 修复了错误 #23898(odbc_result、odbc_fetch_into 和 odbc_result_all 中对 NULL 的正确处理)。(Ilia)
  • 修复了错误 #23897(修复了对 mbfilter_ru.h 的检查)。([email protected]、Ilia)
  • 修复了错误 #23894(sprintf() 小数说明符问题)。(Moriyoshi)
  • 修复了错误 #23888(缺少对 flags 参数的输入验证)。(Ilia)
  • 修复了错误 #23808(imagecopymerge() 损坏)。(Pierre-Alain Joye)
  • 修复了错误 #23798(Bcc 标头中未剥离空格)。(Ilia)
  • 修复了错误 #23792(imagerotate() 在有限调色板方面存在问题,该函数将始终从现在开始返回真彩色图像)。(Pierre-Alain Joye)
  • 修复了错误 #23779(mysql_connect():如果设置了 php.ini 选项 "open_basedir",则禁用本地 infile 选项)。(Georg)
  • 修复了错误 #23769(在 FreeBSD 中,当模式未找到时,glob() 会给出错误的结果)。(Hartmut)
  • 修复了错误 #23733(使用 Oracle 9+ 时启动时发生核心转储)。(Edin)
  • 修复了错误 #23685(当 OID 值为空字符串时,会返回假值)。(Jani)
  • 修复了错误 #23664(FastCGI 套接字监听)。(Shane)
  • 修复了错误 #23509(从 register_shutdown_function() 调用 exit() 时,退出代码丢失)。(Ilia)
  • 修复了错误 #23463(添加了 Dbase2 版本检查)。(Vlad Krupin)
  • 修复了错误 #23285(zendlex 中存在潜在的堆栈溢出)。(Wez)
  • 修复了错误 #23104(静态数组的哈希位置未重置)。(Ilia)
  • 修复了错误 #23038#23574(aggregate() 相关的泄漏和崩溃)。(Andrei)
  • 修复了错误 #22947(win32/sendmail.c 中的 Ack() 在某些情况下可能会停顿)。(Ilia)
  • 修复了错误 #22690(ob_start() 不适用于 create_function() 回调)。(Marcus)
  • 修复了错误 #22592(使用大括号对字符串进行级联赋值出现问题)。(Stas)
  • 修复了错误 #22245($_SESSION 内部的引用未被处理)。(Ilia)
  • 修复了错误 #22154(当达到 memory_limit 并使用输出缓冲以及 session.use_trans_sid 时,可能会发生崩溃)。(Ilia)
  • 修复了错误 #22072(Apache2 sapis 未检测到已中止的连接)。(Ilia)
  • 修复了错误 #21958(解决 AIX & Tru64 上非凡 realpath() 的问题)。(Ilia)
  • 修复了错误 #21957(serialize() 扭曲了带有 __sleep 的对象)。(Ilia)
  • 修复了错误 #21918(数组键中混合类型的奇怪行为)。(Marcus)
  • 修复了错误 #21855(HP-UX 上的线程问题)。(Roshan Naik、Andi、Moriyoshi)
  • 修复了错误 #21611(version_compare() 不支持 "p" 作为后缀)。(Stefan Walk)
  • 修复了错误 #21074(Apache2:"ErrorDocument xxx /error.php" 出现问题)。(Jani)
  • 修复了错误 #20896(使用 php-cli 时 -s -w 模式导致 php 挂起)。(Ilia)
  • 修复了错误 #19613(putenv("VAR=") 在 win32 上未清空 VAR)。(Zeev)
  • 修复了错误 #18744(blob_add() 的最大限制为 64k)。(Ard)
  • 修复了错误 #18291(escapeshellcmd() 现在可以处理带引号的参数)。(Ilia)
  • 修复了错误 #17414(pthreads 错误解决方法)。(timo.teras[at]iki.fi)
  • 修复了错误 #13142(strtotime 未处理 "M d H:i:s Y" 格式)。(Ilia)
  • 修复了错误 #11924(ibase_query()、ibase_execute() 扭曲了传递的参数)。(Jani)
  • 修复了错误 #7014(请求关闭后,_php_ibase_error() 中发生崩溃)。(Ard)
有关此版本的更多信息,请访问 我们的发行版页面

版本 4.3.2

  • 将捆绑的 GD 库与 GD 2.0.12 同步。(Ilia)
  • 已移除 Windows 上对 GDLIB 版本 1.x.x (php_gd.dll) 的支持。 (Edin)
  • 在 Windows 上,已启用捆绑的 GDLIB (php_gd2.dll) 中的只读 GIF 支持。 (Sebastian, Edin)
  • 改进了 dba 扩展。 (Marcus)
    • 添加了对 Berkeley db 库的内部错误处理的支持。
    • 由于锁定问题,禁止使用 Berkeley db 版本 4.1.0 到 4.1.24。
    • 禁止将 Berkeley db 子模块链接到具有不同主版本的库。
    • 禁止配置多个 Berkeley db 处理程序。
    • 使用新的持久 STDIO 流重新启用 dba_popen()。
  • 添加了基于旧版本 (sapi/apache2filter) 的新 Apache 2.0 SAPI 模块 (sapi/apache2handler)。 (Ian Holsman, Justin Erenkrantz)
  • 添加了 "disable_classes" php.ini 选项,允许管理员出于安全原因禁用某些类。 (Harald)
  • 为 PHP 的 CLI 版本添加了手册页。 (Marcus)
  • 在 phpize 中添加了 --clean 选项。 (Jani)
  • 在 php-config 中添加了 --ldflags 选项。 (Jani)
  • 添加了 imagesavealpha() 和 imageistruecolor() 函数。 (Pierre)
  • 为捆绑的 GD 库添加了 XBM 支持。 (Marcus)
  • 添加了 session_regenerate_id() 函数。 (Sascha)
  • 添加了 zlib_get_coding_type() 函数,该函数返回用于输出压缩的编码类型。 (Moriyoshi)
  • 添加了 OCIPasswordChange(),它允许更新过期的 Oracle 用户。 (Maxim)
  • 添加了 memory_get_usage()。 仅在 PHP 使用 --enable-memory-limit 配置时可用。 (Andrey)
  • 为 getimagesize() 添加了改进的 JPEG 2000 支持。 (Marcus, Adam Wright)
  • 为 getimagesize() 添加了 XBM 和 WBMP 支持。 (Marcus)
  • 为 htmlentities() 添加了 KOI8-R、CP866 和 CP1251 支持。 (Antony Dovgal, Moriyoshi)
  • 添加了 domdocument->free() 以从内存中释放 XML 文档。 (Rob Richards)
  • 修复了 CLI 启动错误的错误报告中的一个错误。 (Derick)
  • 修复了套接字通信期间虚假的 fsync 调用。 (Sascha)
  • 修复了 thttpd 中可能存在的虚拟主机问题。 (Sascha, [email protected])
  • 修复了从 HTTP URL 包含文件的问题。 (Sascha)
  • 修复了 domxml 中大量的内存泄漏。 (Rob Richards, Chregu)
  • 修复了 GD 的真彩色 TTF 处理中的一个错误。 (Derick)
  • 修复了几个 64 位问题。 (Dave)
  • 修复了 hwapi 扩展中的几个错误。 对象没有被正确处理。 (Uwe)
  • 修复了 bug #23788 (str|preg_replace() 会覆盖数组元素)。 (Ilia)
  • 修复了 bug #23765 (由于区分大小写,文件上传被忽略)。 (Sara)
  • 修复了 bug #23738 (ifx_copy_blob() 崩溃)。 (Jani)
  • 修复了 bug #23661 (当无效的参数作为 result_type 传递时,mysql_fetch_array() 不会发出警告)。 (Derick)
  • 修复了 bug #23619 (set_error_handler() 注册的处理程序未针对对象实例调用)。 (Jani, [email protected])
  • 修复了 bug #23606 (无法构建 --with-db4 (db4.1.25))。 (Marcus)
  • 修复了 bug #23567 (pfsockopen() 返回死连接)。 (Wez)
  • 修复了 bug #23539 (curl_exec() 产生奇怪的结果)。 ([email protected])
  • 修复了 bug #23527 (PostScript Type 1 字体渲染不正确)。 ([email protected], Ilia)
  • 修复了 bug #23402 (不正确使用 mssql_bind() 导致崩溃)。 (Frank)
  • 修复了 bug #23371 (configure 错误地检测到使用 SSL 的 c-client)。 (Jani)
  • 修复了 bug #23340 (对多个 URL 进行 fopen 导致内存损坏)。 (Wez)
  • 修复了 bug #23298 (serialize 会截断浮点数和双精度数)。 (Ilia, Marcus)
  • 修复了 bug #23232 (安全模式在 apache2 中不尊重 PHP_AUTH_* )。 (Ilia)
  • 修复了 bug #23225 (money_format() 没有处理 strfmon 的错误返回)。 (Ilia, [email protected])
  • 修复了 bug #23201 (set_file_buffer() 与 stdio 流一起崩溃)。 (Ilia)
  • 修复了 bug #23188 (使用 'c' 模式创建的 CDB 数据库无法正常工作)。 (Marcus)
  • 修复了 bug #23187 (sybase_connect/sybase_pconnect 中存在内存泄漏)。 (Ilia)
  • 修复了 bug #23162 (如果错误消息 > 1024 字节,user_error() 会崩溃)。 (Jay, Marcus, Moriyoshi)
  • 修复了 bug #23152 (在无效 URL 上,$http_response_header 为空)。 (Ilia)
  • 修复了 bug #23102 (exif_iif_add_value() 中存在整数溢出)。 (Ilia)
  • 修复了 bug #23099 (ext/interbase: libgds.so: 未定义对 'crypt' 的引用)。 (Jani)
  • 修复了 bug #23093 (highlight_string() 在 __FUNCTION__ 处崩溃)。 (Jani)
  • 修复了 bug #23080 (socket_strerror() 在 win32 上崩溃)。 (Moriyoshi)
  • 修复了 bug #23071 (当 DST 生效时,date("T") 导致 PHP 崩溃)。 (Scott MacVicar, Jani)
  • 修复了 bug #23069 (tempnam 创建只读文件 [win32])。 (Wez)
  • 修复了 bug #23009 (pg_select 带有时间戳)。 (Marcus, Jay)
  • 修复了 bug #23008 (ldap_start_tls() 在 Windows 上不可用)。 (Edin)
  • 修复了 bug #23004 (当调用 ftp_close() 时,向 ftp 服务器发送 QUIT )。 (Ilia)
  • 修复了 bug #22989 (configure 找不到 sendmail)。 ([email protected])
  • 修复了 bug #22987 (configure 中缺少 perror() 检查)。 (Jani)
  • 修复了 bug #22965 (gd 库的 ImageFillToBorder() 中崩溃)。 (Ilia)
  • 修复了 bug #22939 (imap_header_info() 中崩溃)。 (Ilia)
  • 修复了 bug #22844 (通过 -d 或 ini_set() 更改布尔值,On 将变为 Off)。 (Ilia)
  • 修复了 bug #22786 (尝试调用 DomAttribute 的 set_namespace 方法时崩溃)。 (Chregu)
  • 修复了 bug #22775 (致命错误在 CGI/CLI 中以状态 0 退出)。 (Jani)
  • 修复了 bug #22774 (PHP 在退出时崩溃 (长 XML 文档))。 (Rob Richards)
  • 修复了 bug #22751 (使用外部 libgd 时,gdcache.c 中存在编译错误)。 (Jani)
  • 修复了 bug #22721 (在没有 mmap 的系统上,file() 性能较差)。 (Wez)
  • 修复了 bug #22709 (数据库不可用时,interbase 中崩溃)。 (Vladimir Michl)
  • 修复了 bug #22681 (从无效的文件指针读取时崩溃)。 (Ilia)
  • 修复了 bug #22672 (用户未在 Apache2 下登录)。 (Ian)
  • 修复了 bug #22616 (IMAP 中 -lssl 和 -lcrypto 的顺序错误)。 (Jani)
  • 修复了 bug #22613 (imagettfbox() 不会将字距距离添加到运行位置)。 (Ilia)
  • 修复了 bug #22585 (不要在次要错误上终止脚本)。 (Ilia)
  • 修复了 bug #22550 (upload_max_filesize ini 选项的溢出保护)。 (Ilia)
  • 修复了 bug #22544 (将透明度写入真彩色 png 图像)。 (Ilia)
  • 修复了 bug #22538 (在 stdio/stdin/stderr 流上执行 stat 失败)。 (Wez, Ilia)
  • 修复了 bug #22530 (append_child 不会取消链接节点)。 (Chregu)
  • 修复了 bug #22520 (mcrypt_generic_deinit() 在 Windows 上不可用)。 (Edin)
  • 修复了 bug #22508 (添加了对循环 HTML 重定向的保护)。 (Ilia)
  • 修复了 bug #22473 (ISAPI 安全服务器变量不可用)。 (Christian Swoboda)
  • 修复了 bug #22402 (由于无效的返回代码处理,用于读写的 ftp 打开可能会失败)。 (Ilia)
  • 修复了 bug #22384 (FNM_CASEFOLD 不可使用)。 (Hartmut)
  • 修复了 bug #22382 (fgetcsv() 没有正确处理 \" )。 (Ilia)
  • 修复了 bug #22376 (使用 INSTALL_ROOT 时,会修改错误的 httpd.conf)。 (Jani)
  • 修复了 bug #22363 (fwrite()、fread() 和 fseek() 的组合会产生意外的结果)。 (Wez)
  • 修复了 bug #22355 (PHP 会从主题和收件人字段中删除折叠)。 (Ilia)
  • 修复了 bug #22330 (重载的 strrpos() 会给出错误的结果)。 ([email protected], Moriyoshi)
  • 修复了 bug #22312 (在调用 curl_getinfo() 时,连接失败时会崩溃)。 (Phil Oleson <[email protected]>)
  • 修复了 bug #22308 (优化了 passthru,代码现在快了大约 40 倍)。 (Ilia)
  • 修复了 bug #22306 (pg_lo_seek($h, 0, PGSQL_SEEK_SET) 成功但返回 false)。 (Jani)
  • 修复了 bug #22301 (htmlspecialchars() 在 Tru64 上导致 Apache 崩溃)。 (Ilia)
  • 修复了 bug #22299 (gethostbyname() 使用不存在的域在 MacOSX 上崩溃)。 (Jani)
  • 修复了 bug #22283 (打开相对 URL 时可能导致崩溃)。 (Ilia)
  • 修复了 bug #22238 (stream_select() 在 win9x 下覆盖了 fifo)。 (Wez)
  • 修复了 bug #22234 (如果源文件长度为 0,copy() 会失败)。 (Moriyoshi)
  • 修复了 bug #22227 (printf() 字段分隔符在 4.2.3 和 4.3.0 之间被破坏)。 (Moriyoshi)
  • 修复了 bug #22224 (implode() 会更改数组中的对象引用)。 (Moriyoshi)
  • 修复了 bug #22221 (postgresql 的结果对象中行数错误)。 (Marc)
  • 修复了 bug #22207 (*printf 中的 e 符号在没有指数时会缺少一个 0)。 (Ilia)
  • 修复了 bug #22220 ("php_admin_value open_basedir none" 不起作用)。 (Jani)
  • 修复了 bug #22191 (frontbase 构建在旧版本的 frontbase 中被破坏)。 (Ilia)
  • 修复了 bug #22187 (spprintf 函数没有正确处理浮点数)。 (Ilia)
  • 修复了 bug #22149 (使用制表符分隔标签元素时,会话 ID 的插入不正确)。 (Ilia)
  • 修复了 bug #22141 (删除了未记录的 Boyer str_replace() 方法)。 (Sara)
  • 修复了 bug #22103 (添加了 gdImageEllipse,并用更好的实现替换了旧的 gdImageFilledEllipse)。 (Pierre)
  • 修复了 bug #22088 (array_shift() 将下一个索引留在了 +1 处)。 (Jani)
  • 修复了 bug #22083 (MySQL 字符集目录问题在 Windows 上)。 (Edin)
  • 修复了 bug #22059 (ftp_chdir() 导致段错误)。 (Sara)
  • 修复了 bug #22048 (当电子邮件包含大量特殊字符时,imap_header() 中崩溃)。 (Ilia)
  • 修复了 bug #22042 (pg_result_seek() 由于总是搜索到请求的行后面的行,因此永远不会搜索到结果中的第一行)。 (Ilia)
  • 修复了 bug #22031 (使 curl_write() 和 curl_write_header() 成为二进制安全的)。 (Ilia)
  • 修复了 bug #22022 (如果主体为空数组,则 imap_mail_compose() 中崩溃)。 (Ilia)
  • 修复了 bug #22017 (date() 在 win32 上不支持负时间戳)。 (Ilia)
  • 修复了 bug #22008 (strip_tags() 会消除太多内容)。 (Moriyoshi)
  • 修复了 bug #22004 (重载扩展和 _call() 会破坏类)。 (Shane)
  • 修复了 bug #21998 (array_pop() 没有重置当前数组位置)。 (Jani)
  • 修复了 bug #21978, #21036 (win32 mail(),bcc: 被解释为 cc:)。 (Sara)
  • 修复了错误 #21885 (move_uploaded_file() 不忽略 open_basedir)。(Wez)
  • 修复了错误 #21820 ("$arr['foo']" 会产生错误的 E_NOTICE,应该为 E_PARSE)。(Jani)
  • 修复了错误 #21815 (fpassthru() 忽略了缓冲数据但仍然报错)。(Wez)
  • 修复了错误 #21809 (select 在套接字关闭期间不会始终超时)。(Wez)
  • 修复了错误 #21751 (默认输出缓冲区无法删除)。(Marcus)
  • 修复了错误 #21725 (include 和 require 的返回值行为不同)。(Zeev)
  • 修复了错误 #21713 (在 Solaris 上包含远程文件会泄漏描述符)。(Wez)
  • 修复了错误 #21708 (ucwords() 再次出现问题)。(Moriyoshi)
  • 修复了错误 #21689 (fgetcsv() 在分隔符之前会抑制一些字符)。(Masahiro, Moriyoshi)
  • 修复了错误 #21912, #21676 (getimagesize() 对远程文件失败)。(Wez)
  • 修复了错误 #21597 (使 glob() 能够理解 Windows 路径)。(Edin)
  • 修复了错误 #21549 (Ingres II 持久连接问题)。(Jani)
  • 修复了错误 #21544 (扩展检查 FreeTDS 的安装位置)。(Frank)
  • 修复了错误 #21534 (gmp_gcdext() 中的拼写错误导致结果错误)。(Sara)
  • 修复了错误 #21531 (当请求的文件/目录不存在时,file_exists() 和其他 filestat 函数会报告错误)。(Sara)
  • 修复了错误 #21529 (fsockopen() 导致内存损坏)。(Ilia)
  • 修复了错误 #21525 (bind_textdomain_codeset() 现在可在 Windows 上使用)。(Edin)
  • 修复了错误 #21523 (number_format() 在主机系统的 sprintf 实现生成的十进制位数少于请求的十进制位数的情况下,可能会导致为负内存大小分配内存)。(Wez)
  • 修复了错误 #21518 (imagecreatefromstring() 在遇到无效的图像文件时崩溃)。(Ilia)
  • 修复了错误 #21511 (config.status 警告)。(Jani)
  • 修复了错误 #21498 (mysql_pconnect 连接问题)。(Georg)
  • 修复了错误 #21453 (strip_tags() 对未终止的 < 处理不当)。(Ilia)
  • 修复了错误 #21445 (gd 无法打开字体)。(Ilia)
  • 修复了错误 #21443 (get_browser() 对 ? 周围有空格的处理不当)。(Ilia)
  • 修复了错误 #21442 (Windows 上的 mail() 在第一个参数为空时崩溃)。(Edin)
  • 修复了错误 #21410 (修复了 Win32 上对 NULL 或 "" 文件的处理)。(Ilia)
  • 修复了错误 #21378 (COM 代码在 4.2.1 更新到 4.3.0 后崩溃)。(Harald)
  • 修复了错误 #21338 (html_entity_decode() 在传递 "" 时崩溃)。(Ilia)
  • 修复了错误 #21310 (Solaris 上 getcwd() 需要对目录有读取权限而不是仅执行权限)。(Wez, jflemer)
  • 修复了错误 #21297 (在 CLI/CGI 上的 #! 处,当代码遇到 \r\n 时会留下一个 \n)。(Ilia)
  • 修复了错误 #21268 (session_decode() 在成功时返回 FALSE)。(Ilia)
  • 修复了错误 #21267 (打开导致重定向到相对路径的 URL 失败)。(Ilia)
  • 修复了错误 #21229 (php_module_startup 缺少第三个参数)。(Ilia)
  • 修复了错误 #21228 (ob_gzhandler 检查已损坏,并使 ob_start() 返回正确的值)。(Ilia)
  • 修复了错误 #21226 (parse_url 对没有路径的 url 的处理)。(Ilia)
  • 修复了错误 #21224 (使用 --enable-versioning 时 apache configure 失败)。(Jani)
  • 修复了错误 #21169 (在 UnixWare 上出现编译失败和大量警告)。(Derick)
  • 修复了错误 #21131 (使用模式 'a+' 的 fopen() 和 rewind() 不起作用)。(Wez)
  • 修复了错误 #21007 (html_errors 关闭 phpinfo 中的纯文本输出)。(Marcus)
  • 修复了错误 #20857 (snmpset() 始终失败,补丁由:[email protected] 提供)。(Jani)
  • 修复了错误 #20802 (当内存限制达到时,PHP 会静默死亡)。(Ilia)
  • 修复了错误 #20715 (odbc 无法作为共享扩展编译)。(Jani)
  • 修复了错误 #20641 (Win32 上 ext/interbase 中的数值/十进制数据类型溢出)。(Daniela)
  • 修复了错误 #20503 (imagesetbrush() 在 Windows 上不可用)。(Edin)
  • 修复了错误 #20282 (COM 内存泄漏)。(Harald)
  • 修复了错误 #20256 (snprintf() 在某些系统上未定义)。(Jani)
  • 修复了错误 #19919 (在高负载下 sapi_apache_header_handler 崩溃)。(George)
  • 修复了错误 #19795 (strnatcmp() / strnatcasecmp() 问题)。(Moriyoshi)
  • 修复了错误 #17868 (使用多个 <!--include--> 包含 PHP 文件会崩溃)。(Ilia)
  • 修复了错误 #17448 (在返回 OCI_SUCCESS_WITH_INFO 时打印消息)。(Maxim)
  • 修复了错误 #17098 (使 Apache2 了解 PHP 脚本不应该被缓存)。(Ilia)
  • 修复了错误 #16798 (在 Oracle 版本 < 8.1 时,使用 LOB 支持进行编译失败)。(Maxim)
  • 修复了错误 #14532 (修复 connection_status() 以对超时返回 2)。(Jani)
  • 修复了错误 #14245 (使用 --with-apxs 时,'make install' 在 AIX 上失败)。(Jani)
  • 修复了错误 #13757 (CGI:通过命令行传递查询字符串已损坏)。(Shane)
  • 修复了错误 #13561 (--without-pear 禁用了 phpize/php-config 安装)。(Jani)
  • 修复了错误 #13551 (bcmath 函数应用比例尺不正确)。(Sara)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.3.1

  • 修复了 CGI SAPI 中的严重安全漏洞。(Shane)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.3.0

  • 如果您没有指定构建任何其他 SAPI,则 "make install" 会在 {PREFIX}/bin/php 中安装 CGI SAPI 二进制文件。如果您想将 CLI SAPI 安装在该位置,请在 "make install" 后使用 "make install-cli" 或在您的配置选项中添加 --disable-cgi。在 Windows 发行版中,CLI SAPI 包含在 "cli" 文件夹中。(Edin)
  • 已删除扩展: (Jan, Jani, Sebastian)
    • ext/aspell
    • ext/ccvs
    • ext/cybercash
    • ext/icap
    • sapi/fastcgi
    • sapi/fhttpd
  • 将扩展迁移到 PECL (http://pear.php.net/): (James, Derick)
    • ext/vpopmail
    • ext/cybermut
  • 在 Apache 中使用外部基本身份验证机制时,使 PHP_AUTH_* 变量在安全模式下不可用。(Philip)
  • 添加了 sha1() 和 sha1_file() 用于美国安全哈希算法 1。(Stefan Esser)
  • 在 4.3.2 中引入持久 STDIO 流之前,将 dba_popen() 作为 dba_open() 的别名。(Andrei)
  • 修复了捆绑的 MySQL 库中的安全漏洞。(Georg, Stefan)
  • ZLIB 扩展现在在 Windows 发行版中内置。外部扩展 (php_zlib.dll) 已被删除。(Edin)
  • 修复了 ISO-8601 星期计算中的错误
  • 修复了使用无效颜色索引时使用 imagecolortransparent() 导致的崩溃 (Pierre-Alain Joye)。
  • 修复了错误 #20987 (没有处理客户端证书)。(Ilia)
  • 修复了错误 #21039 (在不向 mcrypt_generic_init 提供 IV 时崩溃)。(Derick)
  • 修复了错误 #20936 (openssl_pkey_get 已损坏)。([email protected], Wez)
  • 修复了错误 #20927 (wordwrap 崩溃)。(Ilia)
  • 修复了错误 #20796 (当 register_globals 处于开启状态 & 通过 get/post/cookie 传递具有相同名称的数组时,$_GET/$_POST/$_COOKIE 中的数据可能会被破坏)。(Ilia)
  • 修复了错误 #20725 (如果无法写入上传目录,则上传文件后的 POST 数据会丢失)。(Ilia)
  • 修复了错误 #20865 (array_key_exists() 无法找到 NULL 键)。(Ilia)
  • 修复了错误 #20812 (ftp_get 在成功时返回 NULL,而不是 TRUE)。(Ilia)
  • 修复了错误 #20785 (使用 pdf_open_memory_image() 加载真彩色图像时崩溃)。(Ilia)
  • 修复了在真彩色图像 (png/jpeg) 和 gd1/gd2 图像格式之间转换时的崩溃,png/jpeg -> gd1/gd2 -> png/jpeg 转换现在可以正常工作。(Ilia, Pierre-Alain Joye)。
  • 修复了捆绑的 GD 库中 gdImageTrueColorToPalette() 中的内存泄漏。(Ilia)
  • 修复了错误 #12776 (array_walk 崩溃)。(Moriyoshi)
  • 修复了错误 #20934 (htmlspecialchars 从 UTF-8 返回 latin1)。(Moriyoshi)
  • 修复了错误 #20270, #15702, #18600 (ext/java 中的段错误)。(Tony J. White)
  • 使 bcmath 扩展线程安全。(Sander)
  • 修复了错误 #19566 (get_declared_classes() 段错误)。(Moriyoshi, Marcus, Andi)
  • 修复了错误 #20381 (array_merge_recursive 弄乱了输入数组)。(Moriyoshi)
  • 为 cli 和 cgi 版本添加了 -n 命令开关,允许在启动时跳过 php.ini 解析。(Marcus, Wez)
  • 修复了错误 #19689 (绝对路径如 /test/dir/ 不能正常工作)。(Ilia)
  • 在 mbstring 规范中添加了 "neutral" 语言条目。(Moriyoshi)
  • 更改了捆绑的 gd 库以考虑 php.ini 选项 memory_limit。(Marcus)
  • 修改了 log() 以接受多个底数。(Jason)
  • 修复了错误 #16190/#18746xt/db:flatfile 支持 Windows)。(Marcus)
  • 添加了 gd_info(),它返回一个包含 gd 支持信息的数组。(Marcus)
  • 实现了错误 #16960 中请求的功能/更改 (Timm)
    • 添加了一个新函数 sybase_unbuffered_query()
    • 添加了一个新函数 sybase_fetch_assoc()
    • 添加了 sybase_set_message_handler(),它使用户能够在回调函数中处理服务器消息
    • 添加了一个 ini 条目用于死锁重试 - 重试死锁会导致事务状态中断 (sybct.deadlock_retry_count,默认为 -1 “永远”)。
    • 修复了 sybase_fetch_object() 不返回具有数字成员的对象
    • 修复了字段名相同的问题
    • 使 sybase_fetch_*() 函数返回正确的 datatype
    • 使 phpinfo() 部分更详细
    • 使 sybase_query() 错误消息更详细
  • 修复了错误 #19935 (使 OpenSSL 文件系统操作符合安全模式 & open_basedir 限制)。(Ilia)
  • 修复了错误 #18868 (改进了对 realpath() 可用性的检查)。(Ilia)
  • 修复了在 big endian 系统上使用 getimagesize() 函数检测 bmp 图像的宽度/高度,并添加了代码以检索 bmp 位深度。(Ilia)
  • 修复了错误 #20035 (当脚本以 #! 开头时,cgi/cli/fastcgi sapis 中的行计数错误)。(Ilia)
  • 修复了错误 #20235 (在 ZTS 构建中对符号链接的处理不正确)。(Ilia)
  • 在 headers_sent() & image_type_to_mime_type() 中添加了健全性检查。(Ilia)
  • 在 jdtojewish() 函数中添加了一个额外的参数,使该函数返回希伯来语的符号名称。(Moshe Doron, Derick)
  • 修复了 bug #20169 (implode() 覆盖了第一个参数)。(Moriyoshi)
  • 改进了 dba 扩展。 (Marcus)
    • 添加了 dba_handlers() 函数,它返回一个已安装处理程序的数组;以及 dba_list() 函数,它返回一个开放数据库文件的关联数组。
    • 添加了捆绑的 cdb 支持,可以通过 --with-cdb 选项(不带路径)启用。捆绑的版本支持 cdb_make,允许写入 cdb 文件。
    • 为 dba_fetch() 函数添加了可选的 skip 参数,以支持 cdb 处理程序中具有相同键的多个键值对。
    • 为那些没有自己的锁的处理程序添加了锁定。
    • 添加了对 magic_quotes_runtime php.ini 选项的支持。
    • 添加了 flatfile 支持,最终使 ext/db 过时。
  • 添加了 imagerotate() 函数,它仅在使用捆绑的 libgd 时可用。(Pierre-Alain Joye, Ilia)
  • 修复了 bug #17497 (如果 magic_quotes_runtime 处于启用状态,mssql 扩展会崩溃)。(Sterling)
  • 从 $_REQUEST 中删除了 $_FILES(import_request_variables 未修改),这在最初就不起作用,而且增加了混乱。(Sterling)
  • 修复了 win32 上 socket_read() 函数,使其在正常模式(读取到行尾)和二进制模式下都能正常工作。(Sterling)
  • 修复了 bug #20110 (添加了健全性检查,以防止 include/require 函数尝试包含目录)。(Ilia)
  • 修复了 bug #20108 (在 printf("%1.1s", "string") 中发生段错误)。(Ilia)
  • 在 dbx 模块中添加了 dbx_escape_string() 函数。(Marc)
  • 在 dbx 模块中添加了 Oracle (oci8) 支持。(Marc)
  • 更新了 FDF 扩展,使其能够与 Adode fdftk 5.0 协同工作。(Hartmut)
  • 添加了 mb_strtolower() 和 mb_strtoupper() 函数。(Moriyoshi)
  • 修复了 setlocale() 中的无限循环,当数组中只传递无效的区域设置名称时就会发生该循环。(补丁由 Pal Loberg 提供,pallo[at]initio.no)
  • 修复了 bug #19156#19544 (COM 扩展会泄露内存并保留对组件的引用)。(Harald)
  • 添加了 fribidi_get_charsets() 和 fribidi_charset_info() 函数。(Tal)
  • 将 Oracle TIMESTAMP 类型添加到 oci8 扩展。(Thies)
  • 修复了 fgets($fp),使其在未设置 length 参数时读取到行尾。(Wez)
  • 更改了 "HKLM\SOFTWARE\PHP\Per Directory Values" 下的注册表项,使其也能与安全模式、open_basedir 等管理指令协同工作。(Claudio Felber)
  • 添加了 str_word_count() 函数,该函数可以统计字符串中的单词数量。(Ilia)
  • 在 pg_connect() 中添加了 PGSQL_CONNECT_FORCE_NEW 选项。(Yasuo)
  • 在 iconv 扩展中添加了 ICONV_IMPL 和 ICONV_VERSION 常量,用于指示使用了哪个 iconv 实现。(Moriyoshi)
  • 修复了 bug #4232 (在 printf/sprintf 中添加了 %e & %E 支持)。(Ilia)
  • 修复了 bug #17580 (允许 ini 解析器解析大于 16K 的文件)。(Ilia)
  • 修复了 bug #19649 (对 browscap.ini 解析器进行了健全性检查)。(Ilia)
  • 添加了实验性的补丁,以解决各种区域设置中浮点数的问题。(Bug #17079)。(Ilia)
  • 修复了 bug #19280 (imap_header 在存在多个 To: 地址时会失败)。(Ilia)
  • 添加了 mb_regex_set_options() 函数。现在已弃用各种 mbregex 函数的 Options 参数。(Moriyoshi)
  • 修复了 bug #19482 (在使用 PCRE 和区域设置时发生段错误)。(Andrei)
  • 使捆绑的 GD2 库中的 ImageTruecolorToPalette() 能够正常工作。(Rasmus)
  • 修复了捆绑的 GD2 库中的 ImageCopy() 函数,使其能够处理从真彩色复制到调色板的图像。(Wez, Rasmus)
  • 为捆绑的 GD2 库添加了只读 GIF 支持。(Rasmus)
  • 对 xslt 扩展进行了多项调整。(David Viner, Lehnar, Melvyn)
    • 添加了 xslt_set_object 和 xslt_setopt 函数
    • 更改了与 Sablotron 库的后端交互
    • 修复了 error_print 引起的泄露
    • 使 xslt_make_array() 始终在最后一个索引上设置 NULL,以指示数组结束。
  • 更改了 implode() 中的 glue 参数,使其成为可选参数。如果未指定,则默认为 ""。(Sterling)
  • 修复了 xslt_set_error_handler() 的 fields 参数,使其包含正确的信息。(补丁由 Lenar Lohmus 提供)
  • 添加了 --with-config-file-scan-dir 编译时开关,该开关指定一个目录,该目录将被扫描以查找 *.ini 文件。(Rasmus)
  • 添加了 ob_get_clean() 和 ob_get_flush() 函数。(Yasuo)
  • 在 ext/ftp 中添加了 ftp_ssl_connect() 函数,用于支持通过 SSL 进行 FTP 连接。(Stefan Esser)
  • 对 Apache 2 sapi 做了一些补充和更改。(Ilia)
    • 添加了 apache_response_headers()、apache_note()、apache_getenv() 和 apache_setenv() 函数。
    • 为 apache_lookup_uri() 和 virtual() 添加了更详细的错误报告。
    • 将 getallheaders() 重命名为 apache_request_headers(),并为其创建了一个别名,以保持向后兼容性。
    • 添加了 php_apache_sapi_getenv() 和 php_apache_sapi_get_stat() 函数。
    • 添加了语法高亮处理(.phps)
  • 修复了 strstr()、strchr() 和 strrchr() 函数,使其支持二进制安全。(Andrey)
  • 添加了 array_diff_assoc() 和 array_intersect_assoc() 函数。(Andrey)
  • 修复了 bug #17825 (ob_start() 的块大小选项不起作用)。(Yasuo)
  • 修复了当 buffer_size 变为 0 时输出缓冲区发生的无限循环。(Marcus, Wez)
  • 添加了 getopt() 函数,用于解析命令行选项和参数。(Jon)
  • 添加了 pg_fetch_assoc()、pg_fetch_all()、pg_ping()、pg_meta_data()、pg_convert()、pg_insert()、pg_select()、pg_update()、pg_delete()、pg_result_seek()、pg_unescape_bytea()、pg_get_notify() 和 pg_get_pid() 函数。(Yasuo)
  • 修复了 bug #17281 (对编码会话进行了健全性检查)。(Ilia)
  • 修复了 bug #16995#19392 (防止在 $HTTP_SESSION_VARS != ARRAY 时发生崩溃)。(Ilia)
  • 修复了 bug #19292 (open_basedir 限制问题)。(Rasmus)
  • 修复了 bug #19366 (当 x & y 超出图像边界时,gdImageFill 会崩溃)。(Ilia)
  • 修复了 bug #13936 (__FILE__ 常量不包含完整路径)。(Ilia)
  • PHP 现在拥有一个新的流系统,它使 PHP 能够对 fopen() 和 fsockopen() 执行一些巧妙的操作。因此
    • URL 包装器现在原生支持 https:// URL,前提是你在编译 PHP 时包含了 OpenSSL 支持(共享扩展不支持此功能)。
    • 添加了对 fopen("ftps://...", ...) 的支持,允许通过 SSL 连接到 FTP 服务器。(Stefan Esser)
    • fsockopen() 添加了对通过 TCP/IP 进行 ssl:// 和 tls:// 连接的支持
    • copy($srcfilename, $destfilename) 现在可以与 URL 包装器一起使用
    • zlib 包装器/流即使在没有 fopencookie() 的系统上也能使用
    • 将 'zlib:' fopen 包装器更改为 'compress.zlib://',并弃用 'zlib:',以避免文件名包含 ':' 字符时出现歧义。(Wez)
    • 添加了 'compress.bzip2://' 流和包装器支持。
    • 添加了用户空间流 - 现在可以在 PHP 代码中定义一个类,并将其注册为 URL 包装器。(stream_register_wrapper)
    • 大多数扩展现在在传递文件时支持流,这意味着这些扩展现在也支持 URL 包装器。(Wez)
    • 在 exif 中添加了 URL 包装器支持。(Marcus)
    • 添加了内存流支持。(Marcus)
    • 重命名了
      • socket_set_timeout() -> stream_set_timeout()
      • socket_set_blocking() -> stream_set_blocking()
      • set_file_buffer() -> stream_set_write_buffer()
      • socket_get_status() -> stream_get_meta_data()
      因为理论上这些函数可以作用于任何类型的流。(Wez)
    • 原始 POST 数据现在以 "php://input" 流的形式提供。(Hartmut)
    • fopen("php://output", "wb") 返回一个将数据写入输出缓冲区的流(类似于 echo 和 print)。(Wez)
    • 添加了 stream_context_create()、stream_context_set_params() 和 stream_context_set_option 函数,并在 fopen() 中添加了一个可选的第四个参数,该参数接受一个流上下文。上下文允许在流之间共享信息(一种“会话”)并设置通知回调。(Wez)
    • 使 http:// 和 https:// 包装器发送的 "User-Agent" 标头可以在 php.ini 中或通过流上下文配置。(Sterling)
    • 添加了 stream_filter_prepend() 和 stream_filter_append() 函数,它们将过滤器应用于流过滤器堆栈的顶部或底部。以 "string.rot13" 过滤器为例,更多过滤器将在以后的版本和其他扩展中发布。(Wez)
    • 添加了 stream_select() 函数,该函数类似于 socket_select,但作用于由 fopen()、fsockopen() 和 pfsockopen() 返回的流。(Wez)
    • 为 CLI sapi 添加了 STDIN、STDOUT 和 STDERR 常量,用于反映已打开的流到各自的标准 I/O 对应项。(Edin)
    • 添加了 php.ini 选项 "auto_detect_line_endings",该选项使 PHP 能够在 fgets() 和 file() 中检测 Macintosh、Unix 和 Dos 的行尾字符。修复了 bug #16521#16708。(Wez)
    • 修复了 include()、require() 和 GD 函数,使其在 win32 下可以与远程文件一起使用。
    • 修复了 bug #18609 (ImageCreateFromJPEG 无法从 URL 获取数据)。(Wez)
  • 修复了 bug #18022 (fopen 在 Solaris 上不再与 php://stdin 协同工作)。(Wez)
  • 添加了 php.ini 选项 "default_socket_timeout",用于设置 PHP 网络流的超时限制。(kalowsky, [email protected], Wez)
  • 添加了 file_get_contents() 函数,该函数将文件的內容作为字符串返回。该函数也支持 URL 包装器。(Wez)
  • 修复了 bug #19595 (缺少用于处理 GD2 格式的函数)。(Edin)
  • 修复了 bug #19633 (ext/ldap/config.m4 中的目录错误)。(Derick)
  • 修复了 bug #17274#19627 (sem_remove 中发生段错误)。(Wez)
  • 在 mbstring 扩展中添加了 mb_convert_case() 函数,该函数可以使用 Unicode 映射在大小写之间转换字符串。修复了 bug #19257 (strtolower & strtoupper 对 UTF-8 字符串不起作用)。(Wez)
  • 修复了 bug #18521 (htmlentities 对不支持的字符集没有发出警告)。(Wez)
  • 修复了 bug #11643 (与会话相关,修复了 SID 重新定义问题)。(Ilia)
  • 修复了 bug #18556 (脚本引擎,在 tr_TR 等区域设置中存在问题)。(Ilia)
  • 现在将 y2k_compliance 更改为默认值为 1。(Sascha)
  • 添加了与平台无关的套接字错误常量,以更好地进行错误处理。(Jason)
  • 更新了 phpinfo() 的输出,使用更多 CSS 来减少文件大小,进行适当的 HTML 转义,并使其符合 XHTML 规范。(Colin)
  • 修复了 FriBidi 扩展中的编译错误(Bug #16414)。(Tal)
  • 修复了 bug #7472#12120#12989 以及 strip_tags() 函数的其他潜在问题。(Ilia)
  • 修复了 bug #17570#17957 (与正则表达式相关)。(Andrei, Ilia)
  • 修复了 bug #18167#16859 (在使用 session_decode 时发生 SEGV)。(Ilia)
  • 修复了 bug #19573#13472 (会话、XHTML 兼容性和 trans_sid)。(Sascha)
  • 修复了 bug #19570 (在 get_html_translation_table 中缺少最后一个字符)。(Wez)
  • 将 PCRE 升级到 3.9 版本。(Wez)
  • 修复了 OCIResult() 中的 bug,该 bug 在调用空结果集时会返回垃圾数据。(Thies)
  • 添加了在 preg_replace() 的替换字符串中使用 Perl 风格的 ${n} 子模式引用的功能(bug #18442)。(Andrei)
  • 修复了 array_merge_recursive(),以避免在合并循环数组时出现问题(bug #16064)。(Andrei)
  • 使 function_exists() 能够在禁用函数的情况下正常工作。(Andrei)
  • 添加了通过可 OR 的 EXTR_REFS 标志以引用方式提取变量的功能。(Andrei)
  • 修复了 Tru64 上 OCI8 扩展的构建失败问题。(补丁由 Michael Mauch 提供,[email protected]
  • 添加了 --disable-all 配置选项。(Jani)
  • 从 ZendEngine2 反向移植了 debug_backtrace() 函数。(Thies)
  • 为 CLI 添加了无 HTML 的 phpinfo() 输出。(Jan)
  • 修复了 socket_recvfrom(),使其支持二进制安全。(Jason)
  • 更改了 mail() 函数,使其使用 escape_shell_cmd() 来允许在第五个参数中使用多个额外参数调用邮件程序。(Derick)
  • 更改了 cURL 扩展,要求使用 cURL 7.9.8 版本。(Derick)
  • 添加了 zend_execute_internal,其调用方式类似于 zend_execute,但用于内部函数。(Thies)
  • 将 pg_connection_status()、pg_connection_reset()、pg_connection_busy()、pg_result_status() 和 pg_result_error() 修改为在未传递资源时静默返回 FALSE。(Yasuo)
  • 修复了 64 位操作系统上一些 MySQL 编译失败的问题。(Georg)
  • 为已弃用的 MySQL 函数添加了警告
    • mysql_create_db()
    • mysql_drop_db()
    • mysql_escape_string()
  • 添加了 XsltObject-<result_dump_mem($result) 用于将 xslt-result 直接返回到字符串中,以及 XsltObject-<result_dump_file($result,$file[,$compression]) 用于将结果转储到文件。([email protected],chregu)
  • 使 mime_magic 和 ZIP 扩展在 Windows 上可用。(Edin)
  • 添加了 xslt_backend_version() 和 xslt_backend_name() 用于获取有关处理器后端的信息。(chregu)
  • 添加了 ImageColorMatch() 和 ImageLayerEffect() 函数,这些函数仅在使用捆绑的 GD 库时可用。(ttoohey)
  • 对 pcntl 扩展进行了重大改进。(Jason)
    • 大大提高了性能(信号回调机制使用滴答)
    • 使用 array($obj, $method) 实现对象信号回调功能
    • 在 pcntl_signal 中添加了重启参数,允许您禁用系统调用重启的默认值
  • 将 DomNode->next_sibling() 和 DomNode->previous_sibling() 修改为返回 NULL 而不是 false(W3C 规范)。(chregu)
  • 将 DomNode->insert_before() 和 DomNode->append_child() 修改为符合 W3C 规范(移动而不是复制节点,接受 NULL 作为第二个参数)。(chregu)
  • 添加了 DomNode->set_namespace(uri[,prefix])(chregu)
  • 修复了 shuffle() 以正确生成所有可能性。(补丁由 Adam <[email protected]> 提供)
  • 修复了 DomNode->insert_before() 以按照 W3C 规范执行,即移动新子节点,而不是复制。(chregu)
  • 使用 DomNode->add_namespace(uri, prefix) 和 DomDocument->create_element_ns(uri, nodename) 添加了一些命名空间支持。(chregu)
  • 在 DomElement->node_name() 中添加了可选参数,用于检索完全限定名称(即命名空间前缀)。(chregu)
  • 将 DomNode->child_nodes() 修改为在未找到子节点时返回空数组,而不是 false。(chregu)
  • 修复了处理 Expect 头部的错误。(补丁由 [email protected] 提供)
  • 修复了 ODBC 中关闭模块会导致 Windows 可执行文件崩溃的问题。(kalowsky)
  • 修复了 pack() 和 unpack() 中的内存泄漏。(补丁由 [email protected] 提供)
  • 在错误消息中添加了 URL,这些 URL 指向描述错误或相关函数的页面。(Derick,Wez,Marcus)
  • 添加了 odbc_data_source() 功能,用于识别 DB ServerName 以及从 DSN 收集的描述。(kalowsky)
  • 修复了 copy() 在处理 0 字节文件时返回 TRUE 的问题。(补丁由 [email protected] 提供)
  • 添加了 ob_list_handlers(),该函数返回所有活动输出处理程序的数组。(Marcus)
  • 添加了 mbstring 编码/解码 "HTML-ENTITIES"。(Marcus)
  • 为 mb_http_input() 添加了参数 'L',用于以逗号分隔的字符串形式检索输入编码。(Marcus)
  • 添加了在使用空语句时,允许 declare() 编译器修改全局生效的能力。(Jason,Zend Engine)例如:
            //Globally enables the ticks modifier for the whole program
            declare (ticks=1);
    
            //Enables the ticks modifier for just the lexical block containing
            //"statement".
            declare (ticks=1) {
               statement;
            }
      
  • 将 strtotime() 的 "next" 关键字处理与文档及其 glibc 对等项保持一致。(Rasmus)
  • 修复了 str_rot13() 使其不再修改源字符串。(Rasmus)
  • 修复了 imap_get_quota() 以按照 RFC 2087 和 bug #14673 处理多个返回的资源。(kalowsky,Sander Steffann)
  • 为几个相机在 exif_read_data() 中添加了 MarkerNote 解码。(Marcus)
  • 为 "image/" 内容类型头禁用 zlib.output_compression,这些头可以在脚本执行期间更改。(Stefan)
  • 添加了新的异步 FTP 函数。(Stefan)
  • 在 FTP 函数中添加了可选的第五个参数以支持恢复。(Stefan)
  • 在 print_r() 中添加了可选的第二个参数,使其返回变量表示形式,而不是将其回显。(Derick)
  • 添加了 mysql_ping()、mysql_real_escape_string()、mysql_character_set_name()、mysql_thread_id()、mysql_stat() 和 mysql_list_processes()。(Zak,Georg)
  • 为 pg_lo_export() 添加了 safe_mode 和 open_basedir 检查。(Yasuo)
  • 为 pg_lo_import() 添加了 open_basedir 检查。(Yasuo)
  • 修复了滴答声中无限递归崩溃的错误。(Jason)
  • 添加了 php.ini 选项 "mysql.connect_timeout" 用于设置 mysql_connect() 和 mysql_pconnect() 的超时限制。(Georg)
  • 在 mysql_connect() 和 mysql_pconnect() 中添加了可选参数 "flags",可用于设置空闲超时和不同协议的使用,包括 SSL 和压缩。(Georg)
  • 为 ext/mysql 添加了对未提交事务的自动回滚。(Georg)
  • 修复了 preg_split() 在最终元素包含空字节时错误终止最终元素的问题。(Andrei)
  • 在 thttpd 中添加了持久连接/流水线。(Sascha)
  • 修复了 thttpd 中两个潜在的阻塞问题。(Sascha)
  • 修复了 Solaris 上的错误头文件检测。(Sascha)
  • 改进了 nss/socket 相关的符号/库检测。(Jani,Sascha)
  • 使 iconv() 能够与 libiconv 和 libgconv 很好地协作。(Moriyoshi,Yasuo)
  • 修复了 win32 上的 socket_set_timeout()。(Jason,Edin,Jani)
  • 添加了 domxml_node_namespace_uri()。(Rui Lopes)
  • 修复了 /ext/sockets 中的 win32 内存泄漏,该泄漏会在任何错误情况下发生。还修复了 win32 上的主机解析错误消息。(Jason)
  • 在 ftp_rawlist() 中添加了可选的第三个参数 'recursive',它将执行 'LIST -R' 而不是 'LIST'。(Jani)
  • 将 getimagesize() 修改为始终将未知字段设置为 0,并添加了对 iff 图像类型的支持。(Marcus)
  • 在运行时添加了 Apache2 线程检查,以确保我们不会在带线程的 Apache2 MPM 内运行无线程的 PHP。(Rasmus)
  • 使 getimagesize() 和 exif_read_data() 也返回 mime 类型,并使 exif_thumbnail() 也返回图像类型。(Marcus)
  • 添加了 image_type_to_mime_type(),该函数将图像类型转换为 mime 类型。(Marcus)
  • 使 GD 函数仅在 libgd 中可用时才存在。现在可以通过 function_exists() 测试可用性。(Derick)
  • 在 header() 函数中添加了一个可选参数,该参数会覆盖 HTTP 响应代码。(Derick)
  • 将模块卸载的顺序更改为与其加载顺序相反。(Derick,Zend Engine)
  • 添加了初步的 SAX-Input 支持。现在可以使用 SAX 事件构建 DomDocument。(chregu)
  • 将 GD 库 2.0.1 与 php 捆绑在一起(ext/gd/libgd)(Rasmus,Jani,Markus,Edin)
  • 修复了 bzopen() 在线程安全模式下的崩溃问题。(Andrei)
  • 在 domxml_open_mem() 和 domxml_open_file() 中添加了更好的错误消息(第三个参数)和 DTD 验证(第二个参数)。(Christian)
  • 添加了 domxml_doc_validate() 用于使用 DTD 验证现有 DomDocument。(Christian)
  • 添加了在 preg_match_*() 结果中捕获字符串偏移量的功能。(David Brown,Andrei)
  • 修复了 set_error_handler() 使其能够接受方法作为回调,并报告无效回调。(Andrei)
  • 修复了 overload 扩展中的内存损坏错误。(Andrei)
  • 修复了 win32 上 fsockopen() 的错误处理。(Jason)
  • 为 fsockopen() 添加了 win32 支持,以支持超时参数。(Jason)
  • 修复了 shuffle() 以提供值的均匀分布。(Andrei)
  • 添加了 --with-mysql-sock 配置选项,可用于覆盖 unix 套接字位置。(例如 NFS 编译等)(James Cox)
  • 修复了 is_a() 以正确处理扩展注册的类。(Andrei)
  • 添加了新的常量:PHP_PREFIX 和 PHP_SHLIB_SUFFIX。(Stig)
  • 添加了 pctnl_alarm() 函数。(Edin)
  • 如果启用了 zlib.output_compression 并压缩了页面,则现在将添加 "Vary: Accept-Encoding" 头部。(Stefan)
  • 将 getallheaders() 重命名为 apache_request_headers(),并将 getallheaders() 保留为其别名。还添加了 apache_response_headers(),该函数返回 Apache 的当前响应头。(Rasmus)
  • 在 COM 扩展中添加了缺失的 AddRef() 调用。这应该可以修复奇怪的行为(特别是与 ADODB 相关)。(Harald)
  • 修复了 version_compare() 中的段错误。(Stig)
  • 在 getimagesize() 中添加了对压缩的 Flash MX 文件的支持。(Derick)
  • 添加了在 preg_split() 结果中捕获字符串偏移量的功能。(David Brown,Andrei)
  • 修复了 token_get_all() 中的崩溃错误。(Andrei)
  • 为 Unix/Win32 实现 glob()。(Hartmut,Edin,Markus)
  • 添加了 domxml_doc_set_root() 用于更改根节点。(Lukas Schroeder)
  • 修复了 stripslashes() 在 sybase 模式下工作时的崩溃错误。(Rasmus)
  • 在 mbstring 中添加了对简体中文、繁体中文和韩语编码的实验性支持。(Rui)
  • 杂项 Win32 mail() 增强功能:支持 'From:' 头部([email protected])、支持 Bcc 头部、不区分大小写的头部、增强的错误报告、自动正确换行符转换、修复了 Cc 时的崩溃问题、修复了 $header 中的缓冲区溢出问题。(Markus)
  • 改进了 IMAP 扩展的性能。([email protected][email protected],Jon)
  • 在 domxml_xslt_process() 中添加了可选的第五个参数。如果设置,性能分析信息将保存到指定的文件。(chregu)
  • 为 Windows 上的 crypt() 添加了 MD5 支持。(Edin)
  • 修复了 LDAP 扩展中的资源错误。(Stig Venaas)
  • 修复了在输出缓冲区被回调中的覆盖时,输出缓冲区中的崩溃问题。(Yasuo)
  • 添加了 output_add_rewrite_var() 和 output_remove_rewrite_var() 用于在 URL 重写器中注入和删除变量。(Thies)
  • Windows 构建现在可以更方便地配置,例如在处理内置扩展时。(Sebastian)
  • 为 pg_lo_import()、pg_lo_unlink()、pg_lo_open() 和 pg_lo_export() 添加了对大 OID 值(2^31 到 2^32)的支持。(Yasuo)
  • 修复了混合使用 OCIPlogon() 和 OCINLogon() 不会泄漏 Oracle 会话的问题。(Thies)
  • 为 EXIF 扩展添加了 php.ini 选项,用于编码和解码 Unicode/JIS 用户注释。(Marcus)
  • 将 "-c" CLI/CGI 选项修改为允许同时使用 'filename' 和 'path to php.ini'。(Yasuo)
  • 在 Windows 下创建的 .dll 和 .exe 文件中添加了版本信息。(jtate)
  • 添加了 __FUNCTION__ 和 __CLASS__ 常量。(Jani,Zend Engine)
  • 为 pg_result_status() 添加了可选的第二个参数以指定返回值类型。(Yasuo)
  • 添加了 "log_errors_max_len" php.ini 选项,该选项控制错误消息的最大长度。(Marcus)
  • 添加了 "ignore_repeated_errors" 和 "ignore_repeated_source" php.ini 选项,可用于禁用重复错误消息的记录。(Marcus)
  • 使 pg_last_notice() 正常工作。(Yasuo)
  • 添加了 "pgsql.ignore_notice" 和 "pgsql.log_notice" php.ini 选项。(Yasuo)
  • 添加了 "zlib.output_compression_level" php.ini 选项。(Stig)
  • 添加了对 Mac OS X/Darwin 上的 --with-apxs 构建的支持。(markonen)
  • 添加了对 OS X/Darwin 上动态加载扩展的支持。注意:这需要 Apache 1.3.25 或更高版本。(kalowsky,markonen)
  • 修复了 win32 上 quoted_printable_decode() 中的 CR/LF 处理。(kir)
  • 使 crack 扩展在 Win32 上可用。适用于 Win32 的 Cracklib 库可在 http://www.jtatesoftware.com/cracklib/ 获取。(jtate)
  • 添加了 mysql_info() 函数。(Jan)
  • 添加了 mysql_list_processes() 和 mysql_stat() 函数。(Georg)
  • 修复了在 libc 中具有 iconv() 支持的系统上的内存分配问题。(Yasuo)
  • 使 var_dump() 能够更好地处理递归结构。(Yasuo,Derick)
  • 添加了 exif_imagetype() 函数。(Marcus)
  • 新的改进的构建系统。除其他改进外,还用一个全局 Makefile 替换了速度慢的递归 make,简化了适当依赖项的集成。Automake 仅需要其 aclocal 工具。构建过程现在更加便携,并且资源消耗更少。(Sascha)
有关此版本的更多信息,请访问 我们的发行版页面

版本 4.2.3

  • 为 win32 上的 PCRE 启用了 UTF8 修饰符支持。(Wez,Edin)
  • 在 win32 上启用了 strcoll()。(Markus)
  • 修复了 mail() 中可能的 ASCII 控制字符注入。(Stefan Esser)
  • 修复了 import_request_variables() 中的潜在崩溃错误(Zeev)
  • 修复了 Windows 上目录函数的几个问题。(Steph)
  • 修复了 Apache 模块中的 xbithack 错误。(Rasmus)
  • 修复了一个导致 touch() 在各种平台上无法正常工作的错误。(Steph)
  • 修复了 ob_gzhandler() 对具有 Accept-Encoding 头部但未允许压缩的请求的处理。(Zeev)
  • 修复了多线程版本中的几个错误,这些错误会导致随机解析错误,尤其是在具有多个 CPU 的机器上。(Zeev,Zend Engine)
  • 修复了 bcmath 中的构建问题。(Alan)
  • 修复了几个 bzip2 问题。(Andrei,kalowsky)
  • 修复了几个 COM 问题。(Harald)
  • 各种 exif 修复。(Marcus)
  • 修复了 DOMXML 中的 domxml_xslt_process() 和 domxml_get_element_by_id() 以及其他几个问题。(Christian)
  • 修复了 DOMXML 在移除之前创建的属性时崩溃的问题。(Christian)
  • 修复了将 $GLOBALS 转换为对象时的崩溃问题。(Zeev, Zend 引擎)
  • 修复了 ImageCreateFromGD2Part()。(Jani)
  • 修复了 IRIX 下 IMAP 扩展的构建问题。(kalowsky)
  • 修复了 imap_last_error() 中的错误。(Jani)
  • mbstring 的各种修复。(Yasuo, Rui)
  • 修复了 mcal 扩展的构建问题。(Jani)
  • 在请求结束时,使 MySQL 回滚打开的事务。(Georg)
  • 修复了 ODBC 模块关闭顺序中的崩溃问题。(kalowsky)
  • 修复了 PCRE 构建问题。([email protected])
  • 修复了 pg_lo_write() 中的崩溃问题。(Yasuo)
  • 修复了 posix_isatty() 和 posix_ttyname()。(Markus)
  • 修复了意外的 pg_lo_import() API 更改。(Yasuo)
  • 修复了当反向引用号大于捕获的子模式数量时 ereg_replace() 崩溃的问题。([email protected])
  • 修复了线程安全平台(如 Windows)上的 array_rand()。(Edin)
  • 在调用 exit() 后报告正确的退出代码。(Edin)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.2.2

  • 修复了严重的安全性漏洞。(Stefan Esser)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.2.1

  • 为 show_source()、parse_ini_file() 和 rmdir() 添加了安全模式检查。还修复了 safe_mode_include_dir 指令的安全问题。(Rasmus)
  • 更改了 HTTP 上传代码以接受 0 字节文件上传。(Zeev)
  • domxml 的重大更新。新功能、更好的 DOM 兼容性和错误修复
    • 由于新的 append_child() 行为正确(= W3C 标准),将旧的 $node->append_child() 更改为 $node->append_sibling()。
    • 添加了 domxml 函数
      • domxml_elem_get_elements_by_tagname()
      • domxml_doc_get_elements_by_tagname()
      • domxml_doc_get_element_by_id()
      • domxml_elem_remove_attribute()
      • domxml_elem_get_attribute_node()
    • 修复了 domxml_unlink() 中的段错误。
    • 为 domxml_dump_mem() 添加了格式化选项。
    (Uwe, jtate, Chregu)
  • 修复了 socket_select() 中的错误,该错误可能在使用类似 $w = $e = array($sock) 的语句时导致意外行为。此更改不幸地阻止了对套接字数组参数使用常量值(例如 NULL)。相反,请使用临时变量或最左侧成员为临时变量的表达式。例如:socket_select($w, $r, $e = NULL, 10);(Jason)
  • 修复了会话序列化器中的崩溃问题。(Stas)
  • 修复了 touch() 的格式错误的 atime/mtime。(Yasuo)
  • 修复了 array_sum() 和 array_merge() 中的几个错误。(Andrei)
  • 修复了 Windows 下的 SJIS 目录名处理问题。(Rui)
  • 修复了当指定 Content-Type 时,空 mb_output_handler() 输出的问题。(Yasuo)
  • 修复了 ext/session 中的错误逻辑,该逻辑导致在禁用 cookie 时未定义 SID 常量。(Sascha)
  • 修复了 HTTP 上传中可能的崩溃错误。(补丁:Lucas Schroeder)
  • 修复了 COM 扩展中可能的空指针取消引用,该问题导致在各个地方出现“php_OLECHAR_to_char() 中出错”的警告。还修改了 API 以在出现错误时始终返回 NULL。(Alan, Harald)
  • 修复了 COM 扩展中的错误,该错误导致 outproc 服务器因缺少 Release() 调用而“挂起”。(Alan, Harald)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.2.0

  • 注意!!register_globals 现在默认为“off”!!!
  • 注意:Apache2 支持处于实验阶段。
  • 将 ext/mailparse 移动到 PECL。有关更多信息和下载扩展,请访问 http://thebrainroom.com/opensource/php/。(Wez/Jim)
  • 修复了 pg_last_notice() 崩溃问题。(Yasuo)
  • 修改了 mysql 扩展以在启用安全模式时禁用“LOAD LOCAL”。(Jason)
  • 修复了 HTTP 文件上传支持以更好地处理大文件。(Jani)
  • 对套接字扩展及其 API 的重大修改 (Jason)
    • 修复了大量错误。
    • 为所有接受地址的函数添加了自动主机查找功能。例如:socket_connect($sock, 'www.yahoo.com', 80);
    • 更正并标准化了主机查找错误
    • 修改了 socket_recv() 行为。[$r=socket_recv($sock, $buf, $len, $flags)]
    • 添加了 socket_set_block(),它将套接字更改为阻塞 IO 模式
    • 修改了 socket_last_error() 以不清除最后一个错误
    • 添加了 socket_clear_error(),它清除套接字上的最后一个错误
    • 删除了所有与 fd_sets(socket_fd_*)相关的代码
    • 修改/改进了 socket_select() 以接受资源数组而不是 fd_sets。例子
          <?php
      $wfds=$rfds=array($sock1, $sock2, $sock3, $sock7);
      $r=socket_select($rfds, $wfds, NULL, 1);
      print "Ready to read:\n"; var_dump($rfds);
      ?>
  • 修复了 ibase_close() 中的段错误,如果用户没有释放结果集。错误 #15419#15992。(daniela)
  • 修复了 pg_last_notice() 崩溃问题。(Yasuo)
  • 为 gzencode() 添加了可选的第三个参数“int encoding_mode”,并修复了参数以符合文档。(Stefan)
  • 将 read_exif_data() 更改为 exif_read_data() 的别名。(Markus)
  • 添加了 exif_tagname() 函数,该函数返回标签的名称,以及 exif_thumbnail() 函数以提取嵌入的缩略图。(Markus)
  • 修复了 FreeBSD 上的 iconv 支持。(kalowsky)
  • 清理了 posix 扩展:(Markus)
    • 删除了不需要的警告消息
    • 添加了 posix_errno() 和 posix_strerror() 用于获取错误消息
    • 更改了 posix_getgrnam() 和 posix_getgrgid() 返回其值的方式(破坏了 BC,但更有意义)
    • 不将不在主机系统上支持的函数包含在符号表中。
  • 为 getimagesize() 和 read_exif_data() 添加了 TIFF 支持。(Markus)
  • 将 Velocis 扩展命名空间更改为 Birdstep 以反映新产品名称。添加了 BC 的别名。(James)
  • 为 opendir() 添加了安全模式检查。(jflemer)
  • 更改了 pgsql_fetch_*() 函数中的第二个参数以支持 NULL,如果提供所有 3 个参数,但您不想提供行号。(Derick)
  • 改进了使用 libc 的 iconv 时的 iconv()。(Yasuo)
  • 添加了 PHP_SAPI 常量,其中包含正在运行的 SAPI 的名称。(Edin)
  • 添加了 ob_get_status(),它返回一个包含其状态的缓冲区数组。(Yasuo)
  • 修复了 ob_end_*() 函数中的崩溃错误。ob_end_*() 不会删除可能无法删除的缓冲区。(Yasuo)
  • 为 ob_start() 添加了第三个参数“bool erase”。如果为 FALSE,则缓冲区可能不会在脚本完成之前被删除。(Yasuo)
  • 将 ob_*() 函数更改为返回 TRUE 表示成功,FALSE 表示失败。(Yasuo)
  • 为 dbx 模块添加了 sybase_ct 支持。(Marc)
  • 修复了 PostgreSQL 7.2 的错误消息处理问题。(Rui)
  • 添加了对象聚合功能,请参阅 aggregation_*() 函数。(Andrei)
  • 添加了 debug_zval_dump(),它与 var_dump 类似,但显示了额外的内部信息,例如引用计数和真实类型名称。(Jason)
  • 添加了 Andrei 的标记器扩展。(Stig)
  • 修复了 COM 扩展中的错误,该错误导致 php 在 php_COM_get_ids_of_names() 中崩溃。(Paul, Harald)
  • 删除了 ext/satellite。它现在是 PEAR 的一部分。(eriksson)
  • 将 php.ini 指令“safe_mode_include_dir”更改为接受以(半)冒号分隔的路径(如“include_path”),而不是单个目录。(jflemer)
  • 添加了 is_a() 函数,可用于测试对象是否属于某个类或是否派生自该类。(Andrei, Zend 引擎)
  • 为 highlight_string() 和 highlight_file() 添加了可选参数,使这些函数返回突出显示的字符串而不是将其转储到标准输出。(Derick)
  • 为 extract() 添加了 EXTR_IF_EXISTS 和 EXTR_PREFIX_IF_EXISTS 标志。(Rasmus)
  • 修复了 pg_pconnect() 中的段错误。如果 PostgreSQL 服务器重新启动,则会检测到断开的连接并重新连接。(Yasuo)
  • 修复了 --enable-safe-mode 配置选项。(Yasuo)
  • 添加了函数 domxml_dump_node($doc,$node)。将节点及其所有子节点转储到字符串中。(chregu)
  • 添加了函数 domxml_node_get_content()。(chregu)
  • 添加了函数 domxml_dump_file($filename,[$compression])。将 XML 转储到文件并使用压缩(如果指定)。(chregu)
  • 将 exslt 集成到 domxml 扩展中 (http://exslt.org/,了解详情)。使用 --with-dom-exslt[=DIR](以及 --with-dom-xslt)配置。(chregu,jaroslaw)
  • 修复了 session_unset() 以便在 register_globals 关闭时不接触任何全局变量。(Thies)
  • 为 OCIFetchStatement() 添加了 3 个新的可选参数。它们控制在游标开头跳过的行数、应获取的最大行数以及返回数组的格式。(Thies)
  • 更新了 XSLT 扩展以支持 Sablotron 0.8。(Petr Cimprich)
  • 修复了 preg_match() 和 preg_match_all() 在匹配字符串包含空字节时的错误。(Andrei)
  • 添加了 xpath_register_ns() 函数。这使得使用命名空间发出 XPath 查询成为可能,例如:"//namespace:sampletag"。(Chris Jarecki)
  • 添加了支持多字节的正则表达式函数。(Rui)
  • 为 count() 添加了可选的第二个参数,该参数可用于指定正常或递归计数。(由 Vlad Bosinceanu 提供的补丁 <[email protected]>)
  • 添加了 mb_get_info() 用于获取 mbstring 的内部设置。(Rui)
  • 为 PostgreSQL 模块添加了异步查询函数。(Yasuo)
  • 为 PostgreSQL 模块添加了 pg_copy_to()/pg_copy_from()。(Youichi, Yasuo)
  • 为 FTP 扩展添加了 IPv6 支持。(Stig Venaas)
  • 显着提高了 wordwrap() 的速度。(Jim)
  • 修复了 pow() 在处理 0 的幂时的错误行为。(Jim)
  • 添加了 is_finite()、is_infinite() 和 is_nan()。(Jim)
  • 修复了 wordwrap() 在包装到零宽度并使用多字符断行或尝试强制切割时的段错误(错误 #12768)。(Jim)
  • 修复了 dbase 扩展中的几个错误 (dbase_pack() 将文件截断为正确的大小,修复了 #6852 #1 和 #2)。(Vlad)
  • 修复了 krsort() 中的错误,该错误会导致比较额外的字符。(Andi)
  • 修复了导致 pspell 从错误位置包含 pspell.h 的错误。(Vlad)
  • 在 mbstring 中添加了函数重载,以添加对字符串和邮件函数的多字节支持。(Rui)
  • 为 preg_grep() 添加了标志参数。当前唯一的标志是 PREG_GREP_INVERT,它将使函数返回未匹配的条目。(Andrei)
  • 修复了 xslt 扩展中的几个崩溃错误。(Markus, Derick)
  • 修复了 dbase 未正确返回非常大(大于 long)整数的问题。(Vlad)
  • 为 IRCG 添加了概念:在遇到微不足道的问题时退出、将输出写入文件、在连接结束时获取资源。(Sascha)
  • 修复了 thttpd 中与 POST 相关的错误,添加了 QUERY_STRING、HTTP_HOST、HTTP_ACCEPT_LANGUAGE 到脚本环境,改进了补丁以发送正确的 MIME 类型,并添加了对 /nocache/ 的支持。(Sascha)
  • 修复了 domxml 扩展中的几个错误和内存泄漏。(Markus)
  • 添加了 var_export(),它输出一个变量作为可重用 PHP 代码的表示形式。(Derick)
  • 为 CGI 版本添加了 -w 选项,以从脚本中剥离所有注释和空白。(Thies)
  • 为 ext/sockets 添加了对 SO_RCVTIMEO 和 SO_SNDTIMEO 的支持。(Jason)
  • 添加了 ob_get_level(),它返回输出缓冲机制的嵌套级别。(Yasuo, Derick)
  • 添加了 ob_flush() 和 ob_clean() 函数,它们刷新和清除输出缓冲区,而不会销毁缓冲区。(Derick)
  • 为 mysql_connect() 添加了新的可选参数,该参数强制创建新的数据库链接。(Markus, Derick)
  • 添加了 ldap_sort() 函数。(Stig Venaas)
  • 添加了 md5_file() 函数,它计算文件的 MD5 校验和。由 Alessandro Astarita 提供的补丁 <[email protected]> (Derick)
  • 添加了对解析包含在 WDDX 数据包中的记录集的支持。(Andrei)
  • 将 key_exists() 重命名为 array_key_exists()。(Derick)
  • 添加了对 ImageColorsForIndex() 和 ImageColorAt() 的支持,以便它们适用于 TrueColor 图像。(Rasmus)
  • 添加了对 bind_textdomain_codeset() 的支持。<[email protected]>
  • 添加了通用的 Win 32 API 扩展。(jmoore)
  • 删除了关于 mysql_connect() 中不存在的字符集的警告消息,当服务器的默认字符集 != latin1 时。(MySQL 团队)
  • 添加了用于对 POSIX 层进行低级访问的直接 I/O 扩展。(Sterling)
  • 为 RISC OS 上的 WebJames 服务器添加了 SAPI 模块。(Alex Waugh)
  • 修复了 ldap_add() 和 ldap_modify() 函数,使其在使用非法值数组时抛出警告。之前会发生段错误或添加错误的值。(Stig Venaas)
  • 在 mnoGoSearch 扩展中添加了 udm_check_charset() 函数。(gluke)
  • 修复了 mnoGoSearch 扩展以支持 mnogosearch-3.2.x。(gluke)
  • 使 fbsql_num_rows() 在所有 select 语句中返回正确的值。(Frank)
  • 添加了 array_chunk() 函数,该函数将数组拆分为指定大小的块。(Andrei)
  • 当 always_populate_raw_post_data 启用时,修复了在缺少 content-type 时 $HTTP_RAW_POST_DATA 未填充的问题。(Rasmus)
  • 添加了 session_cache_expire() 函数。(由 <[email protected]> 修补)(Andrei)
  • 添加了 array_fill() 函数。(Rasmus)
  • 在安全模式下,使 Authorization 标头在 phpinfo() 输出中隐藏。(Rasmus)
  • 恢复了安全模式的 realm 篡改。(Rasmus)
  • 修复了 preg_replace() 中的一个错误,该错误会导致替换数组条目的类型更改为字符串。(Andrei)
  • 添加了用户空间对象重载扩展。(Andrei)
  • 添加了 ldap_start_tls() 函数。(Stig Venaas,由 <[email protected]> 修补)
  • 更改了 rand() 和 mt_rand(),如果未调用 srand() 或 mt_srand(),则自动播种。(Sterling)
  • 更改了 srand() 和 mt_srand() 的种子选项为可选。如果未指定种子,则会生成最随机的种子。(Sterling)
  • 添加了 array_change_key_case() 函数,该函数返回一个数组,其中所有字符串键都小写或大写。(Edin)
  • 向 ircg_pconnect 添加了一个参数来抑制将非致命错误视为致命错误,并添加了将 Windows 引号转换为 &quot; 的功能。(Sascha)
  • 添加了 pcntl_exec() 函数,其行为类似于系统 execve。(Jason)
  • 修复了 ImageColorAt() 中的段错误和对真彩色图像的检查。(Rasmus)
  • 修复了 nl2br() 以处理单个字符串中所有类型的行尾。(Boian,Derick)
  • 添加了 mcrypt_generic_deinit() 来替换 mcrypt_generic_end()。(Derick)
  • 添加了 apache_setenv() 函数,用于将变量注入 Apache 的 subprocess_env 表中。(Rasmus)
  • 在 settype() 中添加了对 'int'、'bool'、'float' 和 'null' 的支持。(Jeroen)
  • 向 gethostbyaddr() 添加了 IPv6 支持。(由 Matthias Wimmer <[email protected]> 和 venaas 修补)
  • 修复了 ODBC 扩展中 LONG_VARCHAR 类型崩溃的问题。由 Walter Franzini 修补。(kalowsky)
  • 更改了 in_array() 和 search_array() 以允许 needle 本身是数组。(Andrei)
  • 添加了 ini_get_all() 函数,该函数返回所有注册的 ini 条目或指定扩展的条目。(Jani)
  • 在 htmlentities() 和 htmlspecialchars() 中添加了对中文编码的支持。(由 Alan Knowles <[email protected]> 和 Wez 修补)
  • 改进了对 autoconf-2.50+/libtool 1.4b+ 的支持。(Jan Kneschke,Sascha)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.1.2

  • 修复了当使用 mm 保存处理程序并且多个 SAPIs 同时运行时启动失败的问题。(Yasuo)
  • 修复了 Roxen SAPI。(Yasuo)
  • 修复了 RFC-1867 文件上传代码中的缓冲区溢出问题。(Stefan)
  • 修复了会话模块中的崩溃问题。(Yasuo)
  • 修复了 pspell 模块中的崩溃问题。(Yasuo)
  • 更改了 mbstring 'pass' 的默认输出编码以修复初始化问题。(Rui)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.1.1

  • 修复了与 Windows .NET / IIS 6 的不兼容性 - 可能提高了在其他 IIS 版本下的稳定性。(Zeev)
  • 修复了在有线程的平台上关闭时会导致崩溃或错误通知的错误。(Zeev)
  • 修复了 xslt 扩展中的几个崩溃错误。(Markus, Derick)
  • 修复了 dbase 未正确返回非常大(大于 long)整数的问题。(Vlad)
  • 修复了 domxml 扩展中的几个错误和内存泄漏。(Markus)
  • 修复了 gmmktime() 中的错误,该错误在标准时间内偏差一小时 - 错误 #9878。由 [email protected] 修补。(jmoore)
  • 修复了 Windows 上 gmdate() 时区处理中的错误 - 错误 #13885。(jmoore)
  • 修复了 mcrypt 扩展中的几个崩溃错误。(Derick)
  • 使 mcrypt 扩展再次能够与 libmcrypt 2.2 系列编译。(Sterling)
  • 修复了一个错误,该错误会导致 is_file() 函数族在传入不存在的文件名时错误地给出错误。(Sterling)
  • 修复了 strtotime() 函数中的一个错误,该错误导致它错误地识别 GMT +0100 和 GMT -0100。(Derick)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.1.0

  • 解决了 MySQL 客户端库中的一个错误,该错误会导致 PHP 在使用非缓冲查询时挂起。(Zeev)
  • 修复了一个错误,该错误会导致 set_time_limit() 影响对正在运行的 Apache 子进程的所有后续请求。(Zeev)
  • 删除了 sablotron 扩展,以支持新的 XSLT 扩展。(Sterling)
  • 修复了 WDDX 反序列化中的一个错误,该错误有时会导致根元素在是标量元素时损坏。(Andrei)
  • 使 ImageColorAt() 和 ImageColorsForIndex() 能够处理真彩色图像。(Rasmus)
  • 修复了 preg_match_all() 中的一个错误,该错误会在某些情况下导致结果在不正确的索引下返回。(Andrei)
  • 修复了 str_replace() 中的崩溃问题,该问题会在搜索参数是数组并且其中一个替换导致主题字符串为空时发生。(Andrei)
  • 修复了 MySQL 扩展以使其与 MySQL 4.0 兼容。(Jani)
  • 修复了 Cobalt 系统中的崩溃错误。由 [email protected] 修补。(Jani)
  • 捆绑了 Dan Libby 的 xmlrpc-epi 扩展。
  • 引入了扩展版本号。(Stig)
  • 添加了 version_compare() 函数。(Stig)
  • 修复了 pg_last_notice()(即使应用程序没有使用 pg_last_notice(),它也可能导致 PostgreSQL 应用程序随机崩溃)。(Zeev)
  • 修复了 DOM-XML 的错误报告,以便给出 E_WARNING 错误而不是 E_ERROR 错误,这允许您捕获由 DOMXML 函数抛出的错误。(Sterling)
  • 修复了 mcrypt 扩展中的一个错误,其中列表析构器未被正确分配。(Sterling)
  • 改进了 Interbase blob、null 和错误处理。(由 Jeremy Bettis 修补)
  • 修复了 array_map() 中的崩溃错误,如果输入数组具有字符串或非连续键。还对其进行了修改,因此如果传递单个数组,则其键将保留在结果数组中。(Andrei)
  • 修复了 dbase_replace_record 中的崩溃问题。(由 [email protected] 修补)
  • 修复了 msql_result() 中的崩溃问题。(Zeev)
  • 添加了对一维 SafeArrays 和 Enumerations 的支持。添加了 com_isenum() 函数来检查组件是否实现了枚举。(Alan,Harald)
  • 修复了 dbase_get_record() 和 dbase_get_record_with_names() 中的一个错误。布尔字段现在正确返回。由 Lawrence E. Widman <[email protected]> 修补。(Jani)
  • 向 php-config 添加了 --version 选项。(Stig)
  • 通过合并所有已知错误的修补程序,改进了对 thttpd-2.21b 的支持。(Sascha)
  • 添加了 ircg_get_username,ircg_join 中的 roomkey 参数,错误获取基础设施,一个用于加速消息处理的标记器,并修复了 IRCG 扩展中的许多错误。(Sascha)
  • 改进了序列化程序/反序列化程序的速度。(Thies,Sascha)
  • 在从字符串转换时,浮点数能够更好地检测。(Zeev,Zend 引擎)
  • 将 php.ini-optimized 替换为 php.ini-recommended。顾名思义,强烈建议将此文件作为您的 PHP 配置的基础,而不是 php.ini-dist。(Zeev)
  • 为 4.0.7 恢复 xpath_eval() 和 php_xpathptr_eval()。仍存在一些已知泄漏。(Joey)
  • 添加了 import_request_variables(),允许用户安全地将表单变量导入全局范围。(Zeev)
  • 引入了新的 $_REQUEST 数组,其中包含任何 GET、POST 或 COOKIE 变量。与其他新的变量一样,此变量在任何上下文中都可用。(Andi & Zeev)
  • 引入了 $_GET、$_POST、$_COOKIE、$_SERVER 和 $_ENV 变量,它们取代了旧的 $HTTP_*_VARS 数组。除了键入更短之外,这些变量在任何范围中都可用,并且无需使用 'global' 语句导入它们。(Andi & Zeev)
  • 添加了 vprintf() 和 vsprintf() 函数,允许将格式后的所有参数作为数组传递。(Andrei)
  • 为 ImageCreateFromString() 添加了对 GD2 图像类型的支持。(Jani)
  • 添加了 ImageCreateFromGD()、ImageCreateFromGD2()、ImageCreateFromGD2part()、ImageGD() 和 ImageGD2() 函数。(Jani)
  • addcslashes 现在会在 charlist 无效时发出警告。返回的字符串保持不变。(Jeroen)
  • 向 gmp_init() 添加了可选的额外参数。额外参数指示 gmp 在将字符串转换为 gmp-number 时应该使用哪个数字基数。(Troels)
  • 添加了 Cyrus-IMAP 扩展,该扩展允许直接访问 Cyrus 的更高级功能。(Sterling)
  • 增强了 read_exif_data() 以支持多个注释标签。(Rasmus)
  • 修复了 array_map() 中的崩溃错误,当传递 NULL 回调时。(Andrei)
  • 在 exif 扩展中将 E_ERROR 更改为 E_WARNING。(Rasmus)
  • 新的 pow() 实现,它在可能的情况下返回整数,并在错误输入时发出警告(jeroen)
  • 向 trim、chop 和 ltrim 添加了可选的第二个参数。您现在可以指定要修剪的字符。(jeroen)
  • 极大地提高了线程安全版 PHP 的性能,尤其是在 Windows 下。(Andi & Zeev)
  • 显著提高了请求关闭的性能。(Andi & Zeev,Zend 引擎)
  • 添加了一些新的数学函数。(Jesus)
  • 将捆绑的 expat 更新到 1.95.2。(Thies)
  • 改进了数据库重启后 OCIPlogon() 的稳定性。(Thies)
  • 修复了 CGI & Java servlet 模式下在主脚本中使用时 __FILE__ 的问题。它以前只在包含的文件中正确工作(Andi)
  • 改进了 Zend 哈希表实现,使其速度更快(Andi,Zend 引擎)
  • 更新了 PHP 的文件打开函数(由 include() 使用)以检查调用脚本的目录,以防文件无法在 include_path 中找到(Andi)
  • 修复了一个导致常量可能被损坏并可能阻止资源在请求结束时被正确清理的损坏错误。(Zeev)
  • 向 str_replace() 添加了可选使用 Boyer-Moore 算法的功能。(Sascha)
  • 修复并改进了共享内存会话存储模块。(Sascha)
  • 添加了配置选项(always_populate_raw_post_data),该选项在启用时会始终填充 $HTTP_RAW_POST_DATA,无论 POST MIME 类型如何。(Rasmus)
  • 向 ftp_fput 添加了对 socket 和 popen 文件类型的支持。(Jason)
  • 修复了 LDAP 扩展中的各种内存泄漏。(Stig Venaas)
  • 改进了交互模式 - 它现在在 PHP 的所有版本中都可用,没有任何明显的减速(Zeev,Zend 引擎)
  • 修复了 iptcparse() 在提供的數據為偽造时发生的崩溃问题。(Thies)
  • 修复了 snmpset() 失败的返回值 - 现在返回 false。(Rasmus)
  • 向 snmp 函数添加了 hostname:port 支持。([email protected],Rasmus)
  • 添加了 fdf_set_encoding() 函数。(Masaki YATSU,Rasmus)
  • 反转了资源的销毁顺序。这修复了报告的 OCI8 "无法回滚未完成的事务!" 消息。(Thies,Zend 引擎)
  • 添加了返回 XMLRPC 错误包的选项。(Matt Allen,Sascha Schumann)
  • 改进了 range() 函数以支持 range('a','z') 和 range(9,0) 类型的范围。(Rasmus)
  • 添加了 getmygid() 和 safe_mode_gid ini 指令,以允许安全模式执行 gid 检查而不是 uid 检查。(James E. Flemer,Rasmus)
  • 确保 assert() 接受 array(&$obj, 'methodname') 语法。(Thies)
  • 确保 OCI8 出站变量始终以零结尾。(Thies)
  • 修复了一个错误,该错误允许用户在使用 mail() 的第 5 个参数时生成进程。(Derick)
  • 添加了 nl_langinfo()(当操作系统提供时),它返回区域设置。
  • 修复了线程安全版本中的一个主要的内存损坏错误。(Zeev)
  • 修复了使用 CURLOPT_WRITEHEADER 选项时发生的崩溃问题。(Sterling)
  • 向 basename() 添加了可选的后缀删除参数。(Hartmut)
  • 在 Udm_Set_Agent_Param() 函数中添加了新的参数 UDM_PARAM_VARDIR ha,以支持替代搜索数据目录。这需要 mnogoSearch 3.1.13 或更高版本。
  • 修复了会话中的引用。这在使用 WDDX 会话序列化程序时不起作用。还改进了会话的速度。(Thies)
  • 添加了新的实验模块 pcntl(进程控制)。(Jason)
  • 修复了 com.allow_dcom 设置为 false 时的错误。(phanto)
  • 在构造函数中添加了一个额外的参数,以便在实例化组件时从文件中加载类型库(例如,没有本地注册的 DCOM 组件)。(phanto)
  • 添加了在类型库文件中使用完整名称指定类型库的可能性。(Alan Brown)
  • 将 ZZiplib 扩展重命名为 Zip 扩展,函数名称也相应更改,功能保持不变。(Sterling)
  • 使 pg_loread() 的长度参数(参数 2)成为可选的,如果未指定,则数据将以 1kb 块读取。(Sterling)
  • pg_lowrite() 函数添加了第三个参数,用于指定要写入数据的长度。(Sterling)
  • 添加了 CONNECTION_ABORTED、CONNECTION_TIMEOUT 和 CONNECTION_NORMAL 常量。(Zak)
  • 现在,将值赋值给字符串的偏移量超出字符串结尾时,会自动将字符串长度增加,并用空格填充,然后执行赋值。(Zeev,Zend Engine)
  • 如果读取了未初始化的字符串偏移量,则会添加警告。(Zeev,Zend Engine)
  • 修复了当遇到非常大的负整数时出现的几个溢出错误。(Zeev,Zend Engine)
  • 修复了字符串偏移量实现中的崩溃错误。(Zeev,Zend Engine)
  • 改进了使用运行时继承的类的 parent::method_name() 的实现。(Zeev,Zend Engine)
  • 在 date() 函数中添加了 'W' 标志,使用 ISO 8601 标准返回一年中的周数。(Colin)
  • 使 PostgreSQL 驱动程序在遍历结果集时进行内部行计数。([email protected]
  • 将 ext/mysql/libmysql 更新到版本 3.23.39;可移植性修复,一些小错误修复。([email protected]
  • 添加了 get_defined_constants() 函数,用于返回一个关联数组,其中常量映射到它们的值。(Sean)
  • 新的 mailparse 扩展用于解析和操作 MIME 邮件。(Wez)
  • 在构建独立 DSO 扩展时定义 HAVE_CONFIG_H。(Stig)
  • 在 printf/sprintf 中添加了 'u' 修饰符,用于打印无符号长整数。(Derick)
  • 改进了 IRIX 兼容性。(Sascha)
  • 修复了 bzopen() 在指定无效文件时出现的崩溃错误。(Andi)
  • 修复了 mcrypt 扩展中会导致崩溃的错误。(Derick)
  • 为 ImageFilledArc() 函数添加了 IMG_ARC_ROUNDED 选项,用于指定绘制的曲线应为圆角。(Sterling)
  • 更新了 sockets 扩展,使用资源而不是长整数来表示套接字描述符。套接字函数已重命名以符合 PHP 标准,而不是它们的 C 对应项。sockets 扩展现在可以在 Win32 下使用。(Daniel)
  • 添加了 disk_total_space() 函数,用于返回文件系统的总大小。(来自 Steven Bower 的补丁)
  • 将 diskfreespace() 重命名为 disk_free_space(),以符合已建立的命名约定。(Jon)
  • 修复了 #2181。现在对于 7 位编码和纯文本正文类型,返回 0 而不是未设置的值。(Vlad)
  • 修复了 call_user_*() 函数中的一个错误,该错误不允许调用接受引用参数的函数/方法。(Andrei)
  • 添加了 com_release($obj) 和 com_addref($obj) 函数以及相关的类成员 $obj->Release() 和 $obj->AddRef(),以更好地控制使用的 COM 组件。(phanto)
  • 向 dotnet_load 添加了一个额外的参数来指定代码页。(phanto)
  • 添加了峰值内存记录。使用 --enable-memory-limit 创建一个新的 Apache 1.x 日志指令 "{mod_php_memory_usage}n",它将记录脚本使用的峰值内存量。(Thies)
  • 使 fstat() 和 stat() 通过返回一个数字和字符串索引的数组提供相同的输出。(Jason)
  • 修复了重新注册常量时出现的内存泄漏。(Sascha,Zend Engine)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.0.6

  • 修复了内存碎片问题,该问题会导致 Web 服务器进程增长超出预期。(Andi,Zend Engine)
  • 当 register_globals 启用时,使 $HTTP_SESSION_VARS['foo'] 和 $foo 成为对同一值的引用。(Andrei)
  • 修复了 FreeBSD 下的 disk_free_space() 和 disk_total_space()。(Jon)
  • 修复了 readfile/passthru 在连接中止期间丢失资源的问题。(Sascha)
  • 修复了 mcrypt 扩展中的错误,该错误会导致在使用对于所用算法过大的密钥时出现段错误,以及导致 mcrypt_generic() 使 PHP 出现段错误的错误。(Derick)
  • 修复了 getopt,使其接受 -<opt><arg> 和 -<opt> <arg> 形式的命令行参数。(Jmoore)
  • 修复了写入会话文件时的竞争条件。(Sascha)
  • 修复了当未指定输入文件时 PHP CGI 中可能出现的崩溃。(Zeev)
  • 添加了 is_callable() 函数,可用于确定其参数是否为有效的可调用结构。(Andrei)
  • 修复了在生成扩展信息时可能出现的罕见崩溃。(Dmitri Dmitrienko,Zend Engine)
  • 改进了 virtual() 以支持启用了 PHP 的 URI。(Zeev)
  • 修复了在 array() 表达式中使用浮点数键时出现的未定义行为。(Zeev,Zend Engine)
  • 修复了在 include 文件或 eval 语句中出现解析错误时可能出现的崩溃。(Zeev,Zend Engine)
  • 添加了 --with-layout 配置选项。(Stig)
  • 改进了交互模式 - 支持函数调用,并在多线程构建中工作。(Zeev,Zend Engine)
  • 修复了交互模式中的崩溃错误。(Zeev,Zend Engine)
  • 添加了 pg_last_notice() 函数。(Rasmus,根据 [email protected] 的建议)
  • 修复了 preg_split() 中的一个错误,该错误会导致在与 PREG_SPLIT_NO_EMPTY 标志一起使用时错误地限制结果数。(Andrei)
  • 为 mysql_error() 和 mysql_errno() 添加了连接错误支持。(Jason)
  • 为 getimagesize 添加了支持,以返回 BMP 和 PSD 文件的尺寸。(Derick)
  • 为 IRCG 添加了启发式方法以杀死过期的 IRC 连接,消息扫描器缓存,昵称转义,对 ircg_msg() 的抑制选项以及 IRCG phpinfo() 输出中的统计信息。(Sascha)
  • 添加了日语多字节字符串函数支持。(Rui)
  • 添加了 Mac OS X "\r" 行结束符支持。(Andi,Zend Engine)
  • 修复了当未启用 force-cgi-redirect 时 $PHP_SELF 注册不正确的问题。(Sterling)
  • pfpro 扩展现在支持 Verisign SDK 的版本 3。(John Donagher)
  • 已添加 Udm_Cat_List 和 Udm_Cat_Path 函数。
  • 添加了 key_exists() 来检查数组或对象中是否存在给定的键或索引。(David Croft)
  • 修改 cURL 扩展,使其仅与最新的 cURL 版本一起编译。扩展 API 方面的向后兼容性并未被破坏。(Sterling)
  • 添加了在 cURL 中使用用户定义回调的能力。(Sterling)
  • 为 curl_setopt() 添加了 SSL_VERIFYPEER、CAINFO、MAXREDIRS、FILETIME、RANDOM_FILE、EGDSOCKET 和 CONNECTTIMEOUT 选项。(Sterling)
  • 添加了对 cURL 的持久连接的支持。(Sterling)
  • 修复了 cURL 中文件描述符被分配但从未关闭的问题。(Sterling)
  • 修复了交互模式 (-a)。它再次以其一直以来的相同限制工作。(Andi,Zend Engine)
  • 改进了内存管理器,使其使用更少的内存并在调试模式下提供更好的内存溢出检测能力。(Andi,Zend Engine)
  • 修复了将资源强制转换为数字时出现的资源泄漏。(Zeev,Zend Engine)
  • 修复了 foreach() 在被发送无效参数时不会崩溃的问题。(Andi,Zend Engine)
  • 修复了在 Windows 下尝试打开不存在的目录时出现的 opendir() 错误。(Andi)
  • 修复了 Win32 下的 popen() 和 exec 家族(无法分叉问题)。(Daniel)
  • 使 printf 函数族成为二进制安全的。(Rasmus)
  • 修复了 WDDX 序列化以 HTML 转义键/变量名称,以免破坏 XML 包。(Andrei)
  • 使 WDDX 扩展默认启用。(Andrei)
  • 添加了 -C 命令行选项以避免 chdir 到脚本的目录。(Stig)
  • 修复了 preg_replace() 中 /e 修饰符的一个错误,该错误会导致在前面存在一位数字引用时无法正确替换两位数字引用。这修复了错误 #10218。(Andrei)
  • 在 OCI8 中添加了临时 LOB 支持。(来自 David Benson 的补丁)
  • 修复了 pathinfo() 中的崩溃。
  • OCI8 现在支持绑定集合。(来自 Andy Sautins <[email protected]> 的补丁)
  • 添加了对 GD 2.0.1 的支持,用于真彩色和 alpha 通道,以及其他一些 gd 函数,包括旧的和新的 - 有关更多信息,请参阅文档。(Wez)
  • 向 openssl 扩展添加了 S/MIME 签名/验证加密/解密函数,以及其他一些证书操作和询问函数。有关更多信息,请参阅文档。(Wez)
  • printf 参数编号(参数交换)支持。(Morten Poulsen,Rasmus)
  • 添加了 DIRECTORY_SEPARATOR 常量(UNIX 上为 '/',Windows 上为 '\')。(Stig)
  • 对 php_odbc 模块进行了小的更改,以检查 SQLDisconnects 是否失败,并在调用失败时关闭任何未完成的事务,然后再次断开连接。(lurcher)
  • 修改了 get_parent_class() 和 get_class_methods(),使其既可以接受类名,也可以接受类实例。(Andrei,Zend Engine)
  • 添加了对 UNC 样式路径的支持。(\\server\share\file,//server/share/file)。(Daniel,TSRM)
  • 将 dbx 模块(数据库抽象)添加到存储库。(Marc)
  • 如果可能,使用 ITypeInfo 而不是 IDispatch。这使得 DCOM 调用甚至 COM 调用速度更快。所有 ini 设置现在都以 'com.' 为前缀。现在您无需提供包含类型库的文件路径,还可以提供 TypeLib 的 GUID - 条目或 IID 来预加载类型 - 信息。(phanto)
  • 重写了 domxml。它现在基本上符合 DOM Level 2。(Uwe)
  • 添加了 array_map() 函数,该函数将回调应用于给定数组的元素并返回结果。它也可以与 null 回调一起使用来转置数组。(Andrei)
  • 添加了 array_filter(),它允许通过指定的回调过滤数组元素。(Andrei)
  • 修复了所有相关的数组函数以避免在操作期间移动内部数组指针。(Andrei)
  • 添加了 mysql_unbuffered_query(),它对于非常大的结果集很有用。(Zeev)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.0.5

  • 重要:从 preg_replace() 中删除了 /F 修饰符处理。相反,应该使用新的 preg_replace_callback() 函数。(Andrei)
  • 添加了新的 php.ini 指令:arg_separator.input,它用于告诉 PHP 哪些字符被视为 URL 中的参数分隔符。重命名了 php.ini 指令:arg_separator -> arg_separator.output(Jani)
  • 添加了 FastCGI SAPI 模块。(Ben Mansell)
  • 添加了 array_reduce(),它允许通过回调函数对数组进行迭代减少以获得单个值。(Andrei)
  • gd 扩展的 imageloadfont 函数在此修复后应该不再依赖于平台。([email protected]
  • 修复了一些文件函数(fgets、fputs、fread、fwrite)中的兼容性问题。ANSI 标准指出,如果文件以读/写模式打开,则应该在从读取切换到写入以及从写入切换到读取之前调用 fseek()。([email protected]
  • 修复了 call_user_func* 函数的参数检查,并允许为 call_user_func_array 指定 array($obj, 'method') 语法。(Andrei)
  • 修复了 parent::method(),使其也适用于运行时绑定。(Zeev,Zend Engine)
  • 实现了基于 zlib 的高性能输出压缩 - 请参阅 zlib.output_compression INI 指令。(Zeev)
  • 改进了 ob_gzhandler() 以支持分块输出缓冲 - 建议将其与 4KB 块一起使用。(Zeev)
  • 修复了分块输出缓冲。(Zeev)
  • 强制 call_user_method() 和 call_user_method_array() 通过引用获取对象参数。(Andrei)
  • 修复了 OCI8 中的 ROWID 绑定。(Thies)
  • 添加了 PEAR/Cache 作为通用的缓存系统。(Sebastian,PEAR/Cache)
  • 添加了 IMAP 配额支持 (imap_set_quota、imap_get_quota),通过 c-client2000 启用/添加。(kalowsky)
  • 将 PCRE 升级到版本 3.4。(Andrei)
  • 添加了 array_search,它的工作方式类似于 in_array,但返回键而不是布尔值。([email protected]
  • 修复了 pgsql 事务支持。(Stig,PEAR/DB)
  • 添加了新的对象 VARIANT() 来封装用于 COM 和 DOTNET 模块的值。因此,现在可以按引用传递值,将 php 值转换为扩展变体类型(货币、日期、idispatch、iunknown、...),并定义应用于 unicode 转换的代码页。
  • 改进了 IRCG 的整体速度,为消息扫描器添加了 URL 处理。(Sascha)
  • 修复了一些模块,以允许使用输出缓冲。(Thies)
  • 添加了 chroot() 函数。(Derick)
  • PostgreSQL 现在在每个持久连接的请求结束时执行回滚。这是通过对连接进行“空”事务来完成的。这是 PostgreSQL 核心团队成员建议的。(Thies)
  • 修复了 PostgeSQL pg_connect() 错误。有时我们会意外地关闭默认链接。(补丁由:[email protected] 提供)
  • 改进了 OCI8 死会话检测。(补丁由:George Schlossnagle 提供)
  • 修复了 get_meta_tags() 多行错误 #4556。(Sean)
  • 优先使用 random() 而不是 *rand48()。(JimJag)
  • 将 WDDX 序列化速度提高了 2 倍。(Andrei)
  • 为 mail() 添加了一个新参数,该参数将附加的命令行参数追加到邮件程序。(Derick)
  • 添加了 Udm_Clear_Search_Limits mnoGoSearch 扩展函数。(gluke)
  • 修复了 mnogosearch protos。修复了 mnogosearch 函数的返回值。修复了大写字母导致搜索中断的错误。(gluke)
  • 现在可以通过 call_user_method_* 函数调用静态方法,例如 call_user_method('method', 'class'),以及 array('class', 'method') 结构(例如,用于 array_walk())。(Andrei,Zend 引擎)
  • Windows 下的 microtime() 现在返回准确的值。(James)
  • 在 preg_split() 中添加了 PREG_SPLIT_DELIM_CAPTURE 标志,允许捕获带括号的定界符表达式,类似于 Perl 的功能。(Andrei)
  • 修复了 strip_tags(),使其不再去除单独的 > 字符。(Rasmus)
  • 在使用 ob_gzhandler() 时,PHP 现在会自动设置正确的 Content-Lengh,这使得浏览器能够使用 HTTP Keep-Alive 功能。(Thies)
  • 改进了 preg_replace() /F 修饰符的处理,使其能够将 array($obj, 'method') 结构指定为替换函数。(Andrei)
  • 添加了 mysql_get_client_info()、mysql_get_server_info()、mysql_get_proto_info() 和 mysql_get_host_info() 函数。(Sean)
  • PHP PDF API 进行了重大更改,虽然尝试保持向后兼容性,但可能仍会破坏某些函数。同时还添加了一些仍然缺失的函数。(Uwe)
  • 添加了 mnoGoSearch 扩展 - http://search.mnogo.ru。(Sergey K)
  • 允许在数据库用户名和密码中进行 URL 编码。(Stig,PEAR)
  • 在 PEAR 类中添加了 raiseError 和 setErrorHandling 方法。(Stig,PEAR)
  • 添加了使用 GD 扩展动态转换 JPG/PNG 图片的功能,这对于创建动态 WAP 网站很有用。(Derick)
  • 更新了 ext/mysql/libmysql 到 3.23.32 版本;修复了错误。([email protected]
  • 修复了所有(非 pcre)正则表达式函数中可能出现的崩溃。(Thies)
  • 改进了 str_replace(),使其能够为任何参数接受数组 - 类似于 preg_replace()。(Andrei)
  • 修复了 extract(),使其在使用 EXTR_PREFIX_ALL 时能够正确地为数字键添加前缀。(Andrei)
  • 在 extract() 中添加了 EXTR_PREFIX_INVALID 标志,以便自动为不构成有效变量名的字符串键添加前缀。(Andrei)
  • 来自 [email protected] 的 BeOS 补丁,由 Rasmus 修改了一些内容。
  • 修复了 Apache 模块,使其仅在 PATH_TRANSLATED 未设置时才用 SCRIPT_FILENAME 覆盖 PATH_TRANSLATED。(Zeev)
  • 修复了 highlight_string() 中的崩溃错误。(Rasmus)
  • 为 getimagesize() 函数添加了 URL 支持。(Jani)
  • 添加了 xslt_set_scheme_handler() 函数。([email protected]
  • 添加了 pg_lolseek 和 pg_lotell 函数。(Derick)
  • 修复了 wordwrap 函数中的错误换行。(Derick)
  • 修复了 date() 的 'O' 和 'r' 标志,使其具有正确的时区偏移符号。(Andrei)
  • 将 date() 的 'Z' 标志更改为始终使用负号返回时区偏移,如果它位于 UTC 西侧。(Andrei)
  • 添加了 HTML_Processor 类,它提供处理 HTML 的常用函数。(Sterling)
  • 添加了 localeconv() 和 strcoll() 函数,用于本地化。(Sean)
  • 添加了 xslt_set_base 函数。(Sterling)
  • 添加了对 Zeus 3.3.8 的支持。
  • 添加了 odbc_error() 和 odbc_errormsg() 函数。(Stig)
  • 为 vpopmail 添加了新扩展 - http://www.inter7.com/vpopmail,请尝试一下,但请注意它尚未准备好用于生产环境。(David Croft,Boian Bonev)
  • 在 Sybase CT 模块中添加了 sybase_get_last_message()。(Jan Fedak)
  • 使 ldap_list()、ldap_read() 和 ldap_search() 在第一个参数为链接标识符数组时进行并行搜索。(Stig Venaas)
  • 使 fopen() 的 HTTP URL 能够进行重定向,$http_response_header 将包含所有带有空字符串作为分隔符的标头。(Stig Venaas)
  • 添加了 Console_Getopt 类,用于解析命令行参数。(Andrei,PEAR)
  • 添加了 ZZipLib 扩展的实验版本,它提供读取 zip 文件的功能。(Sterling)
  • 允许在安全模式下访问上传的文件。请注意,您只能读取文件。如果您将其复制到新位置,副本将不会具有正确的 UID,您的脚本将无法访问该副本。(Thies)
  • 更改了 extract(),使其检查前缀名称是否有效。(Andrei)
  • 更改了 extract(),使其返回提取的变量数量。(Andrei)
  • 添加了 ldap_rename() 函数。(Stig Venaas)
  • 使 ldap_set_option() 支持控制。(Stig Venaas)
  • 更改了 ldap_search() 并添加了函数 ldap_parse_result()、ldap_first_reference()、ldap_next_reference() 和 ldap_parse_reference(),以应对 LDAPv3 中的引用和引用等内容。(Stig Venaas)
  • 修复了 date('r') 溢出问题。
  • 使 phpinfo() 中报告的 php.ini 路径始终指向打开的绝对路径。(Zeev)
  • 使 INI 机制成为线程安全的。(Zeev,Zend 引擎)
  • 更改了 setlocale() 以使用 LC_* 常量。(Jani)
  • ctype 函数现在遵循扩展命名约定。(Hartmut)
  • 添加了 iconv() 函数(使用 libc 或 libiconv)。(Stig)
  • 添加了 ODBC_TYPE 常量。(Stig)
  • 添加了 call_user_method_array 函数,该函数允许您使用任意数量的参数调用方法。(Sterling)
  • ext/odbc:Walter Franzini 编写的 IBM DB2 补丁。([email protected]
  • 添加了 cracklib 库的扩展。(Alexander Feldman)
有关此版本的更多信息,请访问 我们的发布页面

4.0.4 版

  • 允许通过引用分配新创建的对象。这仅在您的构造函数使其他数据结构引用 $this 对象时才需要(例如,$GLOBALS["foobar"] =& $this;)新的语法为 $obj =& new MyClass();(Andi,Zend 引擎)
  • Allow for three expression types to be sent to functions which are requesting
      the function argument to be passed by reference (only c. was previously
      supported):
      a. func(new myclass());
      b. func(func2()); where func2() returns a reference, i.e. is defined as
         function &func2(...)
         {
          ...
         }
      c. func($var); where func() is defined as function func(&$var) {...}
      You CAN'T count on any other expressions to be passable by reference.
      (Andi, Zend Engine)
  • 使 ldap_get_entries() 即使在搜索结果中没有条目时也返回数组。(Jani)
  • 修复了与 mod_perl 的交互错误,该错误会导致使用 LFS 时出现段错误。(Sascha)
  • 现在识别 const CONSTNAME。在打补丁之前,只识别 @const CONSTNAME description。
  • 添加了 is_null() 函数,如果变量的类型为 null,则该函数将返回 true。(Sterling)
  • 修复了导致 readdir() 在某些系统中无法使用的错误。(Jani)
  • 添加了 get_defined_functions() 函数,该函数返回所有当前定义的函数列表。(Sterling)
  • 添加了 get_defined_vars() 函数,该函数返回当前作用域中定义的所有变量及其后续值的关联数组。(Sterling)
  • 添加了 call_user_func_array() 函数,该函数使您能够通过将参数数组作为第二个参数传递来调用用户函数。(Sterling)
  • 添加了 constant() 函数,该函数返回给定常量名称的常量值。(Sterling)
  • 在 PCRE 中实现了对 Perl 风格的匹配正则表达式定界符的支持。您现在可以使用 <{[( 和 )]}> 来定界表达式。(Andrei)
  • 在 PCRE 中引入了新的 'F' 修饰符,它允许您在 preg_replace() 的替换参数中指定一个函数名称,该函数将在运行时被调用以提供替换字符串。它将传递一个包含匹配模式和子模式的数组。(Andrei)
  • 彻底解决了 Bug #4615(kalowsky 和 Eric Veldhuyzen)
  • 修复了虚拟目录模式下的 realpath()(Daniel)
  • 将 Phil Nelson 的 bc 数学库例程集成到 PHP 中,现在许可证允许这样做。(Phil Nelson)
  • 在 Sablotron 扩展中添加了 xslt_set_error_handler() 函数。(Sterling)
  • 改进了 Sablotron 的错误处理系统,允许您在错误输出到屏幕之前捕获所有错误。(Sterling)
  • 添加了 OpenSSL 扩展(Stig Venaas)
  • 修复/创建了对 Solid 3.0 数据库的支持(kalowsky)
  • 修复了对 Solid 2.3 数据库的支持(kalowsky)
  • quoted_printable_decode() 函数已符合 RFC-2045。(Kir)
  • 修改了 preg_grep(),使其始终使用原始数组中的键返回结果。(Andrei)
  • 修改了 preg_replace(),使其除了 \\n 之外还可以接受 Perl 风格的 $n 反向引用。(Andrei)
  • 修改了 preg_replace(),使其忽略引用不存在的子模式的反向引用。(Andrei)
  • 修复了 OCIFetchStatement() 中的列标题缓冲区溢出。(Thies)
  • 添加了 'output_handler' INI 指令(Zeev)
  • 修复了输出缓冲机制中的一些小错误。(Zeev)
  • 添加了透明 gzip 压缩支持(Jade Nicoletti,Zeev)
  • 对 domxml 进行了重大改造。还添加了基本的 XPath 支持(Uwe)
  • 在 date() 中添加了 'r' 标志,它会生成 RFC822 格式的日期,例如 "Thu, 9 Nov 2000 16:33:01 -0500"(Colin)
  • 在 CGI 模式下,$HTTP_SERVER_VARS 现在也包含所有环境变量(Zeev)
  • 允许用户在 mysql 查询中使用 mysql_use_result(Stas)
  • 修复了在经常重新启动 Apache 时出现的内存泄漏([email protected]
  • 修复了导致 $argv 和 $argc 在 PHP 命令行版本中无法定义的错误(Stas)
  • 修复了导致在 php.ini 中加载的模块不受编译时更改的 extension_dir 影响的错误。(Zeev)
  • 修复了 ftp_mkdir() 在不返回完整路径的 FTP 服务器上使用时的错误(Jani)
  • 添加了 ImageCreateFromString(),它会从例如 MySQL blob 创建一个图像流。(Mathieu)
  • 修复了 imagewbmp() 中的崩溃错误(Jani)
  • 更改了 sablot 配置文件,以便如果您使用低于 0.44 的任何版本的 Sablotron,则必须使用 Sablotron 自带的 Expat 库。(Sterling)
  • 在 thttpd 中添加了基本身份验证支持(Sascha)
  • 添加了对 Caudium Web 服务器的支持 (http://caudium.net/)。它基于 Roxen SAPI 模块。已发现和修复了许多错误。(David)
  • 修复了 mysql_close()、pg_close()、msql_close() 和 sybase_close() - 它们没有正确关闭 SQL 连接(Zeev)
  • 修复了 crypt(),如果未提供随机种子,则会提供随机种子(Andi)
  • 使 print_r() 支持递归数据结构,例如 $GLOBALS。(Zeev)
  • 修复了导致 PHP 在使用多个输出缓冲区时无法正确刷新其输出缓冲区的错误。(Zeev)
  • 修复了可能导致 PHP Apache 模块的关闭序列在某些情况下陷入无限循环的错误。这会导致运行在 Solaris 上的 Apache 进程卡住,尤其是在使用输出缓冲区时。(Zeev)
  • 添加了对序列化引用的支持(Stas)
  • 修复了与 OpenLDAP 和 Oracle 8.1.x 的冲突(Jani)
  • parse_ini_file() 支持一个新的可选的第二个参数,该参数指示它根据所在的部分将指令划分为数组。(Zeev)
  • parse_ini_file() 现在是线程安全的,并且在 Windows 上受支持。(Zeev)
  • 统一了所有 SAPI 模块的连接中止语义(Sascha)
  • 通过 URL 打开的文件现在将 HTTP 响应标头存储在 $http_response_header 中。(Zeev)
  • 修复了 array_rand(),使其在请求的元素数量与数组中的元素数量相同时会打乱结果。(Andrei)
  • 在 header() 中添加了 replace 参数(Sascha)
  • 修复了透明会话 ID 模式下单引号的处理(Sascha)
  • 修复了 "php://*" fopen 处理程序(Sascha)
  • 使 rename 在线程安全的环境中工作(Daniel)
  • 使 session_destroy() 在取消链接之前关闭文件(Daniel)
  • 添加了 array_sum() 函数。(Andrei)
  • 修复了 session.c 中的错误。php_session_save_current_state 没有检查 mod_data 是否为 NULL,这种情况在用户使用参数调用 session_module_name 时有可能发生。([email protected]
  • 添加了 IIS 管理扩展。(Frank)
  • OCIBindByName() 现在可以更好地进行参数检查。(Thies)
  • 使 sockets.c 中的 read() 成为二进制安全的。(Chris Vandomelen)
  • 使 array_intersect() 和 array_diff() 不改变顺序。(Stig Venaas)
  • 使 ldap_connect() 在使用 OpenLDAP 2.x 时能够在主机参数中接受 URL。要使用 SSL,请使用 ldaps://host/ 作为 URL。(Stig Venaas)
  • 使资源类型名称可见,例如 var_dump() 和 get_resource_type() 会为文件资源显示 "file"。(Andrei)
  • 添加了 curl_getinfo() 函数,用于查找有关 CURL 传输的信息。此函数需要 cURL 7.4.0 或更高版本。(Sterling)
  • 添加了 CURLOPT_KRB4、CURLOPT_INTERFACE、CURLOPT_QUOTE、CURLOPT_POSTQUOTE、CURLOPT_QUOTE 和 CURLOPT_HTTPPROXYTUNNELL 选项。(Sterling)
  • 将 shm_* 函数重命名为 shmop_*(Derick)
  • 更新了 ext/mysql/libmysql 到 3.23 版本([email protected]
  • 添加了 ldap_get_option() 和 ldap_set_option() 函数(Stig Venaas)
  • 修复了 CGI 模式下可能出现的崩溃,如果未提供文件(Daniel Beulshausen 和 Zeev)
  • 修复了 imap_fetchstructure() 中可能出现的崩溃错误(Jani)
  • 修复了 imap_open() 中可能出现的崩溃错误(Jani 和 Mark Musone)
  • 添加了 url_rewriter.tags 配置指令(Sascha)
  • 添加了 CORBA 客户端扩展,可以立即使用([email protected]
  • 修复了 x-httpd-source 模式下的内存泄漏(Jason Greene)
  • 更改了 ext/gd,使其不再默认启用(Jani)
  • 使空字符串 ("") 的增量行为与 PHP 3 中一致,并返回 "1"(Andi,Zend 引擎)
  • 添加了对 Adobe FDF 格式的 POST 处理程序(Hartmut)
  • 添加了对基于 glibc 系统上透明读写 .gz 文件的支持,使用 'zlib:' fopen 包装器(Hartmut)
  • 修复了配置解析器中的一个问题(每个 ENCAPSULATED TC_STRING 添加了两个空字节)([email protected]
  • 在 mhash 模块中添加了 HMAC 支持([email protected]
  • 添加了用于 Ovrimos sql 服务器的模块([email protected]
有关此版本的更多信息,请访问 我们的发布页面

版本 4.0.3

  • 修复了 -a 交互模式中可能发生的崩溃(Zeev,Zend 引擎)
  • 添加了 mysql_escape_string()(Peter A. Savitch 和 Brian Wang)
  • 修复了使用 printf() 函数族不当导致的许多可能发生的崩溃错误(Andi)
  • 修复了允许用户覆盖 admin_value 和 admin_flag 的问题(Zeev)
  • 修复了 PostgreSQL 模块,使其在省略链接句柄时也能正常工作(Zeev)
  • 修复了 OCI8 中返回空 LOB 字段的问题。(Thies)
  • 将 Calendar 模块添加到默认的 Win32 构建中(Andi)
  • 将 FTP 模块添加到默认的 Win32 构建中(Andi)
  • 修复了 POSIX getrlimit() 函数中的崩溃([email protected]
  • 修复了特定条件下的 dirname()(Andi)
  • 添加了 --with-imap-ssl 以支持 RH7 及其他系统中的 SSL 化 imap 库(Rasmus)
  • 修复了 parse_url() 中可能发生的崩溃错误(Andi)
  • 添加了对 Win32 下 trans sid 的支持(Daniel)
  • fopen 中的 IPv6 支持(Stig Venaas)
  • 添加了 shmop 扩展。它允许更通用的共享内存访问方式。(感谢 Ilia Alshanestky 和 Slava Poliakov (Derick)
  • 添加了 CURLOPT_POSTFIELDS 的功能,使其能够接受包含 HTTP POST 变量和值的关联数组。(Sterling)
  • 添加了 curl_setopt() 的 CURLOPT_HTTPHEADER 选项。(Sterling)
  • 添加了 curl_error() 和 curl_errno() 函数。(Sterling)
  • 将 ext/db 更改为默认情况下不启用(Jani)
  • 修复了在 SCO UnixWare 上构建 Apache SAPI 模块的问题(Sascha)
  • 修复了将空会话集写入共享内存的问题([email protected]
  • 添加了对 BSD/OS make 的支持(Sascha)
  • 添加了改进的 URL 重写器(Sascha)
  • 修复了 Solaris 上的 readdir_r() 使用问题(Sascha)
  • 改进了用于私有缓存的 HTTP 标头([email protected],Sascha)
  • 添加了新的函数 session_cache_limiter([email protected],Sascha)
  • 将 ftp_exec 添加到 ftp 函数中(感谢 )(Derick)
  • PEAR:在 DB 错误中添加最后一个执行的查询作为调试信息(Stig)
  • PEAR:允许 PEAR_Error 中使用多种模式(Stig)
  • 使 Sybase CT 模块线程安全(Zeev)
  • 向 array_reverse() 添加了第二个参数,指示是否保留原始数组键。(Andrei)
  • 清理了 htmlspecialchars/htmlentities 的不一致性。(Rasmus)
  • PEAR:将 DB_GETMODE_* 重命名为 DB_FETCHMODE_*,在 DB_common 中添加了 setFetchMode() 以设置默认模式,添加了一些 MySQL 测试(Stig)
  • 使 eval() 和其他几个运行时评估的代码部分更准确地报告错误的性质和位置(Stas)
  • 向 wordwrap 添加了一个可选参数,如果单词的长度超过允许的最大长度,则会截断字符串。(Derick)
  • 添加了函数 pg_put_line 和 pg_end_copy(Dirk Elmendorf)
  • 为 parse_str 添加了第二个参数以保存结果(John Bafford)
  • 修复了 curl 在输出中添加额外数据的错误。([email protected]
  • 添加了 pathinfo() 函数。(Sterling)
  • 更新了 sybase_ct 模块及其 sybase_query 以使用高性能 API。(Joey)
  • 向 DB 添加了更可配置的错误报告界面。(Stig)
  • 添加了 is_uploaded_file() 和 move_uploaded_file()(Zeev)
  • 向 php.ini 添加了几个指令 - post_max_size、file_uploads、display_startup_errors - 请参阅 php.ini-dist 获取更多信息(Zeev)
  • 解决了 libc5 实现的 readdir() 中的一个错误(Stas)
  • 修复了打开文件时可能发生的 OpenBSD 和 NetBSD 崩溃错误。(Andi)
  • 添加了 EscapeShellArg() 函数(Rasmus)
  • 添加了 php.ini 选项 session.use_trans_sid 以启用/禁用 trans-sid。(Sterling)
  • 添加了用于 XSL 解析的 Sablotron 扩展。(Sterling)
  • 修复了 checkdate() 中的一个错误,该错误导致 < 1 年被认为有效(Jani)
  • 添加了对输出缓冲的可选输出处理程序函数的支持。这使得能够通过 XSL 透明地渲染 XML,透明地压缩等。(Zeev)
  • 添加了对用户定义的“tick”回调函数的支持。这有助于模拟后台处理。(Andrei)
  • 修复了将 $this 作为 XML 解析器对象的问题。(Andrei)
  • 内部 opened_path 变量现在使用 Zend 内存管理器,因此在不干净关闭时不会泄漏文件的完整路径(Andi)
  • 删除了自动调用 __string_value() 方法的 print $obj 支持。相反,请自行定义一个方法,例如 toString(),并使用 print $obj->toString()(Andi,Zend 引擎)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.0.2

  • 添加了 Zend tick 的 PHP API。(Stig)
  • PHP 3 回归测试框架重生(Stig)
  • 添加了 php_uname() 函数(Stig)
  • 进行了一项小改动,允许使用 OpenLDAP 2.0 构建(Stig Venaas)
  • 修复了 preg_replace() 中的一个错误,该错误会在第一个参数为空数组时截断主题字符串。(Andrei)
  • 添加了 ob_get_length 函数(Stig)
  • 修复了在使用 /e 修饰符时,preg_replace() 不尊重 limit 参数的错误。(Andrei)
  • 添加了每个 xml_set_*_handler() 函数的能力,使其能够为处理程序参数采用 array($obj, 'method') 语法,以及普通的函数名称。(Andrei)
  • 更新了 array_walk() 以能够为 walk 函数采用 array($obj, 'method') 语法。(Andrei)
  • 修复了当使用负长度参数调用 fgets()、fgetcsv()、fgetss() 和 fread() 时发生的段错误。(Torben)
  • 修复了 xml_ 函数和 scanf 函数的按引用传递参数问题(Stas)
  • 添加了对实验性的 Oracle LDAP SDK 支持。需要 8.1.6 或更高版本。使用类似 --with-ldap=/usr/local/oracle/product/8.1.6 配置(Stig Venaas)
  • 修复了 eval() 中的内存泄漏;过度使用 eval() 的脚本最终可能会在执行期间消耗大量内存(Zeev,Zend 引擎)
  • 修复了 memory_limit 功能,该功能在以前版本中无法正常工作(Zeev,Zend 引擎)
  • 修复了 swf 扩展的 stdout 支持。(Sterling)
  • 修复了 ip2long 和 long2ip 的字节顺序问题(Stas)
  • 修复了 dbase_add_record。(Sterling)
  • 添加了对 libmcrypt 2.4.4 的支持(Derick)
  • 添加了 strncasecmp 函数(Andi,Zend 引擎)
  • 修复了 FTP 模块,使其能够接受多行服务器回复(Jani)
  • 修复了仅包含单个默认规则的 switch。(Andi,Zend 引擎)
  • 修复了嵌套 foreach() 的问题。(Andi,Zend 引擎)
  • CCVS 模块现在稳定并且可以编译。它可以干净地编译为 CGI 并编译到 Apache 中,没有任何警告。(Brendan W. McAdams)
  • 修复了 mSQL_close()。([email protected]
  • 使 require() 文件中的 return() 的行为与 include() 文件中的 return() 一致(Andi & Zeev,Zend 引擎)
  • 更改了 require_once(),使其使用与 include_once() 相同的表(Andi & Zeev,Zend 引擎)
  • 修复了 PostgreSQL 模块,使其在省略链接句柄时也能正常工作(Zeev)
  • 修复了 Sybase 模块,使其能够与 PHP 4.0 正确协作(Zeev)
  • 修复了在使用可变宽度字符集时,OCI8 驱动程序中处理 CLOB 的问题。(Thies)
  • 向 sybase_[p]connect 添加了第四个可选参数,以指定连接的字符集([email protected]
  • 修复了对当前 thttpd 版本的支持。(Sascha)
  • 添加了对使用 --with-kerberos 的 kerberized IMAP 库的支持(Rasmus,Sascha)
  • 虚拟化 realpath、chmod、chown 和 utime(Stas)
  • 支持文件上传 MIME 部分中的 content-encoding 标头(Ragnar Kjørstad)
  • 修复了关闭 OCINLogon() 连接时出现的警告。(Thies)
  • 修复了 Win32 上会话变量中的 \n 错误(Stas)
  • OCIError() 有时无法报告连接失败。(Thies)
  • 修复了 Apache ErrorDocument 重定向中的 HEAD 请求错误,并保留了重定向后的状态代码。(Rasmus)
  • 向 read_exif_data() 添加了 Olympus 特定标签(Rasmus)
  • 修复了 imap_fetchheader() 中的一个错误,该错误导致使用 FT_PREFETCHTEXT 不会返回主体。错误 #4447。(Jani)
  • 修复了 exec() 在输出为空时返回 "\0" 的问题
  • 在 PEAR 中添加了 XML_Parser 类(Stig)
  • 在 pear/ 中添加了“make test”目标,并添加了一些回归测试(Stig)
  • 修复了 strip_tags 函数中的错误,如错误 #5857 所示(Rasmus)
  • 修复了对某些 JPEG 文件使用 GetImageInfo() 读取 IPTC 的问题。(Thies)
  • 改进了输出缓冲功能,使其可重入(Zeev)
  • 使 ldap_add()、ldap_modify()、ldap_mod_add()、ldap_mod_replace() 成为二进制安全的。原始补丁:Terrence Miao (Jani)
  • CGI(也称为命令行版本)现在有一个选项“-l”,用于在不执行的情况下进行语法检查(Hartmut)
  • 修复了 ldap_get_values_len() 中的一个错误,使其成为 NULL 安全的。(Jani)
  • 错误报告和修复由 Michel Alexeline 提交。
  • 使 ext_skel 创建一个 Makefile.in,该文件设置为自动处理共享扩展支持(Rasmus)
  • 修复了 php_realpath,使其在不存在的文件上不会终止(touch() 需要)(Stas 和 [email protected]
  • 修复了 get_browser() 函数(Stas)
  • 修复了导致 OpenBSD 上出现 DSO 问题的符号冲突问题(Rob Black 和 [email protected]
  • 添加了新函数:ldap_compare()。(Jani)
  • 修复了 ldap_get_entries() 和 ldap_get_attributes() 中的一个错误。(Jani)
  • 将 DB 移植到 PEAR 中的新错误报告方案。(Stig)
  • 在 PEAR 中添加了 sybase 和 ibase DB 后端。(Sterling)
  • 新的 PEAR 包 Payment_Verisign,用于与 Payflow Pro (pfpro) 扩展一起使用。(David Croft)
  • 添加了 CURL 支持。(Sterling)
  • 捕获用户尝试在 PDF 中设置“compatibility”参数,该参数不受用户端支持。(Joey)
  • 修复了 dbase_add_record。(Sterling)
  • 添加了新的函数 wordwrap(),用于将长字符串换行,该函数来自 Chris Russel (David Croft)
  • 添加了四个额外的参数:attrsonly、sizelimit、timelimit、deref,这些参数在 ldap_search()、ldap_list() 和 ldap_read() 函数中缺失(Jani)
  • 修复了 ldap_search/list/read() 中的一个错误,该错误阻止在出现“Sizelimit exceeded”错误时返回部分结果。(Jani Taskinen)
  • 修复了 preg_replace(),使其在使用 /e 修饰符时自动转义匹配字符串中的引号。(Andrei)
  • Itanium 补丁(Steve Robb)
  • 设置了默认的 include_path,以便可以访问 PEAR 文件(Stig)
  • 添加了“pear”可执行文件,需要安装 CGI 版本(Stig)
  • 添加了用于 Ingres II 本机支持的扩展 ii。请参阅 ext/ingres_ii 目录中的 README。(David H)
  • 为 Interbase 模块添加了 Win32 项目(Zeev)
  • 添加了能够在不显式指定其名称的情况下调用父类的方法,使用 parent::func_name(...)(Zeev,Zend 引擎)
  • 现在可以不带参数调用 Ora_Error() 来获取连接尝试失败的原因。(Kirill Maximov)
  • 新的扩展“pfpro”,用于与 Verisign Payflow Pro 交互(David Croft)
  • 为 imagetypes() 函数添加了 IMG_GIF、IMG_JPG、IMG_JPEG、IMG_PNG 和 IMG_WBMP 常量(Rasmus)
  • 添加了 ImageTypes() 函数,该函数返回支持的图像格式的位域。1=gif、2=jpeg、4=png 和 8=wbmp(Rasmus)
  • 使能够在 number_format() 中指定空字符串作为千位分隔符(Rasmus)
  • LDAP 扩展的共享模块支持(Troels Arvin)
  • 修复了 imap_mail 中的一个错误,该错误会导致 apache 在指定 rpath 参数时出现段错误。
  • 在 cookie 中使用连字符和简短的星期名称,因为一些浏览器似乎对此很挑剔(Rasmus)
  • 添加了 pspell 模块。(Vlad)
  • 在用户定义的错误处理程序中添加了 3 个额外的参数 - 发生错误的文件名和行号,以及发生错误的代码的上下文(局部变量)(Zeev,Zend 引擎)
  • 改进了错误处理代码以处理用户定义的错误处理函数中的错误(Zeev,Zend 引擎)
  • 修复了在 array() 构造中使用字符串偏移时发生的内存泄漏。(Andi,Zend 引擎)
  • 修复了在更改对象中深层嵌套的值时发生的损坏问题。(Andi & Zeev,Zend 引擎)
  • 改进 array_multisort() 以便能够指定排序类型以及排序顺序。顺便说一下,它也可以用来对多维数组进行排序。(Andrei)
  • 修复了在大量中止请求的情况下可能发生的數據损坏问题(Zeev)
  • Apache 模块有时会关闭错误的文件描述符。(Sascha)
  • 修复了会话模块中使用备用存储处理程序的问题。(Sascha)
  • 更新 str_pad() 以便能够在左侧/右侧/两侧进行填充。(Andrei)
  • 修复了 gzopen() 中的崩溃问题。(Thies)
  • gdttf.c 中的多字符集支持(Rob Goodwin)
  • 当从 PHP 使用 HTTP 身份验证时,填写 %u 自定义日志字段,以便在 Apache access_log 中记录经过身份验证的用户 ID(Rasmus)
  • 支持 pdflib 3.01。(Uwe)
  • FDF 数据得到妥善处理,可以通过读取 HTTP_RAW_POST_DATA 来访问。(Uwe)
  • 添加了新的 'O' 格式修饰符,它将输出 GMT 偏移量为 "[+-]HHMM"(例如:太平洋时间为 -0700)。这对于 Date: 邮件头等内容很有用。(Mike W)
  • 修复了 OCI?Logon() 失败时的崩溃问题。(Thies)
  • 使特殊的 Header("http/...") 响应像 3.0 一样不区分大小写(Rasmus)
  • 允许 cybercash 作为 DL 模块编译。(Sterling)
  • 修复了 dbase_create 函数。(Sterling)
  • 修复了某些版本的 Windows 下可能出现的问题,这些问题可能会导致 PHP 在启动时挂起,例如在 php.ini 文件中发生错误(Zeev)
  • 再次修复了 opendir()。它现在应该可以持续正常工作了(Zeev)
  • 添加了三个额外的参数,要发送到用户定义的错误处理程序 - 发生错误的文件名和行号,以及错误的上下文(局部变量)(Zeev,Zend 引擎)
  • 改进了错误处理代码以处理用户定义的错误处理函数中的错误(Zeev,Zend 引擎)
  • 在 preg_replace() 中添加了一个可选参数,可用于指定要进行的替换次数。(Andrei)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.0.1

  • 修复了 LDAP 修改代码中可能发生的崩溃问题。(Eric Kilfoil)
  • 修复了 opendir() 中的错误,该错误阻止 readdir() 在未明确指定 $dir 参数的情况下正常工作(Zeev)
  • 使 --enable-discard-path 再次有效。(Andi)
  • 删除了 file() 函数的 8KB 行长度限制(Zeev)
  • 当 PHP 在多线程 Web 服务器内部用作模块时,禁用 dl() - 它之前无法正常工作,并导致奇怪的结果(Zeev)
  • 添加了 ImageColorClosestHWB()、ImageCopyMerge() 和 ImagePaletteCopy() 函数。(Sterling)
  • 添加了 ImageCreateFromWBMP() 函数。(Jouni)
  • 修复了 NSAPI 模块下 POST 请求存在的问题。(Roberto Biancardi)
  • 添加了 spliti() 函数。(Thies)
  • 修复了序列化程序在序列化其类定义在反序列化上下文中不可用的对象时发生的序列化行为。(Sascha)
  • 提高内存缓存性能并增加缓存大小。(Stas,Zend 引擎)
  • 添加了 crc32 校验和函数 - 由 UdmSearch 搜索引擎使用,目前通过系统调用运行。这将显著加快 UdmSearch php 前端。(Rasmus)
  • 修改了 in_array() 以便不触及数组指针。(Andrei)
  • 添加了 restore_error_handler()。(Zeev,Zend 引擎)
  • 修复了多线程版本的 PHP 中的错误情况下的错误文件名和行号 - 最明显的是 Win32(Zeev,Zend 引擎)
  • 修复了 CGI 在某些服务器上崩溃的问题,尤其是 Windows Apache & O'Reilly 网站(Andi)
  • 添加了 Pi3Web SAPI 模块;运行 ./configure --with-pi3web 以启用此功能。(Holger; [email protected]
  • 增强了 WDDX 函数,以便在处理对象时调用 __sleep() 和 __wakeup()。(Andrei)
  • 更改 WDDX 以仅在需要时将数组序列化为结构。(Thies)
  • 在 Win32 下实现 max_execution_time(Zeev)
  • 更新了 strtotime() 以处理更多格式。它现在与 GNU date 命令具有完全的功能一致性。(Andrei)
  • 在 unset() 中添加了对多个参数的支持。(Faisal,Zend 引擎)
  • 现在,预期资源但传递其他内容的函数返回 NULL 而不是 FALSE。(Thies,Zend 引擎)
  • 修复了 gmmktime(),在某些系统上它错误地针对时区偏移量和夏令时进行了调整。(Andrei)
  • 将 VC++ Win32 项目和工作区文件移动到 win32 目录(Zeev)
  • 修复了 checkdate() 以便在非数字参数上不返回 true(Rasmus)
  • 添加了 --enable-c9x-inline 选项,用于支持新的 C9x 标准的编译器。如果您遇到对 i_zend_is_true 和其他符号的未定义引用,则应启用此选项。(Sascha,Zend 库)
  • 修复了 ldap_add() 和 ldap_modify() 中的问题,有时会在值中添加尾随垃圾(Stig Venaas)
  • 修复了 dbmopen() 未能正确处理 'c' 的问题,以及 dbm/db/ndbm 数据库。(JimJag)
  • 修复了在使用区域设置时发生的 number_format() 中的崩溃问题。(Andrei)
  • 修复了 MS-SQL 问题中的初始化问题,该问题会导致 mssql_query() 中发生崩溃(Zeev)
  • 将 PCRE 升级到 3.2 版本,并修复了锚定模式匹配空字符串时的错误。(Andrei)
  • 修复了阻止 PHP 注意从 php.ini 文件加载的扩展的 extension_dir 指令的问题(Zeev)
  • 更改 set_error_handler() 以返回先前定义的错误处理程序的名称(如果有)(Zeev,Zend 引擎)
  • 正式宣布 <? php_track_vars ?> 死亡。它在 PHP 4.0.0 中也不起作用,但现在它永远消失了(Zeev)
  • 使 convert_cyr_string() 二进制安全,并阻止它破坏其他 PHP 变量。(Andi)
  • 添加了函数 array_unique、array_intersect 和 array_diff(Stig Venaas)
  • 修复了在使用未初始化的值与字符串进行比较时的错误。它们再次像 PHP 3 中一样表现为空字符串。(Andi & Zeev,Zend 引擎)
  • 修复了 date() 中的 'Z' 标志,以针对夏令时进行调整。(Andrei)
  • 修复了 var_dump() 不修改数组元素的内部顺序的问题(Zeev)
  • 修复了 stripcslashes() 以删除 to strip \ 在未知转义符中,而不是保留它。(Andrei)
  • 更改 WDDX 以始终将数组序列化为结构。(Andrei)
  • 修复了 include_once() 以便在提供的文件名未找到的情况下发出警告(Zeev,Zend 引擎)
  • 修复了 get_declared_classes() 中的错误,该错误可能在某些情况下多次返回相同的类(Zeev,Zend 引擎)
  • 修复了 rawurldecode() 中的错误,该错误会导致 rawurldecode() 损坏其参数(Zeev)
  • Windows 下 php.ini 文件中的解析错误(或其他错误)将不再破坏 CGI 模式下的 HTTP 标头,现在将显示在消息框中(Zeev)
  • 修复了在尝试读取所有数据已读取后发生的所有数据读取后的 OCIFetchStatement() 中的崩溃问题。(Thies)
  • fopen_wrappers() 现在可以通过模块扩展(Hartmut Holzgraefe)
  • 使 trim 剥离 \0 以匹配 php 3(Rasmus)
  • 添加了函数 imagecreatefromxbm()。(Jouni)
  • 添加了函数 imagewbmp()。(Jouni,基于 Rune Nordbøe Skillingstad 的补丁)
  • 添加了 str_pad(),用于在左侧或右侧用任意字符串填充字符串。(Andrei)
  • 使 short_tags、asp_tags 和 allow_call_time_pass_reference INI 指令也可以在每个目录的基础上工作,例如来自 .htaccess 文件。(Zeev)
  • 添加了 fflush() 函数。(Eric Huss)
  • 修复了包含数组值的静态变量、默认函数参数和类成员变量的问题。(Andi & Zeev,Zend 引擎)
  • 修复了与输出缓冲区一起使用时的 virtual()。(Marc Pohl)
  • 清理 flock() 函数中的常量,并添加可选的第 3 个参数,该参数在 EWOULDBLOCK 时设置为 true(Rasmus)
  • 添加了函数 pg_loimport()、pg_loexport()。(Jouni)
  • 在 getimagesize() 函数中添加了 SWF 支持(Derick Rethans)
  • 添加了对文件上传的索引和非索引数组的支持,例如 name="file[]" type="file"(Rasmus)
  • 添加了 create_function(),它提供了在运行时创建函数的能力(Zeev,Zend 引擎)
  • 添加了对数组(与数组)和对象(与对象)的比较的支持;等号运算符(==)执行无序比较,而恒等运算符(===)执行有序比较(Zeev,Zend 引擎)
  • 允许所有接收用户定义函数回调的函数接受包含对象和方法名的数组,代替函数名,例如 usort($array, array($obj, "ObjSort"))(Zeev,Zend 引擎)
  • 添加了 set_error_handler(),以允许使用自定义错误处理函数,代替内置的错误处理代码(Zeev,Zend 引擎)
  • 将 user_error() 重命名为 trigger_error();user_error() 保持定义以确保兼容性(Zeev,Zend 引擎)
  • 修复了 global/static 语句以要求尾随终止分号 ';'。(Andi,Zend 引擎)
  • 清理了 PCRE 扩展,并使其二进制安全。(Andrei)
  • 在 in_array() 中添加了第三个参数。如果为 true,则 in_array() 将使用严格比较而不是默认比较。(Andrei)
  • 添加了 pg_trace() 和 pg_untrace(Dominic J. Eidson & Zeev)
  • ignore_user_abort=Off 现在是默认值。(Thies)
  • 添加了 array_merge_recursive(),它将递归地合并具有相同键的值。(Andrei)
  • 修复了 OCIParse 在解析无效 SQL 时的崩溃问题。(Thies)
  • 修复了 mysql_connect() 中的错误,该错误导致它在非持久连接的情况下忽略 socket 参数(Zeev)
  • 添加了 disable_functions php.ini 指令,以允许管理员出于安全原因禁用某些函数(Zeev)
  • 修复了 Win32 上的会话。当在 save_path 中设置目录深度参数时,您现在需要用 ';' 而不是 ':' 来分隔它,例如 "5;/tmp" 而不是 "5:/tmp"(Andi)
  • 当找不到请求的 PHP 文件时,更改了 Apache 处理程序的返回值状态为 'Declined'。返回 'Not Found' 会导致 ErrorDocument 处理程序阶段出现问题,因为 $REDIRECT_REDIRECT_ERROR_NOTES 根本没有设置。改为 'Declined' 应该可以解决此问题,而且我看不到其他副作用。(Rasmus)
  • 修复了在国际化环境中扫描小数的问题。它们始终应该以标准的美国格式显示,例如 23.3。(Andi,Zend 引擎)
  • 在 preg_quote() 中添加了第二个参数,它允许引用一个额外的字符,通常是正则表达式分隔符。(Andrei)
  • 现在,在关闭连接之前,会回滚未提交的 OCI8 事务。(Thies)
  • ignore_user_abort() & friends 现在也应该在 CGI 模式下工作。(由 [email protected] 提供的补丁)
  • 添加了扩展 YAZ(dickmeiss)。
  • 修复了由类重新声明的某些情况触发的崩溃错误(Stas & Zeev,Zend 引擎)
  • 修复了 min()/max() 段错误。(Andrei)
  • 用于从 JPEG 文件读取 EXIF 标头数据的全新模块。大多数数码相机都会在其生成的 jpeg 图像中嵌入有关图片的各种信息。(Rasmus)
  • 修复了 basename() 错误,其中 "file.ext///" 不会返回与 "/path/file.ext///" 相同的结果(Rasmus)
  • 添加了 swf_ortho 函数。(Sterling)
  • 转移到虚拟当前工作目录支持。这极大地提高了 PHP 多线程版本的功能和稳定性(Andi,Sascha)
有关此版本的更多信息,请访问 我们的发布页面

版本 4.0.0 发布

  • 允许将 flash 文件写入标准输出。
  • 修复了 .phps 语法高亮文件中的崩溃错误(Andi)
  • 改进 round() 以便允许指定舍入精度。(Andrei,Todd Kirby <[email protected]>)
  • 添加了 SORT_REGULAR、SORT_NUMERIC、SORT_STRING 标志,可用于非用户排序函数以获得精确的排序行为。(Andrei)
  • 修复了两个 64 位问题(启动崩溃、gethostbyaddr)。(Sascha)
  • NULL 值现在保留在 mysql_fetch_array() 和 mysql_fetch_object() 的返回值中。(Andrei)
  • 最终将 InterBase 模块从 PHP 3 移植到 PHP 4。完全支持 InterBase 6。(Jouni)
  • 为 SWF 函数添加了 swf_definepoly,用于绘制多边形。(Sterling)
  • 将 imagegammacorrect 从 PHP3 移植到 PHP4。(Sterling)
  • 添加了 array_rand() 函数。 (Andrei)
有关此版本的更多信息,请访问 我们的版本页面

版本 4.0,候选版本 2

  • NSAPI WIN32 模块可编译,未测试 (Shane)
  • Apache WIN32 模块可编译并经过少量测试。 (Shane)
  • 在 php.ini-dist 中默认启用 assert()。 (Andrei)
  • 在 assert() 和 preg_replace() 中,如果动态代码评估失败,则采取保护措施。 (Andrei)
  • 修复了在 WDDX 中序列化 $GLOBALS[] 时出现的无限递归问题。 (Andrei)
  • 使 WDDX 序列化正确地转义 &lt;、&gt; 和 &。并且总体上加快了序列化速度。 (Andrei)
  • 为了清晰起见,将 install-local 移动到 install-sapi。 (Joey)
  • 改进扩展构建框架。请参考 README.SELF-CONTAINED-EXTENSIONS 了解介绍。 (Sascha)
  • ImagePolygon() 不再受最大多边形数量的限制。 (Marc Pohl)
  • 在配置时添加对 bcmath 包的检查。 (Joey, Sascha)
  • 添加了 get_declared_classes()。 (Andrei, Zend Engine)
  • 添加了来自 Jayakumar Muthukumarasamy 的初始 NSAPI 模块。 (Rasmus)
  • 添加了 SWF 模块,该模块允许您使用 libswf 创建 Macromedia Flash 文件。 (Sterling)
  • 改进了 UNIX 构建系统以支持更多供应商的 make 工具 (Sascha)
  • 更新了 Martin Pool <[email protected]> 提供的自然比较/排序算法。 (Andrei)
  • 修复了在将空数组传递给 array_multisort() 时发生的崩溃问题。 (Andrei)
  • 添加了来自 Peter Kovacs 的 substr_count()。 (Andrei)
  • 在 fseek 中添加了一个可选的第三个参数,用于指示从何处查找。 (Andrei)
  • OCIBindByName() 不再抱怨 bindlength 为零。 (Thies)
  • 将 IMAP 模块转换为高性能 API (Zeev)
  • fgetcsv() 函数现在可以处理带引号的字段中的嵌入式换行符 (Nick Talbott)
  • 添加了 user_error(),以允许从脚本显式生成错误消息 (Zeev, Zend Engine)
  • 修复了 long2ip() 中偶尔返回不正确 IP 地址的问题。 (Evan, Andrei)
  • 修复了 IMAP 模块中的许多内存泄漏 (Stas, Andi, Zeev)
  • 修复了 number_format 中的错误 (Jon Forsberg)
  • 使 error_prepend_string 和 error_append_string 正常工作 (Rasmus)
  • array_walk() 现在会自动重置数组。 (Andrei)
  • 添加了自然比较/排序例程 strnatcmp()、strnatcasecmp()、natsort() 和 natcasesort()。这些例程对于比较和排序包含数字的字符串很有用。基于 Martin Pool <[email protected]> 提供的代码。有关自然排序的更多信息,请参见 http://www.linuxcare.com.au/projects/natsort/。 (Andrei)
  • Zeus Webserver 支持 (版本 3.3.6+) 用于 ISAPI (Ben Mansell)
  • 修复了 Apache 中 PATH_TRANSLATED 和 PHP_SELF 的几个问题 (Paul Gregg & Zeev)
  • 将 ldap_get_values_len() 函数从 PHP3 移植到 PHP4。 (Sterling)
  • 修复了 include_once() 中非常数参数的问题 (Andi & Zeev, Zend Engine)
  • 添加了 php.ini-optimized (Zeev)
  • 将 ldap_errno()、ldap_err2str() 和 ldap_error() 从 PHP3 移植到 PHP4。 (Sterling)
  • WDDX 现在默认为 ISO-8859-1。 (Thies)
  • 修复了由 IMAP 的错误处理导致的崩溃问题 (Stas)
  • 添加了 $HTTP_POST_FILES[filename][tmp_name] - 以前无法使用 $HTTP_POST_FILES[] 获取上传文件的临时名称 (Zeev)
  • 使 IMAP 和 LDAP 模块可在 Windows 和线程安全环境下编译 (Zeev)
  • 修复了在 CGI 模式下处理大型 POST 块时出现的问题 (Zeev)
  • 添加了 session_get_cookie_params() 函数。 (Sterling)
  • 修复了 stristr() 的返回值不再始终为小写。 (Andrei)
  • 更改了 Windows 版本的 PHP,使其不再强制要求 php.ini 文件 (Zeev)
  • 如果无法发送标头,session_start() 现在会更加详细地说明。 (Thies)
  • 修复了在对字符串使用 assign-op 位运算符时出现的内存泄漏问题 (Zeev, Zend Engine)
  • 添加了对读取需要参数的属性的支持,这些属性是在 COM 模块中 - 仅在 PHP 4.1 中才支持写入 (Zeev)
  • 修复了 COM 模块中一个非常老的遗留内存泄漏 (Zeev)
  • 修复了对象重载支持的问题 - 特别是 COM 和 Java (Zeev, Zend Engine)
  • 修复了 WDDX 中的溢出问题。 (Thies)
  • 修复了通过 dl() 加载的模块没有正确释放其资源导致的崩溃错误 (Zeev, Zend Engine)
  • 添加了 localtime() 函数。 (Sterling)
  • 为 date 函数添加了 'I' 格式选项,此选项将根据夏令时是否有效返回 true 或 false。 (Sterling)
  • 添加了 gmstrftime() 函数。 (Sterling)
  • snmp_walkoid 现在是 snmp_realwalk 的别名。 (Sterling)
  • 修复了在大型 include 文件中使用 'global' 时可能导致崩溃的错误 (Stas, Zend Engine)
  • 添加了 --enable-libgcc 开关以强制链接到 libgcc (Sascha)
  • 修复了 extension_dir 没有尾部斜杠的动态加载问题 (Sascha)
  • 修复了 OpenBSD 上的动态加载问题 (Sascha)
  • 改进了 POSIX 线程检查。ZTS 现在至少在 Linux、Solaris、FreeBSD 和 OpenBSD 上工作 (Sascha, TSRM)
  • 添加了 !== 运算符支持。 (Torben, Zend Engine)

版本 4.0,候选版本 1

  • 添加了对 UCD-SNMP 4.1.x 的支持 (Sascha)
  • 修复了 mysql_result() 中的数据损坏错误,如果在 table.fieldname 模式下使用 (Zeev)
  • 修复了 func_num_args()、func_get_arg() 和 func_get_args() 在用作函数参数时发生的崩溃问题 (Andi, Zend Engine)
  • 添加了 get_class_methods(string classname) 函数。 (Andrei)
  • 添加了 'I' 开关以测试 DST 是否处于活动状态。 (Sterling)
  • 修复了 mysql_result() 中的数据损坏错误,如果在 table.fieldname 模式下使用 (Zeev)
  • 修改了注册表 INI 条目读取器 (Win32) 以支持驱动器号。例如,如果您想为 C:\foo\bar 指定 INI 条目,您应该在注册表中创建 HKLM\PHP\Per Directory Values\C\foo\bar,并为要在该目录中覆盖的每个指令添加字符串值 (Zeev)
  • 修复了 EXTR_PREFIX_SAME 和 EXTR_SKIP 情况下的 extract()。 (Andrei)
  • stristr() 不再修改其参数。 (Thies)
  • 不要默认使用 iso-8859-1,因为这会混淆某些浏览器。 (Rasmus)
  • 使在 mysql_[p]connect 中同时指定端口和套接字成为可能。 (Rasmus)
  • 添加了 --disable-pic 以在支持它的平台(例如 Linux)上禁用为共享对象生成 PIC (Sascha)
  • serialize()/unserialize() 现在在处理对象时会调用 __sleep() 和 __wakeup()。 (Thies)
  • 将 to_string() 方法重命名为 __string_value() 以保持一致。 (Thies, Zend Engine)
  • 修复了 define() 中第三个参数的错误
  • 添加了 is_numeric(),如果参数是数字或数字字符串,则返回 true。 (Andrei)
  • domxml 现在支持 libxml 2.0 Beta,并放弃对旧版本的支持,因为 libxml 中发生了重大变化
  • 修复了 unserialize() 中可能的崩溃问题,如果序列化数据已损坏。 (Thies)
  • 将 $HTTP_STATE_VARS 更改为 $HTTP_SESSION_VARS。现在只使用后一个版本! (Andrei)
  • 添加了 GD-JPEG 支持 (Rasmus)
  • 阻止加载使用与 PHP 不同的调试和线程安全模式编译的动态 PHP 模块,这会导致崩溃 (Andi)
  • connection_aborted() 及其相关函数再次可以使用 (Thies)
  • 升级到 libtool 1.3.4 (Sascha)
  • UNIX configure 现在在构建目录中创建 config.nice,允许轻松重复使用配置选项 (Sascha)
  • 添加了对嵌入式 MySQL 客户端库的支持。除非您指定 --with-mysql 的路径,否则将使用捆绑的 MySQL 客户端库 (Sascha)
  • 添加了 include_once() 和 require_once() 功能 (Andi, Zend Engine)
  • 删除了对 pdflib < 3.0 的支持 (Uwe)
  • 如果关闭 register_globals,则会自动注册 $HTTP_SESSION_VARS[] 中的所有内容。 (Andrei)
  • 清理了扩展命名空间 (Stig)
  • OCINLogon() 会话现在再次关闭。 (Thies)
  • 添加了 ip2long() 和 long2ip(),由 Faisal Nasim <[email protected]> 提供 (Andrei)
  • 添加了 ftruncate() 和 fstat(),由 Faisal Nasim <[email protected]> 提供 (Andrei)
  • 添加了 parse_ini_file()。当前在 PHP 的非线程安全版本中实现,并且当前缺少节支持 (Zeev)
  • 现在 Apache 配置指令中的 "none" 等效于 "" (Stig)
  • OCINLogon 不再崩溃。 (Thies)
  • 修复了 (string) "nan" 与 (string) "nan" 的比较。 (Thies, Zend Engine)
  • 恢复到旧的 $HTTP_*_VARS[] 行为 - $HTTP_GET_VARS["foo"] 和 $foo 不再是彼此的引用,而是像在 PHP 4.0 Beta 4 之前一样独立的变量 (Zeev)
  • 修复了 Sybase-DB 编译 (Zeev)
  • 修复了一个(相当常见)的情况,即错误报告值在请求之间调用 error_reporting() 后不会被正确还原 (Zeev)
  • 各种 $HTTP_*_VARS[] 现在受到保护,用户输入无法对其进行操作 (Zeev)
  • 添加了 ini_set() 作为 ini_alter() 的别名 (Zeev)
  • 字符串 None 现在被 php.ini 处理器识别为关键字,可用于表示空字符串 (Zeev)
  • 添加了 get_class_vars(string class_name) 和 get_object_vars(object obj) 函数。 (Andrei, Zend Engine)
  • 添加了 pdf_set_parameter()、pdf_skew()、pdf_show_boxed() (Uwe)
  • 修复了 (string) "inf" 与 (string) "inf" 的比较,该比较错误地返回 false (Zeev)
  • 实现了 default_charset 和 default_mimetype 配置指令 (Stig)
  • 将 T1lib 支持从 PHP3 移植过来。 (Jouni)
  • 修复了 -DEAPI 从 APXS 继承的问题。 (Sascha)
  • 修复了模块关闭时可能发生的崩溃问题。 (Thies)
  • 修复了 safe_mode_protected_env_vars INI 指令 (Zeev)
  • 修复了 getrusage() (Sascha)
  • 修复了从存储过程返回游标时发生的 OCI8 崩溃问题。 (Thies)

版本 4.0,Beta 4 修补程序级别 1

  • 修复了关闭 magic_quotes 时发生的崩溃问题。 (Thies)
  • 支持 pdflib 2.30 (Uwe)

版本 4.0,Beta 4

  • 引入了 $HTTP_POST_FILES[],其中包含有关通过 HTTP 上传上传的文件的信息 (Zeev)
  • 使 PHP 能够在 Microsoft 个人 Web 服务器下运行,包括 Windows NT 工作站和 Windows 95 (Zeev)
  • 使 multipart/form-data 内容遵守 variables_order 指令 (Zeev)
  • 更新了 browscap 模块以使其与 PHP 4.0 兼容 (Zeev)
  • 在 ISAPI 中,客户端过早地按下停止按钮后会优雅地恢复 (Andi)
  • 修复了在多次引用数组偏移量时 unset() 中的错误 (Andi, Zend Engine)
  • 改进了 ISAPI 模块 - 不再需要将 PHP 设置为 ISAPI 过滤器,只需将其设置为 ISAPI 扩展即可,除非您希望使用 PHP 执行身份验证。这还没有经过充分的测试,但它应该可以工作 (Zeev)
  • 修复了 Windows 下的 RFC1867 文件上传 (Zeev)
  • 初步支持 pdflib 2.20 (Uwe)
  • 添加了对 DB 的 PostgreSQL 支持 (Rui Hirokawa <[email protected]>)
  • 重新引入 "none" 以禁用 auto_prepend/append_file (Stig)
  • 添加了 DB/storage (Stig, PEAR)
  • 引入了 DB 警告 (Stig, PEAR)
  • 修复了 strip_tags 中的溢出问题 (Stas)
  • 修复了 strip_tags() 及其相关函数中的崩溃问题。 (Thies)
  • 针对 IE/Mac 的伪造 POST 数据的解决方法。 (Thies) 修补程序由 Alain Malek <[email protected]> 提供
  • 完成了服务器抽象层;所有 PHP 代码现在在不同的服务器(Apache、CGI、IIS 等)之间共享,除了薄接口模块 (Zeev)
  • 在 gettype() 中添加了 NULL 支持。 (Thies)
  • base64_decode() 将正确解码 POST 数据。 (Thies) 修补程序由 Turadg Aleahmad <[email protected]> 提供
  • 对 domxml 进行更多工作。构建 XML 树、创建 XML 文档有效 (Uwe)
  • 使 foreach() 能够处理对象。 (Thies, Zend Engine)
  • 添加了基于 libxml 的 domxml 扩展,但功能有限 (Uwe)
  • 修复了 fgetss()、strip_tags() 和 gzgetss() 中的内存损坏问题 (Zeev)
  • 更新了日历动态库以使其与 PHP 4 兼容。 (Evan)
  • 添加了 strncmp() 函数,由 Walter 提供。 (Andrei)
  • 使 var_dump() 的输出更加信息丰富。 (Thies)
  • 修复了某些 OCIBindByName() 问题。 (Thies)
  • 保护 ISAPI 模块免受异常影响。脚本中的堆栈溢出现在可以被很好地检测和处理 (Zeev)
  • 修复了 base64_decode 中可能的缓冲区溢出问题。 (Thies)
  • 修复了 setcookie() 中可能的缓冲区溢出问题。 (Thies)
  • 修复了可能导致 Apache 主进程崩溃的 signal() 错误。 (Thies)
  • 添加了 session_set_cookie_params() 函数。 (Andrei)
  • 如果在已经发送输出后发送标头信息,则警告消息现在会指出第一次输出的发生文件名和行号 (Zeev)
  • 将 XML Expat 库添加到了标准 PHP 源代码分发中,感谢其作者 James Clark (Andi & Zeev)
  • 在默认的 Win32 构建中添加了 XML 支持 (Andi & Zeev)
  • 添加了 socket_get_status() 函数。将 set_socket_timeout() 重命名为 socket_set_timeout(),将 set_socket_blocking() 重命名为 socket_set_blocking()。(Andrei)
  • 添加了 realpath() 函数。(Andrei)
  • mktime 现在将 0-70 范围内的年份解释为 2000-2070。您可以继续指定完整的年份(例如 1920)(Sascha)
  • 添加了使用 INI 指令控制用户在安全模式下允许更改的环境变量的功能。(Zeev)
  • 修复了 strtr() 在处理大型输入字符串时发生的崩溃错误。(Zeev)
  • Ora_GetColumn()/Ora_FetchInto() 现在针对 NULL 列返回 NULL。(Thies)
  • OCI8 现在支持绑定 NULL 值。模块清理。(Thies)
  • 添加了通过 set_socket_timeout() 函数在套接字读取操作上设置超时功能。(Andrei)
  • 添加了 implicit_flush INI 指令。(Zeev)
  • 添加了 implicit_flush() 来控制是否应在任何输出后隐式调用 flush()。(Zeev)
  • 修复了 pfsockopen() 中的崩溃。(Zeev)
  • 修复了 phpinfo() 中可能发生的崩溃。(Zeev)
  • 添加了 register_argc_argv INI 指令,允许有选择地禁用 $argv 和 $argc 变量的声明,以提高性能。(Zeev)
  • 添加了 $HTTP_ENV_VARS[] 和 $HTTP_SERVER_VARS[] 支持,类似于 $HTTP_GET_VARS[],它们包含环境变量和服务器变量。将 register_globals 设置为 Off 现在也会阻止将环境变量和服务器变量注册到全局范围内。(Zeev)
  • 将 gpc_globals INI 指令重命名为 register_globals。(Zeev)
  • 引入了 variables_order,它弃用了 gpc_order,并允许除了 GET/POST/Cookies 之外,还控制服务器和环境变量。(Zeev)
  • 新函数 cpdf_set_document_limits()。(Uwe)
  • 将安全模式补丁应用于 popen()。(Kristian Köhntopp 提供的补丁)
  • str_repeat() 现在返回正确的长度。(Thies)
  • 不要假设 libz 和 libpng 已安装用于 GD 检查。(Rasmus)
  • 根据 WDDX 1.0 版本实现了对 <boolean> 和 <null> 类型的支持。(Andrei)
  • 使 var_dump()/serialize()/unserialize() 能够识别 NULL。(Thies)
  • 添加了新的 NULL 常量。(Zeev, Zend Engine)
  • 修复了独立 CGI 二进制文件中对 -c 的支持。(Zeev)
  • 使用新的内存缓存,PHP 的性能提高了 5-15%。(Andi & Zeev, Zend Engine)
  • 改进了 php.ini 阅读器以支持常量和按位运算符。(Zeev)
  • 修复了 strrev(),使其不再修改 arg1。(Thies)
  • 修复了 iptcembed() 中的缓冲区溢出。(Thies)
  • 修复了 ODBC 错误报告中的错误。(Zeev)
  • 添加了 PHP_Logo_GUID() 和 Zend_Logo_GUID() 函数,它们返回 phpinfo() 中使用的 PHP 和 Zend 徽标的 GUID。(Zeev)
  • 添加了 GNU Pth 支持。(Sascha, TSRM 库)
  • 删除了 select()、fd_set() 和 fd_isset() - 将很快重新实现!(Thies)
  • 通过使用不同的互斥锁,显着提高了 Win32 性能。(Zeev, TSRM 库)
  • 使 quotemeta() 和 preg_quote() 成为二进制安全的。(Andrei)
  • 在 fsockopen() 中添加了 UDP 支持。(Evan)
  • 添加了 --disable-pear 选项。(Andrei)
  • 将 libzend 存储库重命名为 Zend。(Zeev)
  • 添加了对 thttpd 的支持。(Sascha)
  • 添加了 session.cache_limiter 和 cache_expire 选项。(Sascha)
  • 恢复了 PHP_VERSION 和 PHP_OS 常量。(Zeev)
  • 添加了 get_loaded_extensions()、extension_loaded() 和 get_extension_funcs() 函数。(Andrei)
  • 在 PHP 错误日志文件中添加了日期/时间戳。(Andrei, Joey)
  • 添加了 is_subclass_of() 函数。(Andrei, Zend Engine)
  • 实现了 count_chars()。(Thies)
  • 添加了 class_exists() 函数。(Andrei, Zend Engine)
  • 使 strspn() 和 strcspn() 成为二进制安全的。(Andrei)
  • 添加了 array_multisort() 函数。(Andrei)
  • 使 pageinfo.c 线程安全。(Sascha)
  • 使 implode() 成为二进制安全的。(Andrei)
  • 使 strstr()、stristr() 和 ucwords() 成为二进制安全的()。(Andrei)
  • 使 strtoupper()、strtolower()、substr_replace() 成为二进制安全的。(Andrei)
  • 修复了 Apache 语法高亮模式中的崩溃。(Zeev)
  • 报告所有 ODBC 错误,而不仅仅是堆栈顶部的错误。(lurcher)
  • OCI8 现在在 LONG 列中正确返回 NULL 值。(Thies)
  • 添加了对类似 C 的 assert() 函数的支持。(Thies)
  • 添加了 CyberCash 支持。(Evan)
  • 使 explode() 成为二进制安全的。(Thies)
  • 使 strpos() 成为二进制安全的。(Thies)
  • 添加了 XML_Set_Object() 函数,现在您可以在对象内部使用 XML 解析器。(Thies)
  • 会话变量现在被解码到 $HTTP_STATE_VARS[] 数组和全局变量中,具体取决于 track_vars 和 gpc_globals 设置。(Andrei)
  • 添加了 get_used_files() 函数 - 返回一个哈希,将 use() 的文件映射到它们的完整路径。(Zeev)
  • PHP 4 脚本现在将遵守 max_execution_time 设置并实际超时。(Rasmus)
  • 在 phpinfo() 输出中添加了 configure 命令。(Stig)
  • 在 mysql_?connect() 函数中添加了可选的套接字路径。(Rasmus)
  • 使 mysql 和 gd 再次作为共享扩展工作。(Stig)
  • 使全局 GET/POST/Cookie 变量及其 $HTTP_*_VARS[] 对应项成为彼此的引用。(Zeev)
  • 添加了对 'use' 关键字的支持 - 行为类似于 'require',但不会使用同一个文件多次。(Andi & Zeev, Zend Engine)
  • 添加了检查以查看 ODBC 接口在重用之前持久连接是否仍然有效。([email protected])
  • 添加了 DBMaker 支持 (Pax Tsai <[email protected]> 提供的补丁)
  • 将 "PECL" 重命名为 "PEAR" (PHP 扩展和附加库) (Stig)
  • buildconf 现在使用 build.mk (Stig)
  • 禁用指向 URL 的符号链接 (Rasmus)
  • Informix 驱动程序现在反映了所使用的 ESQL/C 版本 (Danny)
  • 修改了 session_register() 以接受可变数量的参数 (Andrei)
  • 修复了线程安全模式下的文件描述符泄漏 (Zeev, Zend Engine)
  • 添加了 select()、fd_set() 和 fd_isset() (Evan)
  • cpdf 支持已从 php3 移植,需要 ClibPDF 2.x (Uwe)
  • 修复了使用自动输出缓冲时发生的泄漏 (Zeev)
  • 引入了 PECL - PHP 扩展和代码库 (发音为 "pickle") (Stig)
  • 修复了 here-docs 实现中的不一致 (Andi & Zeev, Zend 库)
  • 修复了常量类成员初始化的问题 (Andi & Zeev, Zend Engine)
  • 修复了 min()、max()、a[r]sort()、[r]sort() 中的浮点数比较 (Thies)
  • 实现了 get_html_translation_table() 函数 (Thies)
  • 实现了 array_flip() 函数。返回键值对翻转的输入数组 (Thies)
  • 在 DBA 中添加了 Berkeley DB3 支持 (Sascha)
  • 实现了 strtr($str,$translation_array) 的 2 参数版本。这可以用来恢复 htmlspecialchars() 所做的事情 (Thies)
  • 修复了 XML_Parse_Into_Struct 中的内存覆盖 (Thies)
  • 添加了 substr_replace() 函数 (Andrei)

版本 4.0 Beta 3

  • ucfirst()/ucwords() 不再修改 arg1 (Thies)
  • 修复了 strtr() 不修改 arg1 的问题 (Thies)
  • 为 Informix 驱动程序添加了 Win32 构建文件,并使其与 ZTS 编译 (danny)
  • 添加了 tmpfile() 函数 (Stig)
  • 将正则表达式库升级到 alpha3.8 (Sascha)
  • 修复了在 OCI8 中选择嵌套表的问题。(Thies)
  • 针对内部 FTP 代码的 RFC-854 修复。命令必须以 "\r\n" 结尾 (Thies)
  • 修复了 OpenLink ODBC 支持 (Stig)
  • min()、max()、a[r]sort()、[r]sort()、k[r]sort() 现在与语言核心一致。(Thies)
  • tempnam() 现在使用 mkstemp()(如果可用)(Stig)
  • serialize() 和 var_dump() 现在遵守 php.ini 中为双精度数设置的精度。(Thies)
  • 改进了 Win32 COM 模块以支持 [out] 参数 (Boris Wedl)
  • 修复了在某些 Sybase 列的末尾返回垃圾数据的问题 (Thies) 补丁提交者:[email protected]
  • 为 Win32 添加了 Microsoft SQL Server 模块 (Frank)
  • 添加了通过引用强制内部函数参数个数可变的功能。(Andi & Zeev, Zend Engine)
  • 实现了 getprotoby{name,number} (Evan)
  • 添加了 array_pad() 函数。(Andrei)
  • 添加了新的 getservby{name,port} 函数。(Evan)
  • 添加了 session.cookie_path 和 session.cookie_domain (Sascha)
  • 在 extension= 之后继续处理 PHP_INI_SYSTEM knownDirectives (Sam Ruby)
  • 启用 IBM DB2 支持 - 在 Linux 上针对 DB2 6.1 UDB 进行测试 (Rasmus)
  • 添加了新的 str_repeat() 函数。(Andrei)
  • 输出缓冲系统现在是线程安全的。(Thies)
  • 实现了 OCI8 $lob->WriteToFile() 函数 - 在不需要大型缓冲区的情况下流式传输大量 LOB 数据非常有用。(Thies)
  • 添加了 session.use_cookies 选项 (Sascha)
  • 添加了 getcwd() 函数。(Thies)
  • XML_Parse_Into_Struct 不再吃数据。(Thies)
  • 修复了 parse_url('-') 崩溃。(Thies)
  • 添加了 === 运算符支持。(Andi & Thies, Zend Engine)
  • unserialize() 现在在传递无效数据时会给出通知。(Thies)
  • 修复了 shuffle(),使其不再在 Solaris 上中断。(Andrei)
  • 添加了 is_resource()、is_bool() 函数。(Thies)
  • 清理了文件模块 (Thies)
  • 升级了数学函数以使用新的 Zend 函数 API (Thies)
  • 修复了 shell_exec() 和 $a = `some_command` 结构中的僵尸问题。(Thies)
  • Thies 引入了 ZEND_FETCH_RESOURCE2 (Danny)。
  • 将 Informix 驱动程序添加到维护的扩展列表中。(Danny)。
  • Informix 驱动程序:更改 ifx.ec 以使用新的高性能 ZEND API。(Danny)。
  • IXF_LIBDIR 环境变量为 configure 指定了备用 Informix 库路径 (Danny)。
  • 修复了 gmmktime(),使其始终满足以下条件:gmmktime([args]) == mktime([args]) + date('Z', mktime([args])) (Jouni)
  • setlocale 不再在您忘记将其更改回原始设置时弄乱事情。(Jouni)
  • 切换到新的系统,其中 ChangeLog 会从提交消息中自动更新。NEWS 文件现在是发布公告的地方。(Andrei)
  • 修复了 XML 模块中的引用计数问题。(Thies)
  • 修复了 HTTP_RAW_POST_DATA 处理中的崩溃 (Thies)
  • 您可以再次将资源用作数组索引 (Thies, Zend Engine)
  • 修复了带有三个参数的 pg_fetch_array() (Sascha) 补丁提交者:[email protected]
  • 升级了许多内部函数以使用新的 Zend 函数 API (Thies)
  • 移植了 fdf 支持;尚未完全测试最新的 4.0 版本以用于 glibc (Uwe)
  • OCI8 连接现在将一直保持打开状态,直到它们被引用。(Thies)
  • 清理了目录模块 (Thies)
  • Ora_Close 中的小修复 (Thies)
  • 从 PHP 3 移植了 range() 和 shuffle() 到 PHP 4 (Andrei)
  • 修复了 header("HTTP/..."); 行为 (Sascha)
  • 改进了 UNIX 构建系统。现在使用 libtool (Sascha)
  • 升级更多内部函数以使用新的 Zend 函数 API。(Thies, Zend Engine)
  • 修复了与 ereg() 的向后兼容性问题 (Thies)
  • 更新了 Zend 垃圾收集,使用更彻底的方法。(Andi, Zend Engine)
  • 添加了在 array() 结构中使用变量引用的功能。例如,array("foo" => &$foo)。(Andi, Zend Engine)
  • 添加了 array_reverse() 函数 (Andrei)
  • 一些额外的 XML 修复/清理 (Thies)
  • 更新了 preg_replace(),使其在传递的任何参数都是数组时,都会在将其转换为字符串之前对每个条目进行复制,以便原始条目保持完整。如果主题是数组,那么它也将保留输出中的键 (Andrei)
  • 更新了 OCI8 以使用新的高性能 Zend 函数 API。(Thies)
  • 配置加速 (Stig)
  • 修复了与 LOB/持久连接相关的 OCI8 崩溃 (Thies)
  • 在 UNIX 上通用化了服务器 API 构建过程 (Stig)
  • 添加了 '--disable-rpath' 选项 (Sascha)
  • 添加了 AOLserver SAPI 模块 (Sascha)
  • 修复了 XML 回调。(Thies)
  • 更新了 ODBC 以使用新的高性能 Zend 函数 API (kara)
  • 更新了 zlib 以使用新的高性能 Zend 函数 API。(Stefan)
  • 更新了 preg_split() 以允许仅返回非空部分 (Andrei)
  • 更新了 PCRE 以使用新的高性能 Zend 函数 API (Andrei)
  • 更新了 session、dba、mhash、mcrypt、sysvshm、sysvsem、gettext 模块以使用新的高性能 Zend 函数 API (Sascha)
  • 扩展了 var_dump 以某种程度上处理资源类型 (Andrei)
  • 更新了 WDDX 以使用新的高性能 Zend 函数 API (Andrei)
  • 将 XML 更新为使用新的高性能 Zend 函数 API。(Thies)
  • 将 Oracle 更新为使用新的高性能 Zend 函数 API。(Thies)
  • 通过使用新的高性能 Zend 函数 API,显著提高了 MySQL 模块的性能。(Zeev)
  • 添加了对 Easysoft ODBC-ODCB 桥的支持([email protected]
  • 修复了 odbc_setoption 中的错误,getParameter 调用错误([email protected]
  • Ora_Fetch_Into 现在在所有情况下都会重置返回的数组(Thies)
  • 修复了 Oracle 驱动程序中的 NULL 列问题(Thies)
  • 向 ODBC 添加了额外的元数据函数,例如 SQLTables 等([email protected]
  • 修复了 mcal make_event_object() 中的 SEGV 以及 mcal_list_alarms() 中的拼写错误(Andrew Skalski)
  • 修复了 Ora_PLogon(Thies)
  • 将 Oracle 资源化(Thies)
  • 在 WDDX 中实现了对象序列化/反序列化(Andrei)
  • 添加了 krsort() 函数(Thies)
  • 为标准访问可变数量参数的函数添加了 func_num_args()、func_get_arg() 和 func_get_args()(Zeev)
  • 添加了 FTP 支持(Andrew Skalski)
  • 向 strip_tags()、gzgetss() 和 fgetss() 添加了可选的 allowable_tags 参数,允许您指定不应被剥离的标签字符串(Rasmus)
  • 升级了 var_dump() 以接受多个参数(Andrei)
  • 将 XML 资源化(Thies)
  • 修复了 Apache 每个目录指令处理程序中的内存泄漏(Zeev)
  • 添加了 array_count_values() 函数。(Thies)
  • snmp、pgsql、mysql 和 gd 模块可以作为动态加载的模块构建(Greg)
  • OCI8 修复了获取空 LOB 的问题(Thies)
  • 为会话模块添加了用户级回调(Sascha)
  • 添加了对未知 POST 内容类型的支持(Zeev)
  • 为会话模块添加了 "wddx" 序列化处理程序(Sascha)(如果您使用 --with-wddx 编译,则会自动启用)
  • 修复了反序列化对象的问题(Thies)
  • PHP 4.0 现在将对象序列化为 'O'(PHP 3.0 不理解),但按预期将 PHP 3.0 序列化的对象反序列化。(Thies)
  • 使 serialize/unserialize 在类上工作。如果在 unserialize() 时知道类,您将获得一个完全工作的对象!(Thies)
  • 根据新的 PCRE API 重写了 preg_* 函数,这也使它们的行为更像 Perl 函数(Andrei)
  • 可以指定 PCRE 库的外部位置(Andrei)
  • 将捆绑的 PCRE 库更新到 2.08 版(Andrei)
  • count()/is_array/is_object... 速度提升。(Thies)
  • OCI8 支持在保存 LOB 时追加和定位(Thies)
  • 添加了元音音位支持(Thies)
  • OCI8 不再使用 define 回调。(Thies)
  • OCI8 驱动程序现在支持像 PHP 3.0 一样的 LOB。(Thies)
  • var_dump 现在会转储对象的属性(Thies)
  • 重写了 GET/POST/Cookie 数据读取器以支持多维数组!(Zeev)
  • 将 allow_builtin_links 重命名为 expose_php(默认值为 On)。此指令告诉 PHP 是否可以将其存在公开到外部世界,例如通过将其添加到 Web 服务器标头(Zeev)
  • 添加了对透明会话 ID 传播的支持(Sascha)
  • 使 WDDX 正确地序列化对象属性(Andrei)
  • 修复了在传递未定义的变量以进行序列化时 WDDX 的内存泄漏(Andrei)
  • 添加了 session_unset() 函数(Andrei)
  • 修复了双重会话全局变量关闭崩溃(Andrei)
  • 修复了与 ignore_user_abort ini 条目相关的崩溃(Andrei)
  • 添加了对会话 ID 创建的外部熵源的支持(在 Unices 上为 /dev/random 和 /dev/urandom)(Sascha)
  • 在 php.ini 中添加了 gpc_globals 变量指令。默认情况下它为 On,但如果将其设置为 Off,则 GET、POST 和 Cookie 变量将不会插入到全局范围内。在与 track_vars 配合使用时,大多有意义(Zeev)
  • 为共享库添加了版本支持(Sascha)这允许同时使用 PHP 3.0 和 PHP 4.0 作为 Apache 模块。有关更多信息,请参阅 INSTALL 文件的末尾。
  • 向 array_keys 添加了第二个参数,它指定应返回键的搜索值(Andrei)
  • 将 Informix 驱动程序资源化(Danny)
  • 为 odbc 提供了新的资源处理,重命名为 php_odbc.[ch]。
  • 使 set_time_limit() 在 Unix 上工作(Rasmus)
  • 添加了连接处理支持(Rasmus)
  • 改进 Sybase-CT 模块以使用资源(Zeev)
  • 改进 mSQL 模块以使用资源(Zeev)
  • 更改了 mysql_query() 和 mysql_db_query(),使其在保存结果集数据失败的情况下返回 false(Zeev)
  • 改进了资源机制 - 资源不会像以前那样尽快被释放(Zeev)
  • 为会话数据存储添加了共享内存模块(Sascha)
  • 修复了 session.auto_start(Sascha)
  • 修复了输出缓冲和 HEAD 请求的几个问题(Zeev)
  • 修复了 ISAPI 模块的 HTTP 状态代码问题(Zeev)
  • 修复了一个阻止 $GLOBALS 正确工作的问题(Zeev,Zend 库)
  • 移植了最新的 GetImageSize(Thies)
  • 在 Win32 中添加了会话编译支持(Andi)
  • 向 CGI 二进制文件添加了 -d 开关,允许从命令行覆盖 php.ini 值(Zeev)
  • 修复了一个如果 wddx_deserialize 没有接收到有效数据包就会发生的崩溃(Andrei)
  • 修复了在运行时重新定义类时出现的 buglet(Andi,Zend 引擎)
  • 修复了 AIX 上的 sem_get()(Sascha)
  • 修复了 fopen() 以在 Win32 中与 URL 一起使用(Andi & Zeev)
  • 修复了 Win32 的 include_path(Andi,Zend 引擎)
  • 修复了 ISAPI 标头发送函数中的错误(Charles)
  • 修复了使用未定义值时的内存泄漏(Andi & Zeev,Zend 引擎)
  • 在 php.ini 中添加了 output_buffering 指令,以启用所有 PHP 脚本的输出缓冲 - 默认情况下为关闭(Zeev)。
  • 修复了一些其他类继承问题(Zeev,Zend 引擎)
  • 修复了 FreeBSD/Linux 上关于共享模块的 Apache 构建(Sascha)
  • 添加了 session.extern_referer_chk,它检查会话 ID 是否由外部站点引用并消除它们(Sascha)
  • 改进了会话 ID 生成(Sascha)
  • 通过使用组合的 LCG 并删除额外的 usleep() 改进了 uniqid() 的速度(Sascha)
  • 引入了通用的组合线性同余发生器(Sascha)
  • 将 ldap_close 恢复为 ldap_unbind 的别名(Andrei)
  • OciFetchInto 现在在所有情况下都会重置返回的数组(Thies)
  • 修复了 mysql_errno() 以与最近版本的 MySQL 一起使用(Zeev)
  • 修复了 define() 和布尔值存在的问题(Zeev)
  • 修复了 gd/freetype 函数的包含(Sascha)
  • 修复了 MHASH_* 常量的持久性(Sascha)
  • Oracle 现在是 ZTS 安全的(Thies)
  • 修复了 DBA 的 DB2 模块中将缓存的信息刷新到磁盘的问题(Sascha)
  • OCI8 现在是 ZTS 安全的(Thies)
  • 修复了 is_writeable/is_writable 问题;它们现在都已定义(Andrei)
  • 导入 PHP 3.0 diskfreespace() 函数(Thies)
  • 修复了 MySQL 模块中的线程安全问题(Zeev)
  • 修复了对动态模块的线程安全支持(Zeev)
  • 修复了 Sybase CT 构建过程(Zeev)

版本 4.0 Beta 2

  • 修复了使用 header() 发送 HTTP/1.x 标头行时出现的问题(Zeev)
  • Win32 构建现在包含内置的 ODBC 模块(Zeev)
  • 修复了 SYSV-SHM 接口(Thies)。
  • 更新了 hyperwave 模块,使其线程安全
  • 更新了 pdflib 模块,不再支持 0.6 版的 pdflib
  • 更新了 fdf 模块
  • 内置的 phpinfo() 链接现在默认情况下已关闭。可以使用 allow_builtin_links INI 指令打开它们(Zeev)
  • 更改了 phpinfo() 以列出没有信息函数的模块(Zeev)
  • 修改了 array_walk() 函数,以便用户空间回调除了值之外,还传递一个键和可能的用户信息(Andrei)
  • 修复了 ldap_search()、ldap_read() 和 ldap_list()(Zeev)
  • 修复了 phpinfo() 中的 Apache 信息([email protected]
  • 改进了 register_shutdown_function() - 您现在可以提供将传递给关闭函数的参数(Zeev)
  • 改进了 call_user_func() 和 call_user_method() - 它们现在支持按引用传递参数(Zeev)
  • 修复了 usort() 和 uksort()(Zeev)
  • 修复了 Apache 模块中的 md5()(Thies)
  • 引入了动态模块的构建过程(Stig)
  • 改进了 ISAPI 模块以支持大型服务器变量(Zeev)
  • 导入 PHP 3.0 修复了 PHP 作为动态模块和 Redhat libc2.1 在 zlib 模块中的问题(Stefan)
  • 修复了 sybase_fetch_object()(Zeev)
  • 使 IMAP 模块与 PHP 4.0 一起使用(Zeev)
  • 修复了 include()/require() URL 时出现的问题(Sascha,Zeev)
  • 修复了 implode() 中导致其破坏其参数的错误(Zeev)
  • 添加了 get_class($obj)、get_parent_class($obj) 和 method_exists($obj,"name")(Andi & Zeev)
  • 修复了各种继承问题(Andi & Zeev,Zend 引擎)
  • 子类现在继承其父类的构造函数,如果它们没有提供自己的构造函数。
  • 修复了类的运行时继承(父方法/属性覆盖了它们的子类)(Zeev,Zend 引擎)
  • 修复了与 "new" 运算符的不兼容性(Andi,Zend 引擎)
  • 修复了 uksort() 和 ksort() 排序顺序中的错误(Andrei)
  • 修复了使用赋值运算符时出现的内存泄漏,其左值类型为字符串(Zeev,Zend 引擎)
  • 修复了从在 include()d 文件中定义的类继承时出现的问题(Zeev,Zend 引擎)
  • 修复了 PHP 错误处理程序中可能导致某些操作系统崩溃的问题(Zeev)
  • Apache php_flag 值仅识别 'On'(区分大小写) - 更改为不区分大小写(Zeev)
  • 修复了包含 return 语句的 switch 语句中的内存泄漏(Andi & Zeev,Zend 引擎)
  • 修复了 switch 语句中的崩溃问题,该语句具有字符串偏移量作为条件(Andi & Zeev,Zend 引擎)
  • 导入 PHP 3.0 对 rand() 和 mt_rand() 的修复(Rasmus)
  • 为 strip_tags() 和 similar_text() 添加了函数条目(Andrei)
  • 修复了 WDDX 中的一个错误,该错误会导致如果传递的是数字而不是变量名,则会发生崩溃(Andrei)
  • 从 PHP 3.0 移植了 strtotime() 函数(Andrei)
  • 合并了来自 PHP 3.0 的 gdttf 内容(Sascha)
  • buildconf 现在检查您的安装(Stig)
  • XML 模块现在使用 --with-xml=shared 动态构建(Stig)
  • 添加了对 freetype.h 的检查 - 修复了 RedHat 6.0 上的构建(Zeev)
  • 修复了 array_walk() 以在 PHP 4.0 中工作(Andrei)
  • 从 PHP 3.0 移植了所有剩余的 date() 格式选项(Andrei)
  • $php_errormsg 现在可以工作了(Andrei)
  • 为 Perl 兼容正则表达式函数添加了语言环境支持(Andrei)
  • 移植了 Informix 模块(Danny)
  • 删除了 --with-shared-apache(Sascha)
  • 添加了 base64_decode 中反向查找表的补丁(Sascha)由 [email protected] 提交
  • 合并了 PHP 3.0 版的 str_replace(Sascha)
  • 添加了 DBA 模块(Sascha)
  • 在 REQUEST_URI 中添加了会话 ID 检测(Sascha)
  • 合并了 PHP 3.0 中的 HP-UX/ANSI 兼容性开关(Sascha)
  • 修复了在 Apache 构建期间构建的实用程序的 rpath 处理(Sascha)
  • 添加了缺少的 E_ 错误级别常量(Zeev,Zend 引擎)
  • 修复了在 Apache 下发送多个 HTTP Cookie 时出现的错误(Zeev)
  • 修复了 MySQL、mSQL、PostgreSQL 和 Sybase 模块的隐式连接(Zeev)
  • 为 PHP 4.0 的 SNMP 扩展提供了 PHP 3.0.12 的所有功能(SteveL)

版本 4.0 Beta 1

  • PHP 4.0 的第一个公开测试版
To Top