setcookie() 和 setrawcookie() 现在也支持以下签名
其中$options 是一个关联数组,它可能具有任何键 "expires"、"path"、"domain"、"secure"、"httponly" 和 "samesite"。
如果 error_log 设置为 syslog,则已添加以下 ini 指令来自定义日志记录
all、no-ctrl 和 ascii。从 PHP 7.3.8 开始,raw 也可用,恢复了 syslog 在以前 PHP 版本中的行为。此过滤器也会影响对 syslog() 的调用。
已增强 循环 GC,这可能会导致性能显着提高。
var_export() 现在将 stdClass 对象导出为转换为对象的数组 ((object) array( ... )),而不是使用不存在的方法 stdClass::__setState()。
debug_zval_dump() 已更改为以与 var_dump() 相同的方式显示递归数组和对象。现在,它不会显示它们两次。
array_push() 和 array_unshift() 现在也可以使用单个参数调用,这在使用扩展运算符时特别方便。
未使用常量 PHPDBG_FILE、PHPDBG_METHOD、PHPDBG_LINENO 和 PHPDBG_FUNC 已被删除。
现在也可以使用 getallheaders() 函数。
现在需要 libcurl ≥ 7.15.5。
FILTER_VALIDATE_FLOAT 现在也支持 thousand 选项,该选项定义允许的千位分隔符字符集。默认值 ("',.") 与以前的 PHP 版本完全向后兼容。
FILTER_SANITIZE_ADD_SLASHES 已添加为 magic_quotes 过滤器的别名 (FILTER_SANITIZE_MAGIC_QUOTES)。magic_quotes 过滤器可能会在 PHP 的未来版本中被删除。
默认传输模式已更改为 binary。
当 PHP 与 ICU ≥ 56 链接时,Normalizer::NONE 已弃用。
引入 Normalizer::FORM_KC_CF 作为 Normalizer::normalize() 参数用于 NFKC_Casefold 规范化;在与 ICU ≥ 56 链接时可用。
JSON_THROW_ON_ERROR,它可以与 json_decode() 或 json_encode() 一起使用,并在出错时导致这些函数抛出新的 JsonException,而不是设置使用 json_last_error() 和 json_last_error_msg() 检索的全局错误状态。JSON_PARTIAL_OUTPUT_ON_ERROR 优先于 JSON_THROW_ON_ERROR。JavaScript 对象表示法
配置选项 --with-libmbfl 不再可用。
已删除对 ODBCRouter 和 Birdstep(包括 birdstep.max_links ini 指令)的支持。
已删除 opcache.inherited_hack ini 指令。自 PHP 5.3.0 以来,该值已被忽略。
已添加 min_proto_version 和 max_proto_version ssl 流选项以及相关常量以获取可能的 TLS 协议值。
已将 PCRE 扩展 升级到 PCRE2,这可能会导致细微的行为更改(例如,类中的字符范围现在解释得更严格),并增强了现有的正则表达式语法。
preg_quote() 现在也转义 '#' 字符。
已添加属性 PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS 以启用自动跳过空行集。
已添加 PDO::DBLIB_ATTR_TDS_VERSION 属性,该属性公开 TDS 版本。
DATETIME2 列现在被视为 DATETIME 列。
现在可以通过将新的 PDO::SQLITE_ATTR_OPEN_FLAGS 属性设置为 PDO::SQLITE_OPEN_READONLY 以只读模式打开 SQLite3 数据库。
session_set_cookie_params() 现在也支持以下签名
其中$options 是一个关联数组,它可能具有任何键 "lifetime"、"path"、"domain"、"secure"、"httponly" 和 "samesite"。相应地,session_get_cookie_params() 的返回值现在也具有一个键为 "samesite" 的元素。此外,已添加新的 session.cookie_samesite ini 选项以设置 Cookie 的 SameSite 指令的默认值。它默认为 ""(空字符串),因此未设置 SameSite 指令。可以设置为 "Lax" 或 "Strict",这将设置相应的 SameSite 指令。
现在也透明地支持针对 » tidyp 构建。由于 tidyp 没有提供获取发布日期的 API,因此 tidy_get_release() 和 tidy::getRelease() 在这种情况下返回 'unknown'。
如果扩展已针对 libxml 构建,则 xml_set_external_entity_ref_handler() 回调的返回值不再被忽略。以前,返回值被忽略,解析从未停止。
不建议针对捆绑的 libzip 构建,但仍然可以通过在配置中添加 --without-libzip 来实现。
添加了 compress.zlib 包装器 的 zlib/level 上下文选项,以方便设置所需的压缩级别。