php8.0.0 正式版发布

下载地址:https://windows.php.net/download/

 

2020年11月26日

  • BZ2:
    • 修复了错误#71263(fread()不报告bzip2.decompress错误)。
  • CLI:
    • 允许调试服务器通过-S localhost:0绑定到临时端口。
  • COM:
    • 修复了错误#55847(DOTNET .NET 4.0 GAC新位置)。
    • 修复了错误#62474(com_event_sink在某些参数上崩溃)。
  • 日历:
    • 修复了错误#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(尝试访问不存在的变量时出现段错误)。
    • 修复了错误#79841php.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:
    • 添加属性DOMXPath :: $ registerNodeNameSpaces和构造函数参数,这些参数允许全局标志配置query()或valuate()调用。
    • 修复了错误#79968(未附加节点上的DOMChildNode API崩溃)。
    • 修复了错误#80268(loadHTML()在NUL字节处截断)的问题。
  • 日期:
    • 修复了错误#60302(DateTime :: createFromFormat应该为new static(),而不是new self())。
    • 修复了错误#65547(日出/日落天顶的默认值仍然错误)。
    • 修复了错误#69044(时间与微时间之间的差异)。
    • 修复了错误#80057(DateTimeImmutable :: createFromFormat()不填充时间)。
    • 已实现FR #79903(日期时间:新格式“ p”,与“ P”相同,但对于UTC返回“ Z”)。
  • 附魔:
    • 添加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:
    • 添加了FFI \ CType :: getName()方法。
    • 修复了错误#79177(FFI无法很好地处理回调中的PHP异常)。
    • 修复了错误#79749(将FFI实例转换为bool失败)。
  • 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:
    • 修复了错误#77857(如果使用JIT执行则结果错误)。
    • 修复了错误#79255(PHP不能使用enable JIT进行编译)。
    • 修复了错误#79582(当opcache.jit = 1235和opcache.jit_debug = 2时发生崩溃)。
    • 修复了错误#79743(在启用JIT的情况下分配给数组属性时出现致命错误)。
    • 修复了错误#79864(Symfony OptionsResolver中的JIT段错误)。
    • 修复了错误#79888(启用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:
    • 修复了错误#22986(odbc_connect()可能会重用持久连接)。
    • 修复了错误#44618(获取可能依赖于未初始化的数据)。
  • 操作缓存:
    • 修复了错误#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:
    • 修复了错误#76596(phpdbg对display_errors = stderr的支持)。
    • 修复了错误#76801(打开的文件过多)。
    • 修复了错误#77800(列出某些条件断点时phpdbg segfaults)。
    • 修复了错误#77805(共享readline时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()和相应的类常量。
  • 会议:
    • 修复了错误#73529(session_decode()在错误输入时无提示失败)的问题。
    • 修复了错误#78624(用户定义的会话处理程序的session_gc返回值)。
  • Shmop:
    • 将shmop资源转换为对象。
  • SimpleXML:
    • 修复了错误#63575(无法正确克隆根元素)。
    • 修正了#75245的错误(不要只用空格设置元素的内容)。
  • 钠:
    • 修复了错误#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:
    • 修复了错误#71417(fread()不报告zlib.inflate错误)。
    • 修复了错误#78792(zlib.output_compression被Content-Type:image /禁用)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值