移除等同于 mcrypt_generic_deinit() 的废弃别名 mcrypt_generic_end()。
移除废弃的 mcrypt_ecb()、 mcrypt_cbc()、 mcrypt_cfb() 和 mcrypt_ofb() 函数,它们等同于使用 MCRYPT_MODE_* 标志的 mcrypt_encrypt() 和 mcrypt_decrypt() 。
Session
session_start() 以数组方式接受所有的 INI 设置。例如, ['cache_limiter'=>'private'] 会设置 session.cache_limiter=private 。也支持 'read_and_close' 以在读取数据后立即关闭会话数据。
会话保存处理器接受使用 validate_sid() 和 update_timestamp() 来校验会话 ID 是否存在、更新会话时间戳。对旧式的用户定义的会话保存处理器继续兼容。
增加了 SessionUpdateTimestampHandlerInterface 。 validateSid()、 updateTimestamp() 定义在接口里面。
session.lazy_write(默认是 On) 的 INI 设置支持仅在会话数据更新时写入。
Opcache
移除 opcache.load_comments 配置语句。现在文件内备注载入无成本,并且总是启用的。
OpenSSL:
移除 "rsa_key_size" SSL 上下文选项,按给出的协商的加密算法自动设置适当的大小。
移除 "CN_match" 和 "SNI_server_name" SSL 上下文选项。使用自动侦测或 "peer_name" 选项替代。
PCRE:
移除对 /e (PREG_REPLACE_EVAL) 修饰符的支持,使用 preg_replace_callback() 替代。
PDO_pgsql:
移除 PGSQL_ATTR_DISABLE_NATIVE_PREPARED_STATEMENT 属性,等同于 ATTR_EMULATE_PREPARES。
Standard:
移除 setlocale() 中的字符串类目支持。使用 LC_* 常量替代。 instead.
移除 set_magic_quotes_runtime() 及其别名 magic_quotes_runtime()。
JSON:
拒绝 json_decode 中的 RFC 7159 不兼容数字格式 - 顶层 (07, 0xff, .1, -.1) 和所有层的 ([1.], [1.e1])
用一个参数调用 json_decode 等价于用空的 PHP 字符串或值调用,转换为空字符串(NULL, FALSE)的结果是 JSON 格式错误。
Stream:
移除 set_socket_blocking() ,等同于其别名 stream_set_blocking()。
XSL:
移除 xsl.security_prefs ini 选项,使用 XsltProcessor::setSecurityPrefs() 替代。
2. 新功能
Core
增加了组式 use 声明。 (RFC: https://wiki.php.net/rfc/group_use_declarations)
增加了 null 合并操作符 (??)。 (RFC: https://wiki.php.net/rfc/isset_ternary)
在 64 位架构上支持长度 >= 231 字节的字符串。
增加了 Closure::call() 方法(仅工作在用户侧的类)。
在双引号字符串和 here 文档中增加了 \u{xxxxxx} Unicode 码点转义格式。
define() 现在支持数组作为常量值,修复了一个当 define() 还不支持数组常量值时的疏忽。
增加了比较操作符 (<=>),即太空船操作符。 (RFC: https://wiki.php.net/rfc/combined-comparison-operator)
为委托生成器添加了类似协程的 yield from 操作符。 (RFC: https://wiki.php.net/rfc/generator-delegation)
保留的关键字现在可以用在几种新的上下文中。 (RFC: https://wiki.php.net/rfc/context_sensitive_lexer)
增加了标量类型的声明支持,并可以使用 declare(strict_types=1) 的声明严格模式。 (RFC:https://wiki.php.net/rfc/scalar_type_hints_v5)
增加了对加密级安全的用户侧的随机数发生器的支持。 (RFC: https://wiki.php.net/rfc/easy_userland_csprng)
Opcache
增加了基于文件的二级 opcode 缓存(实验性——默认禁用)。要启用它,PHP 需要使用 --enable-opcache-file 配置和构建,然后 opcache.file_cache=<DIR> 配置指令就可以设置在 php.ini 中。二级缓存也许可以提升服务器重启或 SHM 重置时的性能。此外,也可以设置 opcache.file_cache_only=1 来使用文件缓存而根本不用 SHM(也许对于共享主机有用);设置 opcache.file_cache_consistency_checks=0 来禁用文件缓存一致性检查,以加速载入过程,有安全风险。
OpenSSL