下载地址:https://windows.php.net/download/
2020年11月26日
- BZ2:
- 修复了错误#71263(fread()不报告bzip2.decompress错误)。
- CLI:
- 允许调试服务器通过-S localhost:0绑定到临时端口。
- COM:
- 日历:
- 修复了错误#80007(unixtojd()参数解析中的潜在类型混淆)。
- 核心:
- 修复了错误#36365(scandir在第65535个文件中复制文件名)。
- 修复了错误#49555(致命错误“函数必须为字符串”消息应重命名)。
- 修复了错误#62294(register_shutdown_function()无法正确处理退出代码)。
- 修复了错误#62609(允许在抽象类上实现Traversable)。
- 修复了错误#65274(使用类名增强未定义的类常量错误)。
- 修复了错误#65275(在关闭函数中调用exit()不会更改CLI中的退出值)。
- 修复了错误#69084(未实现重命名的抽象特征功能时,出现错误消息)。
- 修复了错误#70839(将可选参数转换为LSP检查禁止的可变参数)。
- 修复了错误#74558(无法重新绑定由Closure :: fromCallable()返回的闭包)。
- 修复了错误#77561(Shebang行未针对非主要脚本删除)。
- 修复了错误#77619(对MultipleIterator :: __ construct的错误反映)。
- 修复了错误#77966(无法为名为“命名空间”的方法添加别名)。
- 修复了错误#78236(当重复[]时在接收变量时转换错误)。
- 修复了错误#78770(内部方法内部的可调用性检查不正确)。
- 修复了错误#79108(函数中的引用参数使其在堆栈跟踪中成为引用)。
- 修复了错误#79368(“意外的文件末尾”不是可接受的错误消息)。
- 修复了错误#79462(method_exists和property_exists不一致的行为)。
- 修复了错误#79467(data://包装器是可写的)。
- 修复了错误#79521(检查__set_state结构)。
- 修复了错误#79790(AST评估中的“非法偏移类型”异常未正确处理)。
- 修复了错误#79791(在二进制操作期间取消设置变量时断言失败)的问题。
- 修复了错误#79828(尝试访问不存在的变量时出现段错误)。
- 修复了错误#79841(php.m4中configure / unscapeed“ []”中的语法错误)。
- 修复了错误#79852(count(DOMNodeList)与count(IteratorIterator(DOMNodeList))不匹配)。
- 修复了错误#79867(提升的未键入属性应获取空默认值)。
- 修复了错误#79897(带有attrib的升级构造函数参数会导致崩溃)。
- 修复了错误#79927(可迭代产生多个收益后,生成器不会引发异常)。
- 修复了错误#79946(由于未声明UINT32_C而导致构建失败)。
- 修复了错误#79948(在自动添加的文件中退出不会中止PHP执行)。
- 修复了错误#80045(使用__call的两个set_exception_handler调用后的内存泄漏)。
- 修复了错误#80096(嵌套调用中具有命名参数的分段错误)。
- 修复了错误#80109(启用扩展调试后无法跳过参数)。
- 修复了错误#80225(评估代码中命名空间的使用中断)。
- 修复了错误#80258(启用Windows重复数据删除,randon权限错误)。
- 修复了错误#80280(对于ext / standard和ext / date,ADD_EXTENSION_DEP()失败)。
- 修复了错误#80334(assert()与命名参数-令人困惑的错误)。
- 修复了错误#80055(特征不能返回“自我”的抽象特征方法)。
- 修复了发电机收率产生错误的发电机清理错误。
- 根据RFC https://wiki.php.net/rfc/shorter_attribute_syntax_change中的最终投票实现#[Attr]属性语法
- 已实现FR #47074(对于某些扩展,phpinfo()报告“ On”为1)。
- 已实现FR #72089(require()引发致命错误而不是异常)。
- 删除了pdo_odbc.db2_instance_name php.ini指令。
- 使用SSE2指令执行与语言环境无关的strtolower。
- 卷曲:
- 将所需的libcurl版本推送到7.29.0。
- 修复了错误#80121(如果直接实例化CurlHandle,则空指针取消引用)。
- DOM:
- 日期:
- 附魔:
- 添加LIBENCHANT_VERSION宏。
- 添加enchant_dict_add和enchant_dict_is_added函数。
- 弃用enchant_broker_set_dict_path,enchant_broker_get_dict_path,enchant_dict_add_to_personal和enchant_dict_is_in_session。
- 可用时使用libenchant-2。
- FFI:
- FPM:
- 添加pm.status_listen选项。
- 文件信息:
- 升级到libmagic 5.39。
- GD:
- 添加了imagegetinterpolation()。
- 修复了错误# 55005(要求imagepolygon num_points)。
- 使php_imagepolygon的$ num_points参数为可选。
- 删除了不推荐使用的image2wbmp()。
- 删除了不推荐使用的png2wbmp()和jpeg2wbmp()。
- 用对象替换了gd资源。
- IMAP:
- 修复了错误#64076(imap_sort()失败时不会返回FALSE)。
- 修复了错误#76618(imap_reopen上的段错误)。
- 修复了错误#80213(某些$ body上的imap_mail_compose()segfaults)。
- 修复了错误#80215(imap_mail_compose()可能会修改by-val参数)。
- 修复了错误#80216(imap_mail_compose()无法验证类型/编码)。
- 修复了错误#80220(imap_mail_compose()可能会泄漏内存)。
- 修复了错误#80223(imap_mail_compose()泄漏格式错误的主体上的信封)。
- 修复了错误#80226(imap_sort()泄漏sortpgm内存)。
- 修复了错误#80239(imap_rfc822_write_address()泄漏内存)。
- 修复了错误#80242(与rfc822一起使用的imap_mail_compose()segfaults)。
- 修复了由修复错误#80220引起的次要回归。
- Iconv:
- 在没有正确的errno设置的情况下放弃了对iconv的支持。
- 国际:
- 已删除不推荐使用的INTL_IDNA_VARIANT_2003。
- JIT:
- JSON:
- JSON扩展现已成为PHP不可或缺的一部分,并且无法根据RFC禁用:https://wiki.php.net/rfc/always_enable_json(tandre)
- LDAP:
- 修复了内存泄漏。
- 删除了不推荐使用的ldap_sort。
- MBString:
- 修复了错误#76999(mb_regex_set_options()返回当前选项)。
- 从mb_decode_numericentity()中删除了未使用的$ is_hex参数。
- MySQLi:
- 修复了错误#76809(使用持久连接时不遵守SSL设置)的问题。
- Mysqlnd的:
- 固定#60594(mysqlnd在phpinfo中公开160行统计信息)。
- OCI8:
- 不推荐使用的旧OCI8函数别名。
- 现代化的oci_register_taf_callback()可调用参数解析实现。
- 删除了过时的无操作功能oci_internal_debug()。
- ODBC:
- 操作缓存:
- 修复了错误#76535(Opcache不会重播编译时警告)。
- 修复了错误#78654(对具有非ASCII字符的文件的opcache校验和计算错误)。
- 修复了错误#79665(ini_get()和opcache_get_configuration()不一致)。
- 修复了错误#80030(在带有undef动态类名的静态属性上具有isset的Optimizer segfault)。
- 修复了错误#80175(PHP8 RC1-JIT缓冲区不起作用)。
- 修复了错误#80184(while / if语句中的复杂表达式错误地解析为false)。
- 修复了错误#80255(8.0.0.0rc1中的操作缓存错误(不良状态结果))。
- 修复了预加载的动态声明函数的运行时绑定。
- OpenSSL:
- 添加了加密消息语法(CMS)支持。
- PCRE:
- 不要忽略无效的转义序列。
- 更新至PCRE2 10.35。
- PDO:
- 将默认的PDO错误模式更改为异常。
- 修复了错误#77849(禁用PDO句柄/连接对象的克隆)。
- PDO_Firebird:
- 修复了错误#64937(Firebird PDO预处理SQL)。
- PDO_OCI:
- 添加了对设置和获取oracle OCI 18c调用超时的支持。
- PDO_PGSQL:
- 将所需的libpq版本推送到9.1。
- PGSQL:
- 将所需的libpq版本推送到9.1。
- Phpdbg:
- 反射:
- 修复了错误#64592(ReflectionClass :: getMethods()返回超出范围的方法)。
- 修复了错误#69180(反射不支持特征冲突解决/方法别名)。
- 修复了错误#74939(嵌套特征的别名方法为小写)。
- 修复了错误#77325(扩展时,ReflectionClassConstant :: $ class返回错误的类)。
- 修复了错误#78697(ReflectionClass :: implementsInterface-具有特征的不正确错误消息)。
- 修复了错误#80190(ReflectionMethod :: getReturnType()不能将静态作为联合类型的一部分进行处理)。
- 修复了错误#80299(ReflectionFunction-> invokeArgs在参数中混淆)。
- 修复了错误#80370(动态属性上的getAttributes segfault)。
- 实施#79628(为ReflectionClass :: getConstants和ReflectionClass :: getReflectionConstants添加$ filter参数)(carusogabriel)
- 实现ReflectionProperty :: hasDefaultValue和Reflection :: getDefaultValue(beberlei)
- SNMP:
- 修复了错误#70461(当net-snmp不支持md5代码时,请禁用它)。
- SPL:
- 修复了错误#65006(spl_autoload_register失败,使用自已,相同方法的多个可调用对象)。
- 修复了错误#65387(SPL迭代器中的循环引用不会被垃圾收集)。
- 修复了错误#71236(如果没有参数,则第二次调用spl_autoload_register()不会执行任何操作)。
- 修复了错误#79987(由于缺少zend_restore_error_handling()而导致SplFileInfo中的内存泄漏)。
- SplFixedArray现在是IteratorAggregate而不是Iterator。
- SQLite3:
- 添加了SQLite3 :: setAuthorizer()和相应的类常量。
- 会议:
- Shmop:
- 将shmop资源转换为对象。
- SimpleXML:
- 钠:
- 修复了错误#77646(sign_detached()字符串未终止)。
- 标准:
- 通过HTTP流包装器填充$ http_response_header变量时,请勿强制重建符号表。
- 修复了错误#47983(mail()中的LF和CRLF混合行尾)。
- 修复了错误#64060(lstat_stat_variation7.phpt在某些文件系统上失败)。
- 修复了错误#75902(将str_replace与嵌套数组一起使用时应发出警告)。
- 修复了错误#76859(如果与数据生成过滤器一起使用,stream_get_line会跳过数据)。
- 修复了错误#77204(getimagesize():读取错误!应提及文件路径)。
- 修复了错误#78385(当问号是最后一个字符时,parse_url()不包含“查询”)。
- 修复了错误#79868(使用array_unique进行排序会产生不需要的结果)。
- 修复了错误#80256(file_get_contents删除了第一行,并使用了分块的编码重定向)。
- 修复了错误#80266(parse_url静默删除端口号0)。
- 修复了错误#80290(当将ASSERT_CALLBACK与动态消息一起使用时,双重释放)。
- 已实现FR #78638(__ PHP_Incomplete_Class应该是最终的)。
- 使cmd执行功能的引用保持一致。
- 整洁:
- 从tidy_repair_string()中删除了未使用的$ use_include_path参数。
- 分词器:
- 修复了错误#80328(PhpToken :: getAll()令人困惑的名称)。
- XML:
- 修复了错误#76874(xml_parser_free()应该永远不会泄漏内存)。
- XMLWriter:
- 更改了函数以接受/返回XMLWriter对象而不是资源。
- 已实现FR #79344(xmlwriter_write_attribute_ns:$ prefix应该为空)。
- 从XMLWriter存根中删除了返回类型。
- 压缩:
- 向ZipArchive :: addGlob和addPattern方法添加“标志”选项,默认情况下保持先前行为为FL_OVERWRITE。
- 添加ZipArchive :: EM_UNKNOWN和ZipArchive :: EM_TRAD_PKWARE常量。
- 添加ZipArchive :: isCompressionMethodSupported()和ZipArchive :: isEncryptionMethodSupported()方法(libzip 1.7.0)。
- 添加ZipArchive :: replaceFile()方法。
- 添加ZipArchive :: setCancelCallback方法(自libzip 1.6.0起)。
- 添加ZipArchive :: setMtimeName和ZipArchive :: setMtimeIndex方法。
- 添加ZipArchive :: setProgressCallback方法(自libzip 1.3.0起)。
- 将lastId属性添加到ZipArchive。
- 将可选的“标志”参数添加到ZipArchive :: addEmptyDir,addFile和addFromString方法。
- 修复了错误#50678(由ZipArchive类提取的文件丢失了其原始修改时间)。
- 修复了错误#72374(remove_path去除文件名的第一个字符)。
- 已实现FR #77960(为ZipArchive :: addGlob和ZipArchive :: addPattern添加压缩/加密选项)。
- 关闭存档后,ZipArchive :: status和ZipArchive :: statusSys属性以及ZipArchive :: getStatusString()方法保持有效。
- Zlib: