PHP Conference Japan 2024

变更日志

已对捆绑扩展的函数进行了以下更改。

版本函数描述
8.4.0DOMDocument::registerNodeClassDOMDocument::registerNodeClass 现在具有尝试性返回值 true。
 DOMImplementation::createDocument该函数现在具有尝试性返回值类型 DOMDocument。
 DOMXPath::registerPhpFunctions现在可以使用可调用对象作为回调,当使用 restrict 以及数组条目时。
 bcpow0 的负幂以前返回 0,但现在抛出 DivisionByZeroError 异常。
 bind_textdomain_codeset如果 domain 为空字符串,则现在会抛出 ValueError。
 bind_textdomain_codesetcodeset 现在是可选的。以前,始终必须指定该参数。
 bindtextdomaindirectory 现在是可选的。以前,始终必须指定该参数。
 curl_getinfo引入了 CURLINFO_POSTTRANSFER_TIME_T 常量和 posttransfer_time_us(Curl 8.10.0 或更高版本)。
 curl_multi_select如果 timeout 小于 0 或大于 PHP_INT_MAX,则现在会抛出 ValueError。
 curl_setoptCURLOPT_DNS_USE_GLOBAL_CACHE 不再有任何作用,并且在启用线程安全 PHP 构建时不再触发警告。
 curl_version添加了 features_list。
 dba_closedba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_deletedba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_existsdba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_fetchdba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_firstkeydba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_insertdba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_key_split现在已弃用将 null 或 false 传递给 key。
 dba_nextkeydba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_open现在返回一个 Dba\Connection 实例;以前,返回一个资源。
 dba_optimizedba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_popen现在返回一个 Dba\Connection 实例;以前,返回一个资源。
 dba_replacedba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dba_syncdba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。
 dgettext如果 domain 为空字符串,则现在会抛出 ValueError。
 dngettext如果 domain 为空字符串,则现在会抛出 ValueError。
 exitexit 现在是一个正确的函数,因此它遵循通常的类型转换语义,受 strict_types 声明的影响,可以用具名参数调用,并且可以是变量函数。
 fgetcsv现在已弃用依赖于 escape 的默认值。
 flush在 FastCGI 中,现在可以在没有主体的情况下刷新头。
 fputcsv现在已弃用依赖于 escape 的默认值。
 hash_init现在已弃用传递错误类型的选项。
 hash_update现在返回值类型为 true 而不是 bool。
 highlight_string返回值类型从 stringbool 更改为 stringtrue。
 imageavif如果 quality 或 speed 无效,则现在会抛出 ValueError。
 imagefilter如果 sub 或 plus 会导致 IMG_FILTER_SCATTER 过滤器出现溢出/下溢,则现在会抛出 ValueError。
 imagejpeg如果 quality 无效,则现在会抛出 ValueError。
 imagepng如果 quality 无效,则现在会抛出 ValueError。
 imagescale如果 width 或 height 会导致溢出/下溢,则现在会抛出 ValueError。
 imagescale如果 mode 无效,则现在会抛出 ValueError。
 imagewebp如果 quality 无效,则现在会抛出 ValueError。
 lcg_value此函数已被弃用。
 libxml_set_streams_contextlibxml_set_streams_context 现在在将非流资源传递给 context 时抛出 TypeError,而不是在稍后使用 context 时抛出。
 long2ip返回值类型从 stringfalse 更改为 string。
 odbc_autocommitodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_binmodestatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_closeodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_columnprivilegesodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_columnsodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_commitodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_connectodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_connect此函数现在返回一个 Odbc\Connection 实例;以前,返回一个资源。
 odbc_cursorstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_data_sourceodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_errorodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_errormsgodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_execodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_exec此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_execute此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_fetch_arraystatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_fetch_arrayrow 现在可以为空。
 odbc_fetch_intostatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_fetch_intorow 现在可以为空。
 odbc_fetch_objectstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_fetch_objectrow 现在可以为空。
 odbc_fetch_rowstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_field_lenstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_field_namestatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_field_numstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_field_scalestatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_field_typestatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_foreignkeysodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_foreignkeys此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_free_resultstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_gettypeinfoodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_gettypeinfo此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_longreadlenstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_next_resultstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_num_fieldsstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_num_rowsstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_pconnectodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_pconnect此函数现在返回一个 Odbc\Connection 实例;以前,返回一个资源。
 odbc_prepareodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_prepare此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_primarykeysodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_primarykeys此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_procedurecolumnsodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_procedurecolumns此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_proceduresodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_procedures此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_resultstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_result_allstatement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。
 odbc_rollbackodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_setoptionodbc 现在需要一个 Odbc\Connection 或 Odbc\Result 实例;以前,需要一个资源。
 odbc_specialcolumnsodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_specialcolumns此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_statisticsodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_statistics此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_tableprivilegesodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_tableprivileges此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 odbc_tablesodbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。
 odbc_tables此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。
 pcntl_sigprocmask如果 signal 为空,则会抛出 ValueError。
 pcntl_sigprocmask如果 signal 值不是 int,则会抛出 TypeError。
 pcntl_sigprocmask如果 signal 值无效,则会抛出 ValueError。
 pcntl_sigprocmask如果 mode 值不是 SIG_BLOCK、SIG_UNBLOCK 或 SIG_SETMASK,则会抛出 ValueError。
 pcntl_sigtimedwait如果 signal 为空,则会抛出 ValueError。
 pcntl_sigtimedwait如果 signal 值不是 int,则会抛出 TypeError。
 pcntl_sigtimedwait如果 signal 值无效,则会抛出 ValueError。
 pcntl_sigtimedwait如果 seconds 值小于 0,则会抛出 ValueError。
 pcntl_sigtimedwait如果 nanoseconds 值小于 0,则会抛出 ValueError。
 pcntl_sigtimedwait如果 seconds 和 nanoseconds 值都为 0,则会抛出 ValueError。
 pcntl_sigwaitinfo如果 signal 为空,则会抛出 ValueError。
 pcntl_sigwaitinfo如果 signal 值不是 int,则会抛出 TypeError。
 pcntl_sigwaitinfo如果 signal 值无效,则会抛出 ValueError。
 pg_selectconditions 现在是可选的。
 php_uname在指定无效模式时抛出 ValueError。
 posix_isatty当传递的文件描述符/流无效时,将 errno(错误编号)设置为 EBADF。
 pow现在已弃用将 0 提高到负指数。
 print_r返回值类型从 stringbool 更改为 stringtrue。
 simplexml_import_dom如果传递的节点不是 XML 或 HTML 节点,则此函数现在会抛出 TypeError 而不是 ValueError。
 socket_create_listen的默认值现在是 SOMAXCONN。以前是 128。
 str_getcsv现在已弃用依赖于 escape 的默认值。
 str_getcsv如果 separator、enclosure 或 escape 无效,则现在会抛出 ValueError。这模仿了 fgetcsv 和 fputcsv 的行为。
 strcspn在 PHP 8.4.0 之前,当 characters 为空字符串时,搜索会错误地停止在 string 中的第一个空字节处。
 stream_context_set_option现在已弃用备用的 2 参数签名。请改用 stream_context_set_options。
 textdomain如果 domain 为空字符串,则现在会抛出 ValueError。
 textdomaindomain 现在是可选的。以前,始终必须指定该参数。
 trigger_error现在已弃用将 E_USER_ERROR 作为 error_level 传递。请改用抛出异常或调用 exit。
 trigger_error该函数现在返回值类型为 true 而不是 bool。
 xml_parser_set_option添加了选项 XML_OPTION_PARSE_HUGE。
 xml_set_character_data_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_character_data_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_default_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_default_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_element_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_element_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_end_namespace_decl_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_end_namespace_decl_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_external_entity_ref_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_external_entity_ref_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_notation_decl_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_notation_decl_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_object此函数现已弃用,请改用正确的可调用值传递给 xml_set_。
 xml_set_processing_instruction_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_processing_instruction_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_start_namespace_decl_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_start_namespace_decl_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 xml_set_unparsed_entity_decl_handler现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。
 xml_set_unparsed_entity_decl_handler现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。
 IntlCalendar::set此方法已被弃用,建议使用 IntlCalendar::setDate 和 IntlCalendar::setDateTime 方法。
 IntlDateFormatter::create如果 locale 无效,则会抛出 ValueError。
 IntlGregorianCalendar::__construct此方法已被弃用,建议使用 IntlGregorianCalendar::createFromDate 和 IntlGregorianCalendar::createFromDateTime 方法。
 mysqli::killmysqli::kill 和 mysqli_kill 现在都已弃用。请改用 KILL SQL 命令。
 mysqli::pingmysqli::ping 和 mysqli_ping 现在都已弃用。从 PHP 8.2.0 开始,重新连接功能不可用,这使得此函数已过时。
 mysqli::refreshmysqli::refresh 和 mysqli_refresh 现在都已弃用。请改用 FLUSH SQL 命令。
 mysqli::store_result传递 mode 参数现已弃用。自 PHP 8.1.0 起,此参数无效。
 NumberFormatter::create如果 locale 无效,则会抛出 ValueError。
 Phar::setAliasPhar::setAlias 现在初步返回 true。
 Phar::setDefaultStubPhar::setDefaultStub 现在初步返回 true。
 ReflectionClassConstant::__toString现在包含了附加的文档注释。
 ReflectionGenerator::getFunction现在可以在生成器执行完成之后调用 ReflectionGenerator::getFunction。
 ReflectionProperty::__toString现在包含了附加的文档注释。
 ResourceBundle::get如果偏移量类型无效,则抛出 TypeError。如果索引是字符串且为空,或者索引是整数且不适合 32 位整数类型,则抛出 ValueError。
 SplFileObject::fgetcsv现在已弃用依赖于 escape 的默认值。
 SplFileObject::fputcsv现在已弃用依赖于 escape 的默认值。
 SplFileObject::setCsvControl现在已弃用依赖于 escape 的默认值。
 SplFixedArray::setSizeSplFixedArray::setSize 现在初步返回 true。
 SplFixedArray::__wakeup此方法现已弃用,请使用 SplFixedArray::__unserialize 代替。
 SplHeap::insertSplHeap::insert 现在初步返回 true。
 SplHeap::recoverFromCorruptionSplHeap::recoverFromCorruption 现在初步返回 true。
 SplPriorityQueue::insertSplPriorityQueue::insert 现在初步返回 true。
 SplPriorityQueue::recoverFromCorruptionSplPriorityQueue::recoverFromCorruption 现在初步返回 true。
 tidy::__construct执行构造函数时发生的错误现在会抛出异常,而不是静默地创建一个不可用的对象。
 XMLReader::open传递无效编码现在将抛出 ValueError。
 XMLReader::XML传递无效编码现在将抛出 ValueError。
 XMLWriter::startDocument传递包含空字节的编码现在将抛出 ValueError。
 XSLTProcessor::importStylesheet如果 stylesheet 不是 XML 对象,则现在抛出 TypeError 而不是 ValueError。
 XSLTProcessor::registerPHPFunctions现在可以使用可调用对象作为回调,当使用 restrict 以及数组条目时。
 XSLTProcessor::setParameter如果任何参数包含空字节,则现在抛出 ValueError,而不是静默截断。
 XSLTProcessor::setParameter现在可以设置包含单引号和双引号的参数值。在 PHP 8.4.0 之前,这会导致警告。
8.3.0DateInterval::__construct现在抛出 DateMalformedIntervalStringException 而不是 Exception。
 DateInterval::createFromDateString如果传递了无效字符串,则 DateInterval::createFromDateString 现在抛出 DateMalformedStringException。之前,它返回 false 并发出警告。date_interval_create_from_date_string 未更改。
 DatePeriod::__construct现在抛出 DateMalformedPeriodStringException 而不是 Exception。
 DateTime::__construct如果传递了无效字符串,则现在抛出 DateMalformedStringException,而不是 Exception。
 DateTimeInterface::getTimestamp超出范围的异常现在是 DateRangeError。
 DateTime::modify如果传递了无效字符串,则 DateTime::modify 现在抛出 DateMalformedStringException。之前,它返回 false 并发出警告。date_modify 未更改。
 DateTime::sub现在使用 DateTime::sub 抛出 DateInvalidOperationException,而不是在尝试执行不支持的操作时发出警告。date_sub 未更改。
 DateTimeImmutable::__construct如果传递了无效字符串,则现在抛出 DateMalformedStringException,而不是 Exception。
 DateTimeImmutable::modify如果传递了无效字符串,则 DateTimeImmutable::modify 现在抛出 DateMalformedStringException。之前,它返回 false 并发出警告。
 DateTimeImmutable::sub现在在尝试执行不支持的操作时抛出 DateInvalidOperationException 而不是警告。
 DateTimeZone::__construct无效值现在返回 DateInvalidTimeZoneException 而不是通用 Exception。
 DOMCharacterData::after现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMCharacterData::after现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMCharacterData::appendData此函数现在具有初步的 true 返回类型。
 DOMCharacterData::before现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMCharacterData::replaceWith现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMChildNode::after现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMChildNode::after现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMChildNode::before现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMChildNode::replaceWith现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMDocument::append现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMDocument::createAttributeNS现在,在不指定前缀的情况下调用此方法将选择一个前缀,而不是假设默认命名空间。之前,这会创建一个没有前缀的属性,并错误地将命名空间应用于所有者元素,因为默认命名空间不适用于属性。
 DOMDocument::createAttributeNS现在,使用已在所有者元素上使用不同命名空间 URI 声明的前缀调用此方法将更改新前缀,以避免创建命名空间冲突。这使行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_NAMESPACE_ERR 的 DOMException。
 DOMDocument::load此函数现在具有初步的 bool 返回类型。
 DOMDocument::loadHTML此函数现在具有初步的 bool 返回类型。
 DOMDocument::loadHTMLFile此函数现在具有初步的 bool 返回类型。
 DOMDocument::loadXML此函数现在具有初步的 bool 返回类型。
 DOMDocument::prepend现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMDocument::replaceChildren现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMDocument::saveXML现在支持 LIBXML_NOXMLDECL。
 DOMDocumentFragment::append现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMDocumentFragment::prepend现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMDocumentFragment::replaceChildren现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::after现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::after现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::append现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::before现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::prepend现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::replaceChildren现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMElement::replaceWith现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMParentNode::append现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMParentNode::prepend现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 DOMParentNode::replaceChildren现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。
 FFI::cast现在已弃用静态调用 FFI::cast。
 FFI::cdef返回 void 的 C 函数返回 PHP null,而不是 FFI\CType::TYPE_VOID。
 FFI::load当当前系统用户与 opcache.preload_user 配置指令中定义的用户相同时,现在允许在预加载脚本中使用 FFI::load。
 FFI::new现在已弃用静态调用 FFI::new。
 FFI::type现在已弃用静态调用 FFI::type。
 array_pad在 8.3 之前,一次最多只能添加 1048576 个元素。现在,它仅受数组最大大小的限制。
 array_product当数组值无法转换为 int 或 float 时,现在会发出 E_WARNING。之前,数组和对象会被忽略,而其他每个值都会被强制转换为 int。此外,现在会强制转换定义了数字强制转换的对象(例如 GMP),而不是忽略它们。
 array_sum当数组值无法转换为 int 或 float 时,现在会发出 E_WARNING。之前,数组和对象会被忽略,而其他每个值都会被强制转换为 int。此外,现在会强制转换定义了数字强制转换的对象(例如 GMP),而不是忽略它们。
 assert所有 assert. INI 设置都已弃用。
 assert_optionsassert_option 现已弃用。
 class_aliasclass_alias 现在支持创建内部类的别名。
 curl_getinfo引入了 CURLINFO_CAINFO 和 CURLINFO_CAPATH。
 dba_fetch现在已弃用将 dba 作为第三个参数传递给 dba_fetch。
 easter_date在 64 位系统上,year 参数现在接受 1970 到 2,000,000,000 范围内的值。
 fgetcsv如果最后一个字段仅包含未终止的括号,则返回空字符串,而不是包含单个空字节的字符串。
 file对于任何无效的 flags 值,都会抛出 ValueError。
 gc_statusgc_status 现在返回以下其他字段:“running”、“protected”、“full”、“buffer_size”、“application_time”、“collector_time”、“destructor_time”和“free_time”。
 get_class现在,在没有参数的情况下调用 get_class 会发出 E_DEPRECATED 警告;之前,在类内部调用此函数会返回该类的名称。
 get_parent_class现在,在没有参数的情况下调用 get_parent_class 会发出 E_DEPRECATED 警告;之前,在类内部调用此函数会返回该类的名称。
 highlight_file生成的 HTML 已更改。
 highlight_string生成的 HTML 已更改。
 imagerotate未使用的 ignore_transparent 已完全删除。
 ldap_connect现在已弃用使用单独的主机名和端口调用 ldap_connect。
 mb_convert_case为希腊字母 sigma 实现了条件大小写规则,这些规则仅适用于 MB_CASE_LOWER 和 MB_CASE_TITLE 模式,不适用于 MB_CASE_LOWER_SIMPLE 和 MB_CASE_TITLE_SIMPLE。
 mb_decode_mimeheader根据 RFC 2047 将下划线转换为空格。
 mb_encode_mimeheader使用 Quoted-Printable 编码进行编码时,不再丢弃 NUL (0) 字节,而是将其编码为 =00。
 mb_strimwidth现在已弃用将负宽度传递给 mb_strimwidth。
 mb_strtolower为希腊字母 sigma 实现了条件大小写规则。
 mt_srandseed 现在可以为空。
 number_format添加了对十进制负值的处理。
 odbc_autocommitenable 现在可以为空。
 password_hash当由于盐生成失败而抛出 ValueError 时,password_hash 现在将底层的 Random\RandomException 设置为 Exception::$previous 异常。
 pg_convert当字段的值或类型与 PostgreSQL 的类型不匹配时,现在会抛出 ValueError 或 TypeError 错误;之前会发出 E_WARNING。
 pg_fetch_object当类没有构造函数且 constructor_args 不为空时,现在会抛出 ValueError 异常;之前会抛出 Exception。
 pg_fetch_resultrow 现在可以为空。
 pg_field_is_nullrow 现在可以为空。
 pg_field_prtlenrow 现在可以为空。
 pg_insert当指定的表无效时,现在会抛出 ValueError 错误;之前会发出 E_WARNING。
 pg_insert当字段的值或类型与 PostgreSQL 的类型不匹配时,现在会抛出 ValueError 或 TypeError 错误;之前会发出 E_WARNING。
 pg_trace添加了 trace_mode。
 posix_eaccess检查文件的有效用户/组,这与检查真实用户/组的 posix_access 不同。
 posix_getrlimit添加了可选的 resource 参数。
 posix_isatty根据通常的 PHP 类型强制转换语义,现在会为整数强制转换引发类型错误 E_WARNING。
 posix_ttyname根据通常的 PHP 类型强制转换语义,现在会为整数强制转换引发类型错误 E_WARNING。
 posix_ttyname对于无效的文件描述符整数,现在会引发 E_WARNING。
 proc_get_status已将“cached”条目添加到返回的数组中。在 PHP 8.3.0 之前,只有第一次调用会返回真实的退出代码。“cached”条目表示退出代码已缓存。
 proc_open如果 command 是一个数组且至少不包含一个非空元素,则会抛出 ValueError。
 range如果 start 和 end 都是字符串,则 range 现在将始终生成一个字节数组。之前,如果边界值之一是数字字符串,则另一个边界值会隐式转换为 int。
 range如果 start 或 end 是一个字符串,并且由于另一个边界值是数字而隐式转换为 int,则现在会发出 E_WARNING。

 range如果 start 或 end 是一个超过一个字节的非数字字符串,现在会发出 E_WARNING。
 range如果 start 或 end 是空字符串,现在会发出 E_WARNING。
 range如果 step 是一个没有小数部分的浮点数,它将被解释为整数。
 range如果在生成递增范围时 step 为负数,现在会抛出 ValueError。
 range如果 step 不是有限数,现在会抛出 ValueError。
 range如果 start 或 end 是数组、对象或资源,现在会抛出 TypeError。之前它们会被隐式转换为整数。
 srandseed 现在可以为空。
 str_getcsv如果最后一个字段仅包含未终止的括号,则返回空字符串,而不是包含单个空字节的字符串。
 stream_notification_callback实现了对 STREAM_NOTIFY_COMPLETED 的支持,早期的 PHP 版本永远不会触发此通知。
 strrchr添加了 before_needle 参数。
 strtok当未提供 token 时,现在会发出 E_WARNING。
 unserialize当输入字符串有未消耗的数据时,现在会发出 E_WARNING。
 unserialize当传递的字符串不可反序列化时,现在会发出 E_WARNING;之前会发出 E_NOTICE。
 xml_parser_get_option该函数现在返回布尔值选项的布尔值。
 xml_parser_set_optionvalue 参数现在也接受布尔值。选项 XML_OPTION_CASE_FOLDING 和 XML_OPTION_SKIP_WHITE 现在是布尔值选项。
 IntlBreakIterator::setText此方法现在在失败时返回 false;之前返回 null。
 IntlChar::enumCharNames此方法现在在失败时返回 false;之前返回 null。
 IntlDateFormatter::setTimeZone此函数现在在成功时返回 true;之前返回 null。
 mysqli_result::fetch_object当类没有构造函数且 constructor_args 不为空时,现在会抛出 ValueError 异常;之前会抛出 Exception。
 mysqli::poll当既没有传递 read 参数也没有传递 error 参数时,现在会抛出 ValueError 异常。
 Phar::setStub使用资源和长度调用 Phar::setStub 现在已弃用。此类调用应替换为:$phar->setStub(stream_get_contents($resource));
 ReflectionClass::getStaticPropertiesReflectionClass::getStaticProperties 的返回类型已从 ?array 更改为 array。
 ReflectionProperty::setValue使用单个参数调用此方法已弃用,应改用 ReflectionClass::setStaticPropertyValue 来修改静态属性。
 SQLite3::enableExceptions使用 enable 为 false 调用 SQLite3::enableExceptions 将触发 E_DEPRECATED 警告。
 ZipArchive::addFile添加了 ZipArchive::FL_OPEN_FILE_NOW。
 ZipArchive::addFile添加了 ZipArchive::LENGTH_TO_END 和 ZipArchive::LENGTH_UNCHECKED。
 ZipArchive::addGlob添加了 ZipArchive::FL_OPEN_FILE_NOW。
 ZipArchive::replaceFile添加了 ZipArchive::FL_OPEN_FILE_NOW。
 ZipArchive::replaceFile添加了 ZipArchive::LENGTH_TO_END 和 ZipArchive::LENGTH_UNCHECKED。
8.2.9DateTimeImmutable::createFromFormat(空格)指定符现在也支持 NBSP(U+A0)和 NNBSP(U+202F)字符。
8.2.1SplFileObject::__toString已从 SplFileObject::fgets 的别名更改为 SplFileObject::current 的实现,当设置了 SplFileObject::READ_CSV 标志时,它会返回一个 CSV 字符串。
8.2.0ArrayIterator::asort返回类型现在为 true;之前为 bool。
 ArrayIterator::ksort返回类型现在为 true;之前为 bool。
 ArrayIterator::natcasesort返回类型现在为 true;之前为 bool。
 ArrayIterator::natsort返回类型现在为 true;之前为 bool。
 ArrayIterator::uasort返回类型现在为 true;之前为 bool。
 ArrayIterator::uksort返回类型现在为 true;之前为 bool。
 ArrayObject::asort返回类型现在为 true;之前为 bool。
 ArrayObject::ksort返回类型现在为 true;之前为 bool。
 ArrayObject::natcasesort返回类型现在为 true;之前为 bool。
 ArrayObject::natsort返回类型现在为 true;之前为 bool。
 ArrayObject::uasort返回类型现在为 true;之前为 bool。
 ArrayObject::uksort返回类型现在为 true;之前为 bool。
 DateInterval::__construct只有 y 到 f、invert 和 days 将可见,包括一个新的 from_string 布尔属性。
 DateInterval::createFromDateString使用此方法创建 DateInterval 时,只有 from_string 和 date_string 属性可见。
 DatePeriod::__construct已添加 DatePeriod::INCLUDE_END_DATE 常量。
 DateTime::createFromFormat当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 DateTimeInterface::format已添加格式字符 X 和 x。
 DateTimeImmutable::createFromFormat已添加 X 和 x 格式说明符。
 DateTimeImmutable::createFromFormat当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 DateTimeImmutable::getLastErrors在 PHP 8.2.0 之前,此函数在没有警告或错误时不会返回 false。相反,它将始终返回文档中记录的数组结构。
 FilesystemIterator::__construct在 PHP 8.2.0 之前,始终设置 FilesystemIterator::SKIP_DOTS 且无法移除。
 array_walk返回类型现在为 true;之前为 bool。
 array_walk_recursive返回类型现在为 true;之前为 bool。
 arsort返回类型现在为 true;之前为 bool。
 asort返回类型现在为 true;之前为 bool。
 curl_getinfo引入了 CURLINFO_PROXY_ERROR、CURLINFO_REFERER、CURLINFO_RETRY_AFTER。
 curl_multi_setopt引入了 CURLMOPT_MAX_CONCURRENT_STREAMS。
 date_parse_from_format当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 dba_fetchdba_fetch 的可选 skip 参数现在位于末尾,与 PHP 用户空间语义一致。之前重载的签名仍然被接受,但不建议使用。
 dba_open添加了 flags。
 dba_openhandler 现在可以为空。
 dba_popen添加了 flags。
 getimagesize现在返回 AVIF 图像的实际图像尺寸、位数和通道;之前,尺寸报告为 0x0,并且根本没有报告位数和通道。
 idate添加了 N(ISO-8601 星期几)和 o(ISO-8601 年)格式字符。
 iterator_count迭代器的类型已从 Traversable 扩展到 Traversablearray。
 iterator_to_array迭代器的类型已从 Traversable 扩展到 Traversablearray。
 krsort返回类型现在为 true;之前为 bool。
 krsort此函数现在使用标准 PHP 8 规则在 SORT_REGULAR 下进行数字字符串比较。
 ksort返回类型现在为 true;之前为 bool。
 ksort此函数现在使用标准 PHP 8 规则在 SORT_REGULAR 下进行数字字符串比较。
 lcfirst大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。
 mb_convert_encodingmb_convert_encoding 将不再返回以下非文本编码:“Base64”、“QPrint”、“UUencode”、“HTML 实体”、“7 位”和“8 位”。
 mb_convert_kana如果不同模式的组合无效,现在会抛出 ValueError。
 mb_detect_encodingmb_detect_encoding 将不再返回以下非文本编码:“Base64”、“QPrint”、“UUencode”、“HTML 实体”、“7 位”和“8 位”。
 natcasesort返回类型现在为 true;之前为 bool。
 natsort返回类型现在为 true;之前为 bool。
 openlog该函数现在始终返回 true。之前在失败时返回 false。
 pg_close返回类型现在为 true;之前为 bool。
 pg_untrace返回类型现在为 true;之前为 bool。
 random_bytes如果 CSPRNG 失败,此函数现在将抛出 Random\RandomException。之前会抛出普通的 Exception。
 random_int如果 CSPRNG 失败,此函数现在将抛出 Random\RandomException。之前会抛出普通的 Exception。
 rsort返回类型现在为 true;之前为 bool。
 setcookiecookie 的日期格式现在为“D, d M Y H:i:s \G\M\T”;之前为“D, d-M-Y H:i:s T”。
 snmp_set_enum_print返回类型现在为 true;之前为 bool。
 snmp_set_oid_output_format返回类型现在为 true;之前为 bool。
 snmp_set_quick_print返回类型现在为 true;之前为 bool。
 snmp_set_valueretrieval返回类型现在为 true;之前为 bool。
 sort返回类型现在为 true;之前为 bool。
 str_ireplace大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。
 str_split如果字符串为空,现在会返回一个空数组。之前会返回包含单个空字符串的数组。
 strcasecmp此函数现在返回 -1 或 1,之前返回负数或正数。
 strcmp此函数现在返回 -1 或 1,之前返回负数或正数。
 stripos大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。
 stristr大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。
 strnatcasecmp此函数现在返回 -1 或 1,之前返回负数或正数。
 strnatcmp此函数现在返回 -1 或 1,之前返回负数或正数。
 strncasecmp此函数现在返回 -1 或 1,之前返回负数或正数。
 strncmp此函数现在返回 -1 或 1,之前返回负数或正数。
 strripos大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。
 strtolower大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。
 strtoupper大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。
 substr_compare此函数现在返回 -1 或 1,之前返回负数或正数。
 uasort返回类型现在为 true;之前为 bool。
 ucfirst大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。
 ucwords大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。
 uksort返回类型现在为 true;之前为 bool。
 usort返回类型现在为 true;之前为 bool。
 utf8_decode此函数已被弃用。
 utf8_encode此函数已被弃用。
 var_export导出的类名现在是完全限定的;之前,省略了开头的反斜杠。
 IntlCalendar::clear返回类型现在为 true;之前为 bool。
 IntlCalendar::set返回类型现在为 true;之前为 bool。
 IntlCalendar::setFirstDayOfWeek返回类型现在为 true;之前为 bool。
 IntlCalendar::setLenient返回类型现在为 true;之前为 bool。
 IntlCalendar::setRepeatedWallTimeOption返回类型现在为 true;之前为 bool。
 IntlCalendar::setSkippedWallTimeOption返回类型现在为 true;之前为 bool。
 ReflectionEnum::getBackingType返回类型现在声明为 ?ReflectionNamedType。之前,声明为 ?ReflectionType。
8.1.14SplFileObject::__toString已从 SplFileObject::fgets 的别名更改为 SplFileObject::current 的实现,当设置了 SplFileObject::READ_CSV 标志时,它会返回一个 CSV 字符串。
8.1.8DateTime::createFromFormat当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 DateTimeImmutable::createFromFormat当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 date_parse_from_format当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
8.1.0DateTime::setTime双重现有小时的行为(在秋季回退 DST 转换期间)已更改。之前 PHP 会选择第二个出现(DST 转换后),而不是第一个出现(DST 转换前)。
 DateTimeImmutable::setTime双重现有小时的行为(在秋季回退 DST 转换期间)已更改。之前 PHP 会选择第二个出现(DST 转换后),而不是第一个出现(DST 转换前)。
 DirectoryIterator::key当迭代器未初始化时,现在会抛出 Error。之前,该方法返回 false。
 DOMDocument::createComment如果发生错误,现在会抛出 DomException。之前,返回 false。
 DOMDocument::createDocumentFragment如果发生错误,现在会抛出 DomException。之前,返回 false。
 DOMDocument::createTextNode如果发生错误,现在会抛出 DomException。之前,返回 false。
 current在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。
 date_sunrise此函数已被弃用,建议使用 date_sun_info。
 date_sunset此函数已被弃用,建议使用 date_sun_info。
 dba_popenhandler 现在可以为空。
 end在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。
 exif_imagetype添加了 AVIF 支持。
 finfo_bufferfinfo 参数现在需要 finfo 实例;之前,需要资源。
 finfo_closefinfo 参数现在需要 finfo 实例;之前,需要资源。
 finfo_filefinfo 参数现在需要 finfo 实例;之前,需要资源。
 finfo_open现在返回 finfo 实例;之前,返回资源。
 finfo_set_flagsfinfo 参数现在需要 finfo 实例;之前,需要资源。
 fputcsv添加了可选的 eol 参数。
 ftp_allocftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_appendftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_cdupftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_chdirftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_chmodftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_closeftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_connect现在返回 FTP\Connection 实例;之前,返回资源。
 ftp_deleteftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_execftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_fgetftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_fputftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_getftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_get_optionftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_loginftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_mdtmftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_mkdirftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_mlsdftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_nb_continueftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_nb_fgetftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_nb_fputftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_nb_getftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_nb_putftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_nlistftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_pasvftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_putftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_pwdftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_rawftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_rawlistftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_renameftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_rmdirftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_set_optionftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_siteftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_sizeftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 ftp_ssl_connect现在返回 FTP\Connection 实例;之前,返回资源。
 ftp_systypeftp 参数现在需要 FTP\Connection 实例;之前,需要资源。
 get_html_translation_tableflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 gmp_init已为 num 字符串添加了对显式八进制前缀 0o 和 0o 的支持。还添加了当 base 为 0 时对这些前缀的解释。
 hash添加了 options 参数。
 hash_algos添加了对 MurmurHash3 和 xxHash 算法的支持。
 hash_file添加了 options 参数。
 hash_init添加了 options 参数。
 html_entity_decodeflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlentitiesflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlspecialcharsflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 htmlspecialchars_decodeflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 imagecharfont 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。
 imagecharupfont 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。
 imagefilledpolygonnum_points 参数已弃用。
 imagefontheightfont 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。
 imagefontwidthfont 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。
 imageloadfont现在返回 GdFont 实例;之前,返回 int。
 imageopenpolygonnum_points 参数已弃用。
 imagepolygonnum_points 参数已弃用。
 imagestringfont 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。
 imagestringupfont 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。
 imagetypes添加了 IMG_AVIF。
 ini_setvalue 现在可以接受任何标量类型(包括 null)。之前,只接受字符串值。
 key在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。
 ldap_addldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_add_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_add_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_bindldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_bind_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_bind_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_compareldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_connect现在返回 LDAP\Connection 实例;之前,返回资源。
 ldap_count_entriesldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_count_entriesresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_count_referencesldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_count_referencesresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_deleteldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_delete_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_delete_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_errnoldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_errorldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_exopldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_exop_passwdldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_exop_refreshldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_exop_whoamildap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_first_attributeldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_first_attributeentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_first_entryldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_first_entryresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_first_entry现在返回 LDAP\ResultEntry 实例;之前,返回资源。
 ldap_free_resultresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_get_attributesldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_get_attributesentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_get_dnldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_get_dnentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_get_entriesldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_get_entriesresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_get_optionldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_get_valuesldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_get_valuesentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_get_values_lenldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_get_values_lenentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_listldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_list现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_mod_addldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_mod_delldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_mod_replaceldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_modify_batchldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_mod_add_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_mod_add_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_mod_del_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_mod_del_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_mod_replace_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_mod_replace_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_next_attributeldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_next_attributeentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_next_entryldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_next_entryentry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。
 ldap_next_entry现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_parse_exopldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_parse_exopresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_parse_resultldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_parse_resultresult 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。
 ldap_readldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_read现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_renameldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_rename_extldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_rename_ext现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_sasl_bindldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_searchldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_search现在返回 LDAP\Result 实例;之前,返回资源。
 ldap_set_optionldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_set_rebind_procldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 ldap_unbindldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。
 mb_check_encoding使用 null 作为值或不带参数调用此函数已弃用。
 mhash

此函数已弃用。请改用 hash_*() 函数。
 mhash_count此函数已弃用。请改用 hash_*() 函数。
 mhash_get_block_size此函数已弃用。请改用 hash_*() 函数。
 mhash_get_hash_name此函数已弃用。请改用 hash_*() 函数。
 mhash_keygen_s2k此函数已弃用。请改用 hash_*() 函数。
 next在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。
 odbc_result_all此函数已被弃用。
 openssl_cms_encrypt默认的密码算法 (cipher_algo) 现在是 AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC)。之前使用的是 PKCS7/CMS (OPENSSL_CIPHER_RC2_40)。
 openssl_decrypttag 现在可以为空。
 openssl_pkcs7_encrypt默认的密码算法 (cipher_algo) 现在是 AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC)。之前使用的是 PKCS7/CMS (OPENSSL_CIPHER_RC2_40)。
 pg_affected_rowsresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_cancel_queryconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_client_encodingconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_closeconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_connect现在返回一个 PgSql\Connection 实例;之前返回的是一个资源。
 pg_connect_pollconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_connection_busyconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_connection_resetconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_connection_statusconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_consume_inputconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_convertconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_copy_fromconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_copy_toconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_dbnameconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_deleteconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_end_copyconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_escape_byteaconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_escape_identifierconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_escape_literalconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_escape_stringconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_execute现在返回一个 PgSql\Result 实例;之前返回的是一个资源。
 pg_executeconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_fetch_allresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_fetch_all_columnsresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_fetch_arrayresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_fetch_assocresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_fetch_objectresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_fetch_resultresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_fetch_rowresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_is_nullresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_nameresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_numresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_prtlenresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_sizeresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_tableresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_typeresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_field_type_oidresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_flushconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_free_resultresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_get_notifyconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_get_pidconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_get_result现在返回一个 PgSql\Result 实例;之前返回的是一个资源。
 pg_get_resultconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_hostconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_insert现在返回一个 PgSql\Result 实例;之前返回的是一个资源。
 pg_insertconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_last_errorconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_last_noticeconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_last_oidresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_lo_closelob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_lo_createconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_lo_exportconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_lo_importconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_lo_open现在返回一个 PgSql\Lob 实例;之前返回的是一个资源。
 pg_lo_openconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_lo_readlob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_lo_read_alllob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_lo_seeklob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_lo_telllob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_lo_truncatelob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_lo_unlinkconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_lo_writelob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。
 pg_meta_dataconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_num_fieldsresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_num_rowsresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_optionsconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_parameter_statusconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_pconnect现在返回一个 PgSql\Connection 实例;之前返回的是一个资源。
 pg_pingconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_portconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_prepare现在返回一个 PgSql\Result 实例;之前返回的是一个资源。
 pg_prepareconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_put_lineconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_query现在返回一个 PgSql\Result 实例;之前返回的是一个资源。
 pg_queryconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_query_params现在返回一个 PgSql\Result 实例;之前返回的是一个资源。
 pg_query_paramsconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_result_errorresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_result_error_fieldresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_result_seekresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_result_statusresult 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。
 pg_selectconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_send_executeconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_send_prepareconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_send_queryconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_send_query_paramsconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_set_client_encodingconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_set_error_verbosityconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_socketconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_traceconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_transaction_statusconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_ttyconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_untraceconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_updateconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 pg_versionconnection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。
 prev在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。
 reset在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。
 snmp3_getauth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。
 snmp3_getnextauth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。
 snmp3_real_walkauth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。
 snmp3_walkauth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。
 stream_selectmicroseconds 现在可以为空。
 strptime此函数已弃用。请改用 date_parse_from_format(用于与区域设置无关的解析),或 IntlDateFormatter::parse(用于与区域设置相关的解析)。
 IntlDateFormatter::createdateType 和 timeType 参数现在是可选的。
 MultipleIterator::current如果在无效的迭代器上调用 MultipleIterator::current,现在会抛出 RuntimeException。之前返回的是 false。
 MultipleIterator::key如果在无效的迭代器上调用 MultipleIterator::key,现在会抛出 RuntimeException。之前返回的是 false。
 mysqli_driver::$report_mode默认值现在是 MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT。之前是 MYSQLI_REPORT_OFF。
 mysqli_result::fetch_all现在在链接 libmysqlclient 时也可用。
 mysqli_stmt::execute添加了可选的 params 参数。
 mysqli_stmt::next_result现在在链接 libmysqlclient 时也可用。
 mysqli::__constructmysqli::connect 现在在成功时返回 true 而不是 null。
 mysqli::$client_info使用 mysql 参数调用 mysqli_get_client_info 已弃用。此函数从未需要参数,但错误地将其作为可选参数允许。
 mysqli::$client_info面向对象的 mysqli::get_client_info 已弃用。
 mysqli::init面向对象的 mysqli::init 方法已弃用。将对 parent::init 的调用替换为 parent::__construct。
 Phar::buildFromDirectoryPhar::buildFromDirectory 不再返回 false。
 Phar::buildFromIteratorPhar::buildFromIterator 不再返回 false。
 PharData::buildFromDirectoryPharData::buildFromDirectory 不再返回 false。
 PharData::buildFromIteratorPharData::buildFromIterator 不再返回 false。
 ReflectionFunctionAbstract::isStatic此方法已被提升。之前,它仅在 ReflectionMethod 中定义。
 ReflectionClassConstant::getName如果 name 属性未初始化,则抛出 Error。之前,该方法在失败时返回 false。
 ReflectionExtension::__clone此方法不再是 final 的。
 ReflectionFunctionAbstract::__clone此方法不再是 final 的。
 ReflectionParameter::__clone此方法不再是 final 的。
 ReflectionProperty::__clone此方法不再是 final 的。
 ReflectionProperty::getValue私有和受保护的属性可以立即通过 ReflectionProperty::getValue 访问。之前,需要通过调用 ReflectionProperty::setAccessible 使它们可访问;否则会抛出 ReflectionException。
 ReflectionProperty::setValue私有和受保护的属性可以立即通过 ReflectionProperty::setValue 访问。之前,需要通过调用 ReflectionProperty::setAccessible 使它们可访问;否则会抛出 ReflectionException。
 ReflectionZendExtension::__clone此方法不再是 final 的。
 SimpleXMLElement::current如果在无效的迭代器上调用 SimpleXMLElement::current,现在会抛出 Error。之前返回的是 null。
 SimpleXMLElement::key如果在无效的迭代器上调用 SimpleXMLElement::key,现在会抛出 Error。之前返回的是 false。
 SplFileObject::fputcsv添加了可选的 eol 参数。
 SplObjectStorage::current如果当前位置无效,SplObjectStorage::current 现在会抛出 Error 异常。之前返回的是 false。
 SQLite3Result::finalize如果对象未正确初始化,此方法现在会抛出 Error 异常。之前返回的是 false。
 SQLite3Stmt::close如果对象未正确初始化,此方法现在会抛出 Error 异常。之前返回的是 false。
8.0.21DateTime::createFromFormat当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 DateTimeImmutable::createFromFormat当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
 date_parse_from_format当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。
8.0.5imageinterlaceimageinterlace 现在返回一个 bool;之前返回的是一个 int(交错图像为非零,否则为零)。
8.0.3DOMDocument::getElementsByTagNameNSnamespace 现在可以为空。
 DOMElement::getElementsByTagNameNSnamespace 现在可以为空。
 DOMImplementation::createDocumentnamespace 现在可以为空。
 finfo::__constructmagic_database 现在可以为空。
 bind_textdomain_codesetcodeset 现在可以为空。之前无法检索当前设置的编码。
 bindtextdomaindirectory 现在可以为空。之前无法检索当前设置的目录。
 finfo_openmagic_database 现在可以为空。
 imagegdfile 现在可以为空。
 imagegd2file 现在可以为空。
 SoapClient::__setLocationlocation 现在可以为空。
 SoapVar::__constructtypeName、typeNamespace、nodeName 和 nodeNamespace 现在可以为空。
8.0.0CURLFile::__constructmime_type 和 posted_filename 现在可以为空;之前它们的默认值为 0。
 DateInterval::__constructW 可以与 D 组合。
 DateTime::createFromImmutable该方法现在返回当前调用的类的实例。之前,它创建了一个新的 DateTime 实例。
 DateTimeInterface::format添加了格式字符 p。
 DateTimeInterface::getTimestamp这些函数在失败时不再返回 false。
 DateTimeImmutable::createFromMutable该方法现在返回当前调用的类的实例。之前,它创建了一个新的 DateTimeImmutable 实例。
 DateTimeZone::listIdentifiers在此版本之前,在失败时返回 false。
 Directory::close不接受任何参数。之前,可以将目录句柄作为参数传递。
 Directory::read不接受任何参数。之前,可以将目录句柄作为参数传递。
 Directory::rewind不接受任何参数。之前,可以将目录句柄作为参数传递。
 DirectoryIterator::__construct如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。
 DOMDocument::load现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 DOMDocument::loadHTML现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 DOMDocument::loadHTMLFile现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 DOMDocument::loadXML现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 DOMImplementation::createDocumentdoctype 现在可以为空。
 DOMImplementation::createDocument现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 DOMImplementation::createDocumentType现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 DOMImplementation::hasFeature现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。
 FFI::cdeflib 现在可以为空。
 FFI::stringsize 现在可以为空;之前,其默认值为 0。
 FilesystemIterator::__construct如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。
 absnum 不再接受支持数字转换的内部对象。
 apache_notenote_value 现在可以为空。
 array_chunk如果 length 小于 1,现在会抛出 ValueError;之前,会改为引发 E_WARNING 级别错误,并且函数返回 null。
 array_columnindex_key 参数指示的列中的对象将不再强制转换为字符串,而是会抛出 TypeError。
 array_combine如果每个数组的元素数量不相等,array_combine 现在会抛出 ValueError;之前此函数返回 false。
 array_diff此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_diff_assoc此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_diff_key此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_fill如果 count 超出范围,array_fill 现在会抛出 ValueError;之前会引发 E_WARNING,并且函数返回 false。
 array_filtercallback 现在可以为空。
 array_filter如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。
 array_intersect此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_intersect_assoc此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_intersect_key此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_key_existskey 参数现在接受 bool、float、int、null、resource 和 string 作为参数。
 array_map如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。
 array_rand如果 num 超出范围,array_rand 现在会抛出 ValueError;之前会引发 E_WARNING,并且函数返回 null。
 array_rand如果 array 为空,array_rand 现在会抛出 ValueError;之前会引发 E_WARNING,并且函数返回 null。
 array_reduce如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。
 array_splicelength 现在可以为空。
 array_walk如果 callback 期望将第二个或第三个参数按引用传递,此函数现在会发出 E_WARNING。
 assertassert 将不再评估字符串参数,而是将它们视为任何其他参数。应使用 assert($a == $b) 而不是 assert('$a == $b')。assert.quiet_eval php.ini 指令以及 ASSERT_QUIET_EVAL 常量也已被移除,因为它们不再有任何作用。
 assert如果 description 是 Throwable 的实例,则如果断言失败,无论 assert.exception 的值如何,都会抛出该对象。
 assert如果 description 是 Throwable 的实例,即使设置了用户回调,也不会调用它。
 assert在命名空间内声明名为 assert() 的函数不再允许,并且会发出 E_COMPILE_ERROR。
 assert_options如果 option 不是有效的选项,现在会抛出 ValueError。之前返回的是 false。
 bcaddscale 现在可以为空。
 bccompscale 现在可以为空。
 bcdivscale 现在可以为空。
 bcdiv现在会抛出 DivisionByZeroError 异常而不是返回 null。
 bcmodscale 现在可以为空。
 bcmod现在会抛出 DivisionByZeroError 异常而不是返回 null。
 bcmulscale 现在可以为空。
 bcpow当 exponent 有小数部分时,现在会抛出 ValueError 而不是截断。
 bcpowmodscale 现在可以为空。
 bcpowmod如果 exponent 是负值,现在会抛出 ValueError 而不是返回 false。
 bcpowmod现在会抛出 DivisionByZeroError 异常而不是返回 false。
 bcscalescale 现在可以为空。
 bcsqrt如果 num 不是格式良好的 BCMath 数字字符串,或小于 0,则会抛出 ValueError。之前,会改为引发 E_WARNING。
 bcsqrtscale 现在需要在 0 到 2147483647 之间;之前,负缩放比例会静默地视为 0。
 bcsqrtscale 现在可以为空。
 bcsubscale 现在可以为空。
 bzdecompressuse_less_memory 的类型已从 int 更改为 bool。之前,默认值为 0。
 bzwritelength 现在可以为空。
 call_user_func_arrayargs 键现在将被解释为参数名称,而不是被静默忽略。
 ceilnum 不再接受支持数字转换的内部对象。
 com_event_sinksink_interface 现在可以为空。
 com_get_active_objectcodepage 现在可以为空。
 compact如果给定的字符串引用了一个未设置的变量,现在会发出 E_WARNING 级别错误。
 constant如果常量未定义,constant 现在会抛出 Error 异常;之前会生成 E_WARNING,并返回 null。
 convert_uuencode在此版本之前,尝试转换空字符串会无缘无故地返回 false。
 countcount 现在会在传递给 value 参数的无效可计数类型上抛出 TypeError。
 count_chars在此版本之前,该函数在失败时返回 false。
 cryptsalt 不再是可选的。
 curl_closehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_copy_handlehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_copy_handle成功时,此函数现在返回一个 CurlHandle 实例;之前返回的是一个资源。
 curl_errnohandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_errorhandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_escapehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_exec

handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_getinfohandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_getinfooption 现在可以为 null;之前,默认值为 0。
 curl_init成功时,此函数现在返回一个 CurlHandle 实例;之前返回的是一个资源。
 curl_initurl 现在可以为 null。
 curl_multi_add_handlemulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_add_handlehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_multi_closemulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_errno该函数在失败时不再返回 false。
 curl_multi_errnomulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_execmulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_getcontenthandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_multi_info_readmulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_init成功时,此函数现在返回一个 CurlMultiHandle 实例;之前,返回一个资源。
 curl_multi_remove_handlemulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_remove_handlehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_multi_selectmulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_multi_setoptmulti_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。
 curl_pausehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_resethandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_setopthandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_setopt_arrayhandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_share_closeshare_handle 现在期望一个 CurlShareHandle 实例;之前,期望一个资源。
 curl_share_errno该函数在失败时不再返回 false。
 curl_share_errnoshare_handle 现在期望一个 CurlShareHandle 实例;之前,期望一个资源。
 curl_share_init此函数现在返回一个 CurlShareHandle 实例;之前,返回一个资源。
 curl_share_setoptshare_handle 现在期望一个 CurlShareHandle 实例;之前,期望一个资源。
 curl_unescapehandle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。
 curl_version可选参数 age 已被移除。
 datetimestamp 现在可以为 null。
 date_sunriselatitude、longitude、zenith 和 utcOffset 现在可以为 null。
 date_sunsetlatitude、longitude、zenith 和 utcOffset 现在可以为 null。
 define将 true 传递给 case_insensitive 现在会发出 E_WARNING。仍然允许传递 false。
 deflate_addcontext 现在期望一个 DeflateContext 实例;之前,期望一个资源。
 deflate_init成功时,此函数现在返回一个 DeflateContext 实例;之前,返回一个资源。
 dircontext 现在可以为 null。
 dom_import_simplexml此函数在失败时不再返回 null。
 easter_dateyear 现在可以为 null。
 easter_date当 year 超出允许范围时,现在会抛出 ValueError。之前,会发出 E_WARNING 并返回 false。
 easter_daysyear 现在可以为 null。
 enchant_broker_describebroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_describe在此版本之前,该函数在失败时返回 false。
 enchant_broker_dict_existsbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_free此函数已被弃用,建议使用 unset 对象。
 enchant_broker_freebroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_free_dict此函数已被弃用,建议使用 unset 对象。
 enchant_broker_free_dictdictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_broker_get_dict_path此函数已被弃用。
 enchant_broker_get_dict_pathbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_get_errorbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_init成功时,此函数现在返回一个 EnchantBroker 实例;之前,返回一个资源。
 enchant_broker_list_dictsbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_list_dicts在此版本之前,该函数在失败时返回 false。
 enchant_broker_request_dictbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_request_dict成功时,此函数现在返回一个 EnchantDictionary 实例;之前,返回一个资源。
 enchant_broker_request_pwl_dictbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_request_pwl_dict成功时,此函数现在返回一个 EnchantDictionary 实例;之前,返回一个资源。
 enchant_broker_set_dict_path此函数已被弃用。
 enchant_broker_set_dict_pathbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_broker_set_orderingbroker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。
 enchant_dict_adddictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_add_to_sessiondictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_checkdictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_describedictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_describe在此版本之前,该函数在失败时返回 false。
 enchant_dict_get_errordictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_is_addeddictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_quick_checkdictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_store_replacementdictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 enchant_dict_suggestdictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。
 error_logdestination 和 additional_headers 现在可以为 null。
 error_reportingerror_level 现在可以为 null。
 exec如果 command 为空或包含空字节,exec 现在会抛出 ValueError。之前会发出 E_WARNING 并返回 false。
 exif_read_datarequired_sections 现在可以为 null。
 explode当 separator 参数被赋予空字符串("") 时,explode 现在会抛出 ValueError。之前,explode 返回 false。
 fgetcsvlength 现在可以为 null。
 file_get_contentslength 现在可以为空。
 finfo_buffercontext 现在可以为 null。
 finfo_filecontext 现在可以为 null。
 floatval从对象转换时的错误级别已从 E_NOTICE 更改为 E_WARNING。
 floornum 不再接受支持数字转换的内部对象。
 fprintf该函数在失败时不再返回 false。
 fprintf如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。
 fprintf如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 fprintf如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 fprintf当提供的参数少于所需参数时,抛出 ArgumentCountError;之前此函数会发出 E_WARNING。
 fsockopentimeout 现在可以为 null。
 fwritelength 现在可以为空。
 get_called_class在类外部调用此函数,现在会抛出 Error。之前,会发出 E_WARNING 并返回 false。
 get_class在类外部调用此函数,且不带任何参数,现在会抛出 Error。之前,会发出 E_WARNING 并返回 false。
 get_class_methodsobject_or_class 参数现在只接受对象或有效的类名。
 get_defined_functionsexclude_disabled 参数的默认值已从 false 更改为 true。
 get_headers关联数组类型已从 int 更改为 bool。
 get_parent_classobject_or_class 参数现在只接受对象或有效的类名。
 get_resourcestype 现在可以为 null。
 getdatetimestamp 现在可以为 null。
 getenvname 现在可以为 null。
 gmdatetimestamp 现在可以为 null。
 gmmktimehour 不再是可选参数。如果您需要 Unix 时间戳,请使用 time。
 gmmktimeminute、second、month、day 和 year 现在可以为 null。
 gmp_binomial该函数在失败时不再返回 false。
 gmp_export该函数在失败时不再返回 false。
 gmp_import该函数在失败时不再返回 false。
 gmp_random_seed如果 seed 无效,gmp_random_seed 现在会抛出 ValueError。之前会发出 E_WARNING 并返回 false。
 gmstrftimetimestamp 现在可以为 null。
 grapheme_substr该函数现在始终将超出范围的偏移量钳位到字符串边界。之前,在某些情况下会返回 false 而不是空字符串。
 gzgetslength 现在可以为 null;之前,默认值为 1024。
 gzwritelength 现在可以为 null;之前,默认值为 0。
 hash如果 algo 未知,hash 现在会抛出 ValueError 异常;之前,会返回 false。
 hash_hkdf现在在错误时抛出 ValueError 异常。之前,会返回 false 并发出 E_WARNING 消息。
 hash_hmac如果 algo 未知或是非加密哈希函数,现在会抛出 ValueError 异常;之前,会返回 false。
 hash_hmac_file如果 algo 未知或是非加密哈希函数,现在会抛出 ValueError 异常;之前,会返回 false。
 hash_init如果 algo 未知或是非加密哈希函数,或者 key 为空,现在会抛出 ValueError 异常。之前,会返回 false 并发出 E_WARNING 消息。
 hash_pbkdf2现在在错误时抛出 ValueError 异常。之前,会返回 false 并发出 E_WARNING 消息。
 hash_update_filestream_context 现在可以为 null。
 header_removename 现在可以为 null。
 html_entity_decodeencoding 现在可以为 null。
 htmlentitiesencoding 现在可以为 null。
 http_build_queryarg_separator 现在可以为 null。
 iconv_mime_decodeencoding 现在可以为 null。
 iconv_mime_decode_headersencoding 现在可以为 null。
 iconv_strlenencoding 现在可以为 null。
 iconv_strposencoding 现在可以为 null。
 iconv_strrposencoding 现在可以为 null。
 iconv_substrlength 和 encoding 现在可以为 null。
 idatetimestamp 现在可以为 null。
 ignore_user_abortenable 现在可以为 null。
 imageaffineclip 现在可以为 null。
 imageaffine成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagealphablendingimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imageantialiasimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagearcimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagebmpimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagebmpcompressed 的类型现在是 bool;之前是 int。
 imagecharimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecharupimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorallocateimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorallocatealphaimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecoloratimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorclosestimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorclosesthwbimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolordeallocateimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorexactimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorexactalphaimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolormatchimage1 和 image2 现在期望 GdImage 实例;之前,期望资源。
 imagecolorresolveimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorresolvealphaimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorsetimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorsforindeximage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolorsforindex如果 color 超出范围,imagecolorsforindex 现在会抛出 ValueError 异常;之前,会返回 false。
 imagecolorstotalimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolortransparentimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecolortransparentcolor 现在可以为 null。
 imageconvolutionimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecopydst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。
 imagecopymergedst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。
 imagecopymergegraydst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。
 imagecopyresampleddst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。
 imagecopyresizeddst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。
 imagecreate成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefrombmp成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromgd成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromgd2成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromgd2part成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromgif成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromjpeg成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefrompng成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromstring成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromtga成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromwbmp成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromwebp成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromxbm成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatefromxpm成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecreatetruecolor成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecropimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecrop成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagecropautoimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagecropauto成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagedashedlineimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagedestroy此函数现在是 NOP。
 imagedestroyimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imageellipseimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefillimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefilledarcimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefilledellipseimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefilledpolygonimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefilledrectangleimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefilltoborderimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefilterimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imageflipimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagefttextimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegammacorrectimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegdimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegd2image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegetclipimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegetinterpolationimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegifimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagegrabscreen成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagegrabwindow成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagegrabwindowclient_area 现在期望一个 bool;之前期望一个 int。
 imageinterlaceimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imageinterlaceenable 现在期望一个 bool;之前期望一个 int。
 imageistruecolorimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagejpegimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagelayereffectimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagelineimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imageopenpolygonimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagepalettecopydst 和 src 现在期望 GdImage 实例;之前,期望资源。
 imagepalettetotruecolorimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagepngimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagepolygonimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagerectangleimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imageresolutionresolution_x 和 resolution_y 现在可以为 null。
 imagerotate成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagerotateimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagerotate未使用的 ignore_transparent 现在期望一个 bool;之前期望一个 int。
 imagesavealphaimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagescale成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。
 imagescaleimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesetbrushimage 和 brush 现在期望 GdImage 实例;之前,期望资源。
 imagesetclipimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesetinterpolationimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesetpixelimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesetthicknessimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesettileimage 和 tile 现在期望 GdImage 实例;之前,期望资源。
 imagestringimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagestringupimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesximage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagesyimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagetruecolortopaletteimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagettfbbox已添加 options 参数。
 imagettftext已添加 options 参数。
 imagewbmpimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagewbmpforeground_color 现在可以为 null。
 imagewebpimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagexbmimage 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。
 imagexbmforeground_color 现在可以为 null。
 imagexbm已移除第四个参数(未使用)。
 implode不再支持在数组之后传递 separator。
 inflate_addcontext 现在期望一个 InflateContext 实例;之前,期望一个资源。
 inflate_get_read_lencontext 现在期望一个 InflateContext 实例;之前,期望一个资源。
 inflate_get_statuscontext 现在期望一个 InflateContext 实例;之前,期望一个资源。
 inflate_init成功时,此函数现在返回一个 InflateContext 实例;之前,返回一个资源。
 intval从对象转换时的错误级别已从 E_NOTICE 更改为 E_WARNING。
 is_numeric以空格结尾的数字字符串("42 ")现在将返回 true。之前,会返回 false。
 jdtounix此函数在失败时不再返回 false,而是抛出 ValueError。
 ldap_addcontrols 现在可以为 null;之前,默认为 []。
 ldap_add_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_bind_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_comparecontrols 现在可以为 null;之前,默认为 []。
 ldap_control_paged_result此函数已被移除。
 ldap_control_paged_result_response此函数已被移除。
 ldap_deletecontrols 现在可以为 null;之前,默认为 []。
 ldap_delete_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_exop_passwdcontrols 现在可以为 null;之前,默认为 []。
 ldap_first_attribute不再接受未使用的第三个参数 ber_identifier。
 ldap_listcontrols 现在可以为 null;之前,默认为 []。
 ldap_mod_addcontrols 现在可以为 null;之前,默认为 []。
 ldap_mod_delcontrols 现在可以为 null;之前,默认为 []。
 ldap_mod_replacecontrols 现在可以为 null;之前,默认为 []。
 ldap_modify_batchcontrols 现在可以为 null;之前,默认为 []。
 ldap_mod_add_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_mod_del_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_mod_replace_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_next_attribute不再接受未使用的第三个参数 ber_identifier。
 ldap_readcontrols 现在可以为 null;之前,默认为 []。
 ldap_renamecontrols 现在可以为 null;之前,默认为 []。
 ldap_rename_extcontrols 现在可以为 null;之前,默认为 []。
 ldap_sasl_binddn、password、mech、realm、authc_id、authz_id 和 props 现在可以为 null。
 ldap_searchcontrols 现在可以为 null;之前,默认为 []。
 ldap_set_rebind_proccallback 现在可以为空。
 ldap_sort此函数已被移除。
 levenshtein

在此版本之前,levenshtein 函数必须使用两个或五个参数调用。
 levenshtein

在此版本之前,如果某个参数字符串的长度超过 255 个字符,levenshtein 函数将返回 -1。
 libxml_disable_entity_loader此函数已被弃用。
 libxml_use_internal_errorsuse_errors 参数现在可以为 null。之前,其默认值为 false。
 localtimetimestamp 现在可以为 null。
 maxmax 函数现在在失败时抛出 ValueError 异常;之前,它会返回 false 并发出 E_WARNING 错误。
 max由于字符串到数字的比较方式发生了变化,max 函数在这种情况下不再根据参数顺序返回不同的值。
 mb_check_encodingvalue 和 encoding 参数现在可以为 null。
 mb_chrencoding 现在可以为 null。
 mb_convert_encoding当 to_encoding 参数传递无效编码时,mb_convert_encoding 函数现在将抛出 ValueError 异常。
 mb_convert_encoding当 from_encoding 参数传递无效编码时,mb_convert_encoding 函数现在将抛出 ValueError 异常。
 mb_convert_encodingfrom_encoding 参数现在可以为 null。
 mb_convert_kanaencoding 现在可以为 null。
 mb_decode_numericentityencoding 现在可以为 null。
 mb_detect_orderencoding 现在可以为 null。
 mb_encode_mimeheadercharset 和 transfer_encoding 参数现在可以为 null。
 mb_encode_numericentityencoding 现在可以为 null。
 mb_encoding_aliases如果编码未知,现在将抛出 ValueError 异常;之前会发出 E_WARNING 错误,并且函数返回 false。
 mb_ereg此函数现在在成功时返回 true。之前,如果在字符串中找到模式的匹配项并且传递了 matches 参数,则它会返回匹配字符串的字节长度。如果省略可选参数 matches 或匹配字符串的长度为 0,则此函数返回 1。
 mb_ereg_matchoptions 参数现在可以为 null。
 mb_ereg_replaceoptions 参数现在可以为 null。
 mb_ereg_replace_callbackoptions 参数现在可以为 null。
 mb_ereg_searchpattern 和 options 参数现在可以为 null。
 mb_ereg_search_initpattern 和 options 参数现在可以为 null。
 mb_ereg_search_pospattern 和 options 参数现在可以为 null。
 mb_ereg_search_regspattern 和 options 参数现在可以为 null。
 mb_eregi此函数现在在成功时返回 true。之前,如果在字符串中找到模式的匹配项并且传递了 matches 参数,则它会返回匹配字符串的字节长度。如果省略可选参数 matches 或匹配字符串的长度为 0,则此函数返回 1。
 mb_eregi_replaceoptions 参数现在可以为 null。
 mb_get_info"func_overload" 和 "func_overload_list" 类型不再受支持。
 mb_http_inputtype 现在可以为 null。
 mb_http_outputencoding 现在可以为 null。
 mb_internal_encodingencoding 现在可以为 null。
 mb_internal_encoding如果 encoding 是无效编码,现在将抛出 ValueError 异常。之前会发出 E_WARNING 错误。
 mb_languagelanguage 参数现在可以为 null。
 mb_ordencoding 现在可以为 null。
 mb_parse_str第二个参数不再是可选的。
 mb_regex_encodingencoding 现在可以为 null。
 mb_regex_set_options如果提供了 options 参数且不为 null,则返回之前的选项。以前,会返回当前选项。
 mb_regex_set_optionsoptions 参数现在可以为 null。
 mb_regex_set_options"e" 选项现在会抛出 ValueError 异常。
 mb_scrubencoding 现在可以为 null。
 mb_send_mailadditional_params 参数现在可以为 null。
 mb_str_splitencoding 现在可以为 null。
 mb_str_split该函数在失败时不再返回 false。
 mb_strcutencoding 现在可以为 null。
 mb_strimwidthencoding 现在可以为 null。
 mb_striposneedle 参数现在可以接受空字符串。
 mb_striposencoding 现在可以为 null。
 mb_stristrneedle 参数现在可以接受空字符串。
 mb_stristrencoding 现在可以为 null。
 mb_strlenencoding 现在可以为 null。
 mb_strposneedle 参数现在可以接受空字符串。
 mb_strposencoding 现在可以为 null。
 mb_strrchrneedle 参数现在可以接受空字符串。
 mb_strrchrencoding 现在可以为 null。
 mb_strrichrneedle 参数现在可以接受空字符串。
 mb_strrichrencoding 现在可以为 null。
 mb_strriposneedle 参数现在可以接受空字符串。
 mb_strriposencoding 现在可以为 null。
 mb_strrposneedle 参数现在可以接受空字符串。
 mb_strrpos不再支持将编码作为第三个参数而不是偏移量传递。
 mb_strrposencoding 现在可以为 null。
 mb_strstrneedle 参数现在可以接受空字符串。
 mb_strstrencoding 现在可以为 null。
 mb_strwidthencoding 现在可以为 null。
 mb_substitute_character不再支持将空字符串传递给 substitute_character 参数;应改为传递 "none"。
 mb_substitute_characterencoding 现在可以为 null。
 mb_substrencoding 现在可以为 null。
 mb_substr_countencoding 现在可以为 null。
 metaphone该函数在失败时返回 false。
 mhash

key 参数现在可以为 null。
 minmin 函数现在在失败时抛出 ValueError 异常;之前,它会返回 false 并发出 E_WARNING 错误。
 min由于字符串到数字的比较方式发生了变化,min 函数在这种情况下不再根据参数顺序返回不同的值。
 mktimehour 不再是可选参数。如果您需要 Unix 时间戳,请使用 time。
 mktimeminute、second、month、day 和 year 现在可以为 null。
 msg_get_queue成功时,此函数现在返回 SysvMessageQueue 实例;之前,它返回一个资源。
 msg_receivequeue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。
 msg_remove_queuequeue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。
 msg_sendqueue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。
 msg_set_queuequeue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。
 msg_stat_queuequeue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。
 number_format在此版本之前,number_format 函数接受一个、两个或四个参数(但不接受三个)。
 ob_implicit_flushenable 参数现在期望一个布尔值;之前,它期望一个整数。
 odbc_columnsschema、table 和 column 参数现在可以为 null。
 odbc_errorodbc 参数现在可以为 null。
 odbc_errormsgodbc 参数现在可以为 null。
 odbc_execflags 参数已移除。
 odbc_execute已移除未使用的 flags 参数。
 odbc_fetch_rowrow 现在可以为空。
 odbc_procedurecolumns在此版本之前,该函数只能使用一个或五个参数调用。
 odbc_procedures在此版本之前,该函数只能使用一个或四个参数调用。
 odbc_tablesschema、table 和 types 参数现在可以为 null。
 opendircontext 现在可以为 null。
 openssl_csr_exportcsr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_csr_export_to_filecsr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_csr_get_public_key成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。
 openssl_csr_get_public_keycsr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_csr_get_subjectcsr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_csr_new成功时,此函数现在返回 OpenSSLCertificateSigningRequest 实例;之前,它返回 OpenSSL X.509 CSR 类型的资源。
 openssl_csr_newprivate_key 参数现在接受 OpenSSLAsymmetricKey 实例;之前,它接受 OpenSSL key 类型的资源。
 openssl_csr_sign成功时,此函数现在返回 OpenSSLCertificate 实例;之前,它返回 OpenSSL X.509 类型的资源。
 openssl_csr_signcsr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_csr_signca_certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_csr_signprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_dh_compute_keyprivate_key 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。
 openssl_free_key此函数现在已弃用,因为它不再有任何作用。
 openssl_free_keykey 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。
 openssl_openprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 CSR 类型的资源。
 openssl_opencipher_algo 参数不再是可选参数。
 openssl_pkcs7_decryptprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 CSR 类型的资源。
 openssl_pkcs7_encryptcertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_pkcs7_signcertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_pkcs7_signprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 CSR 类型的资源。
 openssl_pkcs7_verifysigners_certificates_filename、untrusted_certificates_filename、content 和 output_filename 参数现在可以为 null。
 openssl_pkcs12_exportcertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_pkcs12_exportprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_pkcs12_export_to_filecertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。
 openssl_pkcs12_export_to_fileprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_pkey_exportkey 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_pkey_export_to_filekey 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_pkey_free此函数现在已弃用,因为它不再有任何作用。
 openssl_pkey_freekey 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。
 openssl_pkey_get_detailskey 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。
 openssl_pkey_get_private成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。
 openssl_pkey_get_privateprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_pkey_get_privatepassphrase 参数现在可以为 null。
 openssl_pkey_get_public成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。
 openssl_pkey_get_publicpublic_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_pkey_new成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。
 openssl_private_decryptprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_private_encryptprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_public_decryptpublic_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_public_encryptpublic_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_random_pseudo_bytesstrong_result 参数现在可以为 null。
 openssl_sealpublic_key 参数现在接受 OpenSSLAsymmetricKey 实例数组;之前,它接受 OpenSSL key 类型的资源数组。
 openssl_sealcipher_algo 参数不再是可选参数。
 openssl_sealiv 参数现在可以为 null。
 openssl_signprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_spki_newprivate_key 参数现在接受 OpenSSLAsymmetricKey 实例;之前,它接受 OpenSSL key 类型的资源。
 openssl_verifypublic_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_x509_check_private_keycertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_check_private_keyprivate_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 openssl_x509_checkpurposecertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_checkpurposeuntrusted_certificates_file 参数现在可以为 null。
 openssl_x509_exportcertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_export_to_filecertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_fingerprintcertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_free此函数现在已弃用,因为它不再有任何作用。
 openssl_x509_freecertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_parsecertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_read成功时,此函数现在返回 OpenSSLCertificate 实例;之前,它返回 OpenSSL X.509 类型的资源。
 openssl_x509_readcertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_verifycertificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。
 openssl_x509_verifypublic_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。
 pack该函数在失败时不再返回 false。
 parse_strresult 参数不再是可选的。
 parse_urlparse_url 函数现在将区分不存在和为空的查询和片段。
 passthru如果 command 为空或包含空字节,passthru 函数现在将抛出 ValueError 异常。之前,它会发出 E_WARNING 错误并返回 false。
 password_hashpassword_hash 函数在失败时不再返回 false,如果密码哈希算法无效,则会抛出 ValueError 异常,如果密码哈希由于未知错误而失败,则会抛出 Error 异常。
 password_hashalgo 参数现在可以为 null。
 pcntl_async_signalsenable 现在可以为 null。
 pcntl_getpriorityprocess_id 参数现在可以为 null。
 pcntl_setpriorityprocess_id 参数现在可以为 null。
 pfsockopentimeout 现在可以为 null。
 pg_client_encodingconnection 参数现在可以为 null。
 pg_closeconnection 参数现在可以为 null。
 pg_dbnameconnection 参数现在可以为 null。
 pg_end_copyconnection 参数现在可以为 null。
 pg_fetch_allpg_fetch_all 函数现在将为零行结果集返回空数组,而不是 false。
 pg_hostconnection 参数现在可以为 null。
 pg_last_errorconnection 参数现在可以为 null。
 pg_lo_writelength 现在可以为 null。
 pg_optionsconnection 参数现在可以为 null。
 pg_pingconnection 参数现在可以为 null。
 pg_portconnection 参数现在可以为 null。
 pg_traceconnection 参数现在可以为 null。
 pg_ttyconnection 参数现在可以为 null。
 pg_untraceconnection 参数现在可以为 null。
 pg_versionconnection 参数现在可以为 null。
 phpversionextension 参数现在可以为 null。
 printf该函数在失败时不再返回 false。
 printf如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。
 printf如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 printf如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 printf当提供的参数少于所需参数时,抛出 ArgumentCountError;之前此函数会发出 E_WARNING。
 readdirdir_handle 参数现在可以为 null。
 readline_infovar_name 和 value 参数现在可以为 null。
 readline_read_historyfilename 参数现在可以为 null。
 readline_write_historyfilename 参数现在可以为 null。
 rewinddirdir_handle 参数现在可以为 null。
 roundnum 不再接受支持数字转换的内部对象。
 sapi_windows_vt100_supportenable 现在可以为空。
 scandircontext 现在可以为 null。
 sem_acquiresemaphore 参数现在期望一个 SysvSemaphore 实例;之前,它期望一个资源。
 sem_get成功时,此函数现在返回 SysvSemaphore 实例;之前,它返回一个资源。
 sem_getauto_release 参数的类型已从 int 更改为 bool。
 sem_releasesemaphore 参数现在期望一个 SysvSemaphore 实例;之前,它期望一个资源。
 sem_removesemaphore 参数现在期望一个 SysvSemaphore 实例;之前,它期望一个资源。
 session_cache_expirevalue 参数现在可以为 null。
 session_cache_limitervalue 参数现在可以为 null。
 session_idid 参数现在可以为 null。
 session_module_namemodule 参数现在可以为 null。
 session_namename 现在可以为 null。
 session_save_pathpath 参数现在可以为 null。
 session_set_cookie_paramspath、domain、secure 和 httponly 参数现在可以为 null。
 set_error_handlererrcontext 参数已移除,并且不再传递给用户回调函数。
 shm_attach成功时,此函数现在返回 SysvSharedMemory 实例;之前,它返回一个资源。
 shm_attachsize 参数现在可以为 null。
 shm_detachshm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。
 shm_get_varshm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。
 shm_has_varshm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。
 shm_put_varshm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。
 shm_removeshm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。
 shm_remove_varshm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。
 shmop_close此函数已弃用,因为它不再有任何作用。
 shmop_closeshmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。
 shmop_deleteshmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。
 shmop_open成功时,此函数现在返回一个 Shmop 实例;之前,它返回一个资源。
 shmop_open如果 mode 无效或 size 小于或等于零,则会抛出 ValueError 异常;之前会发出 E_WARNING 错误,并且函数返回 false。
 shmop_read

shmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。
 shmop_read

如果偏移量或大小超出范围,则会抛出 ValueError;以前会发出 E_WARNING,并返回 false。
 shmop_sizeshmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。
 shmop_write在 PHP 8.0.0 之前,失败时返回 false。
 shmop_writeshmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。
 sleep该函数在秒数为负时抛出 ValueError;以前,会引发 E_WARNING,并且函数返回 false。
 socket_accept成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 socket_addrinfo_bind成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 socket_addrinfo_bindaddress 现在是 AddressInfo 实例;以前,它是一个资源。
 socket_addrinfo_connect成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 socket_addrinfo_connectaddress 现在是 AddressInfo 实例;以前,它是一个资源。
 socket_addrinfo_explainaddress 现在是 AddressInfo 实例;以前,它是一个资源。
 socket_addrinfo_lookup成功时,此函数现在返回一个 AddressInfo 实例数组;以前,返回一个资源数组。
 socket_addrinfo_lookupservice 现在可以为 null。
 socket_bindsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_clear_errorsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_clear_errorsocket 现在可以为 null。
 socket_closesocket 现在是 Socket 实例;以前,它是一个资源。
 socket_connectsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_connectport 现在可以为 null。
 socket_create成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 socket_create_listen成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 socket_create_pairpair 现在是对 Socket 实例数组的引用;以前,是对资源数组的引用。
 socket_export_streamsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_get_optionsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_getpeernamesocket 现在是 Socket 实例;以前,它是一个资源。
 socket_getsocknamesocket 现在是 Socket 实例;以前,它是一个资源。
 socket_import_stream成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 socket_last_errorsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_last_errorsocket 现在可以为 null。
 socket_listensocket 现在是 Socket 实例;以前,它是一个资源。
 socket_readsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_recvsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_recvfromsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_recvmsgsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_sendsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_sendmsgsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_sendtosocket 现在是 Socket 实例;以前,它是一个资源。
 socket_sendtoport 现在可以为 null。
 socket_set_blocksocket 现在是 Socket 实例;以前,它是一个资源。
 socket_set_nonblocksocket 现在是 Socket 实例;以前,它是一个资源。
 socket_set_optionsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_shutdownsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_writesocket 现在是 Socket 实例;以前,它是一个资源。
 socket_writelength 现在可以为空。
 socket_wsaprotocol_info_exportsocket 现在是 Socket 实例;以前,它是一个资源。
 socket_wsaprotocol_info_import成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。
 soundex在此版本之前,使用空字符串调用该函数会无缘无故返回 false。
 spl_autoloadfile_extensions 现在可以为 null。
 spl_autoload_extensionsfile_extensions 现在可以为 null。
 spl_autoload_functions返回值已更新为始终为数组;以前,如果未激活自动加载队列,则此函数返回 false。
 spl_autoload_registercallback 现在可以为 null。
 sprintf该函数在失败时不再返回 false。
 sprintf如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。
 sprintf如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 sprintf如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 sprintf当提供的参数少于所需参数时,抛出 ArgumentCountError;之前此函数会发出 E_WARNING。
 str_split如果 length 小于 1,则现在会抛出 ValueError;以前,会引发 E_WARNING 级别错误,并且函数返回 false。
 str_word_countcharacters 现在可以为 null。
 strcspnlength 现在可以为空。
 stream_context_createoptions 和 params 现在可以为 null。
 stream_context_get_defaultoptions 现在可以为 null。
 stream_copy_to_streamlength 现在可以为 null。
 stream_get_contentslength 现在可以为 null。
 stream_set_chunk_size如果 size 小于 1 或大于 PHP_INT_MAX,则现在会抛出 ValueError。以前,会发出 E_WARNING 级别错误,并返回 false。
 stream_socket_accepttimeout 现在可以为 null。
 stream_socket_clienttimeout 和 context 现在可以为 null。
 stream_socket_enable_cryptosession_stream 现在可以为 null。
 stream_socket_servercontext 现在可以为 null。
 strftimetimestamp 现在可以为 null。
 strip_tagsallowed_tags 现在可以为 null。
 striposneedle 参数现在可以接受空字符串。
 stripos不再支持将 int 作为 needle 传递。
 stristrneedle 参数现在可以接受空字符串。
 stristr不再支持将 int 作为 needle 传递。
 strposneedle 参数现在可以接受空字符串。
 strpos不再支持将 int 作为 needle 传递。
 strrchrneedle 参数现在可以接受空字符串。
 strrchr不再支持将 int 作为 needle 传递。
 strriposneedle 参数现在可以接受空字符串。
 strripos不再支持将 int 作为 needle 传递。
 strrposneedle 参数现在可以接受空字符串。
 strrpos不再支持将 int 作为 needle 传递。
 strspnlength 现在可以为空。
 strstrneedle 参数现在可以接受空字符串。
 strstr不再支持将 int 作为 needle 传递。
 strtotimebaseTimestamp 现在可以为 null。
 substrlength 现在可以为 null。当 length 显式设置为 null 时,函数返回以字符串结尾的子字符串,而以前返回空字符串。
 substr该函数返回空字符串,而以前返回 false。
 substr_comparelength 现在可以为空。
 substr_countlength 现在可以为空。
 substr_replacelength 现在可以为空。
 touchmtime 和 atime 现在可以为 null。
 trigger_error如果指定了无效的 error_level,则该函数现在会抛出 ValueError。以前,它返回 false。
 uasort如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。
 uksort如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。
 umaskmask 现在可以为 null。
 unixtojdtimestamp 现在可以为 null。
 usort如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。
 vfprintf该函数在失败时不再返回 false。
 vfprintf如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vfprintf如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vfprintf如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vfprintf当给定的参数少于需要时抛出 ValueError;以前,此函数会发出 E_WARNING。
 vprintf该函数在失败时不再返回 false。
 vprintf如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vprintf如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vprintf如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vprintf当给定的参数少于需要时抛出 ValueError;以前,此函数会发出 E_WARNING。
 vsprintf该函数在失败时不再返回 false。
 vsprintf如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vsprintf如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vsprintf如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。
 vsprintf当给定的参数少于需要时抛出 ValueError;以前,此函数会发出 E_WARNING。
 wordwrap如果 break 为空字符串,则会抛出 ValueError;以前在这种情况下,它会发出 E_WARNING 并返回 false。
 xml_get_current_byte_indexparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_get_current_column_numberparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_get_current_line_numberparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_get_error_codeparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_parseparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_parse_into_structparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_parser_create此函数现在返回一个 XMLParser 实例;以前,返回一个资源,或在失败时返回 false。
 xml_parser_createencoding 现在可以为 null。
 xml_parser_create_ns此函数现在返回一个 XMLParser 实例;以前,返回一个资源,或在失败时返回 false。
 xml_parser_create_nsencoding 现在可以为 null。
 xml_parser_freeparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_parser_get_optionparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_parser_get_option如果 option 无效,则现在会抛出 ValueError。
 xml_parser_set_optionparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_parser_set_option如果 option 无效,则现在会抛出 ValueError。
 xml_set_character_data_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_default_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_element_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_end_namespace_decl_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_external_entity_ref_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_notation_decl_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_objectparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_processing_instruction_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_start_namespace_decl_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 xml_set_unparsed_entity_decl_handlerparser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。
 zip_close此函数已弃用,建议使用对象 API,请参阅 ZipArchive::close。
 zip_entry_close此函数已弃用,建议使用对象 API。
 zip_entry_compressedsize此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。
 zip_entry_compressionmethod此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。
 zip_entry_filesize此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。
 zip_entry_name此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。
 zip_entry_open此函数已弃用,建议使用对象 API。
 zip_entry_read此函数已弃用,建议使用对象 API,请参阅 ZipArchive::getFromIndex。
 zip_open此函数已弃用,建议使用对象 API,请参阅 ZipArchive::open。
 zip_read此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。
 GlobIterator::__construct如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。
 IntlCalendar::setMinimalDaysInFirstWeek现在在输入无效时抛出 ValueError。以前,返回 false。
 IntlTimeZone::getIDForWindowsIDregion 现在可以为 null。
 LimitIterator::__construct如果 offset 小于 0,则现在会抛出 ValueError;以前会抛出 RuntimeException。
 LimitIterator::__construct如果 limit 小于 -1,则现在会抛出 ValueError;以前会抛出 RuntimeException。
 Locale::getDisplayLanguagedisplayLocale 现在可以为 null。
 Locale::getDisplayNamedisplayLocale 现在可以为 null。
 Locale::getDisplayRegiondisplayLocale 现在可以为 null。
 Locale::getDisplayScriptdisplayLocale 现在可以为 null。
 Locale::getDisplayVariantdisplayLocale 现在可以为 null。
 mysqli_result::fetch_objectconstructor_args 现在接受 [] 用于具有 0 个参数的构造函数;以前会抛出异常。
 mysqli_result::field_seek此函数现在始终返回 true。以前,它在失败时返回 false。
 mysqli_stmt::close此函数现在始终返回 true。以前,它在失败时返回 false。
 mysqli_stmt::__constructquery 现在可以为 null。
 mysqli::begin_transactionname 现在可以为 null。
 mysqli::close此函数现在始终返回 true。以前,它在失败时返回 false。
 mysqli::commitname 现在可以为 null。
 mysqli::debug此函数现在始终返回 true。以前,它在失败时返回 false。
 mysqli::rollbackname 现在可以为 null。
 NumberFormatter::createpattern 现在可以为 null。
 PDOStatement::fetchAll此方法现在始终返回一个数组,而以前在失败时可能会返回 false。
 Phar::addFilelocalName 现在可以为 null。
 Phar::buildFromIteratorbaseDirectory 现在可以为 null。
 Phar::compressextension 现在可以为 null。
 Phar::convertToDataformat、compression 和 extension 现在可以为 null。
 Phar::convertToExecutableformat、compression 和 extension 现在可以为 null。
 Phar::createDefaultStubindex 和 webIndex 现在可以为 null。
 Phar::decompressextension 现在可以为 null。
 Phar::getMetadata已添加参数 unserializeOptions。
 Phar::setDefaultStubwebIndex 现在可以为 null。
 Phar::setSignatureAlgorithmprivateKey 现在可以为 null。
 Phar::webPharfileNotFoundScript 和 rewrite 现在可以为 null。
 PharData::addFilelocalName 现在可以为 null。
 PharData::buildFromIteratorbaseDirectory 现在可以为 null。
 PharData::compressextension 现在可以为 null。
 PharData::convertToDataformat、compression 和 extension 现在可以为 null。
 PharData::convertToExecutableformat、compression 和 localName 现在可以为 null。
 PharData::decompressextension 现在可以为 null。
 PharData::setDefaultStubwebIndex 现在可以为 null。
 PharData::setSignatureAlgorithmprivateKey 现在可以为 null。
 PharFileInfo::getMetadata已添加参数 unserializeOptions。
 PharFileInfo::isCompressedcompression 现在可以为 null。
 RecursiveDirectoryIterator::__construct如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。
 RecursiveIteratorIterator::getSubIteratorlevel 现在可以为 null。
 ReflectionClass::getConstants已添加 filter。
 ReflectionClass::getReflectionConstants已添加 filter。
 ReflectionFunction::invokeArgsargs 键现在将被解释为参数名称,而不是被静默忽略。
 ReflectionFunction::isDisabled此函数已弃用,因为 ReflectionFunction 无法再为禁用的函数构造。
 ReflectionMethod::getClosureobject 现在可以为 null。
 ReflectionMethod::invokeArgsargs 键现在将被解释为参数名称,而不是被静默忽略。
 ReflectionParameter::getClass此函数已弃用,建议使用 ReflectionParameter::getType 代替。
 ReflectionParameter::getDefaultValue此方法现在允许获取内置函数和内置类方法的参数的默认值。以前,会抛出 ReflectionException。
 ReflectionParameter::getDefaultValueConstantName此方法现在允许获取内置函数和内置类方法的默认值的常量名称。以前,会抛出 ReflectionException。
 ReflectionParameter::isArray此函数已弃用,建议使用 ReflectionParameter::getType 代替。
 ReflectionParameter::isCallable此函数已弃用,建议使用 ReflectionParameter::getType 代替。
 ReflectionProperty::getValueobject 现在可以为 null。
 ReflectionProperty::isInitializedobject 现在可以为 null。
 ReflectionType::__toStringReflectionType::__toString 已取消弃用。
 SimpleXMLElement::asXMLfilename 参数现在可以为 null。
 SoapClient::__doRequestoneWay 的类型现在为 bool;以前是 int。
 SoapClient::__setCookievalue 现在可以为 null。
 SoapServer::handlerequest 现在可以为 null。
 SplFileInfo::getFileInfoclass 现在可以为 null。
 SplFileInfo::getPathInfoclass 现在可以为 null。
 SplFileInfo::openFilecontext 现在可以为 null。
 SplFixedArray::__construct如果 size 为负数,则现在会抛出 ValueError;以前会抛出 InvalidArgumentException。
 tidy::__constructfilename、config、encoding 和 useIncludePath 现在可以为 null。
 tidy::parseFileconfig 和 encoding 现在可以为 null。
 tidy::parseStringconfig 和 encoding 现在可以为 null。
 tidy::repairFiletidy::repairFile 现在是静态方法。
 tidy::repairFileconfig 和 encoding 现在可以为 null。
 tidy::repairStringtidy::repairString 现在是静态方法。
 tidy::repairStringconfig 和 encoding 现在可以为 null。
 tidy::repairString此函数不再接受 useIncludePath 参数。
 XMLReader::getAttribute此函数不再返回 false。
 XMLReader::getAttributeNs此函数不再返回 false。
 XMLReader::lookupNamespace此函数不再返回 false。
 XMLReader::nextname 现在可以为 null。
 XMLReader::openXMLReader::open 现在声明为静态方法,但仍然可以在 XMLReader 实例上调用。
 XMLReader::XMLXMLReader::XML 现在声明为静态方法,但仍然可以在 XMLReader 实例上调用。
 XMLWriter::endAttributewriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endCdatawriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endCommentwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endDocumentwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endDtdwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endDtdAttlistwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endDtdElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endDtdEntitywriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::endPiwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::flushwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::flush此函数不再返回 false。
 XMLWriter::fullEndElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::openMemory此函数现在在成功时返回一个 XMLWriter 实例。以前,在这种情况下会返回一个资源。
 XMLWriter::openUri此函数现在在成功时返回一个 XMLWriter 实例。以前,在这种情况下会返回一个资源。
 XMLWriter::outputMemorywriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::setIndentwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::setIndentStringwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startAttributewriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startAttributeNswriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startAttributeNsprefix 现在可以为 null。
 XMLWriter::startCdatawriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startCommentwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startDocumentwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startDtdwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startDtdAttlistwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startDtdElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startDtdEntitywriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startElementNswriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::startPiwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::text

writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeAttributewriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeAttributeNswriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeCdatawriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeCommentwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeDtdwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeDtdAttlistwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeDtdElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeDtdEntitywriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeDtdEntitypublicId、systemId 和 notationData 现在可以为空。
 XMLWriter::writeElementwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeElementNswriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writePiwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 XMLWriter::writeRawwriter 现在需要一个 XMLWriter 实例;以前,需要一个资源。
 ZipArchive::addEmptyDir添加了 flags 参数。
 ZipArchive::addFile添加了 flags 参数。
 ZipArchive::addFromString添加了 flags 参数。
 ZipArchive::addGloboptions 中添加了 "flags" 参数。
 ZipArchive::addGloboptions 中添加了 "comp_method"、"comp_flags"、"enc_method" 和 "enc_password" 参数。
 ZipArchive::getStatusString此方法可以在归档文件关闭时调用。
 ZipArchive::getStatusString此方法不再在失败时返回 false。
 ZipArchive::setEncryptionIndexpassword 现在可以为空。
 ZipArchive::setEncryptionNamepassword 现在可以为空。
7.4.12jdtounix儒略日的上限已扩展。以前,无论架构如何,它都是 2465342。
 tidyNode::isHtml此函数已修复以具有合理的行为。以前,几乎所有节点都被报告为 HTML 节点。
7.4.4proc_open在 options 参数中添加了 create_new_console 选项。
7.4.3curl_setopt引入了 CURLOPT_HTTP09_ALLOWED。
7.4.2dba_openlmdb 驱动程序现在支持额外的 map_size 参数。
 dba_popenlmdb 驱动程序现在支持额外的 map_size 参数。
7.4.0DatePeriod::__constructrecurrences 现在必须大于 0。
 array_merge此函数现在可以不带任何参数调用。以前,至少需要一个参数。
 array_merge_recursive此函数现在可以不带任何参数调用。以前,至少需要一个参数。
 base_convert传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。
 bindec传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。
 chr该函数不再静默接受不受支持的代码点,并将这些代码点转换为 0。
 curl_version可选的 age 参数已弃用;如果传递值,则忽略该值。
 currentSPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。
 endSPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。
 fgetcsvescape 参数现在还可以接受空字符串以禁用专有转义机制。
 fputcsvescape 参数现在还可以接受空字符串以禁用专有转义机制。
 get_declared_classes以前,get_declared_classes 始终在子类之前返回父类。这种情况不再存在。get_declared_classes 返回值的顺序没有保证。
 get_magic_quotes_gpc此函数已被弃用。
 get_magic_quotes_runtime此函数已被弃用。
 gzread此函数现在在失败时返回 false;以前返回 0。
 gzwrite此函数现在在失败时返回 false;以前返回 0。
 hash_algos添加了对 crc32c 的支持。
 hexdec传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。
 idn_to_asciivariant 的默认值现在是 INTL_IDNA_VARIANT_UTS46,而不是已弃用的 INTL_IDNA_VARIANT_2003。
 idn_to_utf8variant 的默认值现在是 INTL_IDNA_VARIANT_UTS46,而不是已弃用的 INTL_IDNA_VARIANT_2003。
 imagecropauto捆绑的 libgd 中 imagecropauto() 的行为已与系统 libgd 的行为同步:IMG_CROP_DEFAULT 不再回退到 IMG_CROP_SIDES,并且阈值裁剪现在使用与系统 libgd 相同的算法。
 imagecropautomode 的默认值已更改为 IMG_CROP_AUTO。以前,默认值为 -1,对应于 IMG_CROP_DEFAULT,但现在传递 -1 已弃用。
 imagefilter添加了散射支持 (IMG_FILTER_SCATTER)。
 implode传递数组后面的分隔符(即使用旧签名)已弃用。
 keySPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。
 ldap_control_paged_result此函数已被弃用。
 ldap_control_paged_result_response此函数已被弃用。
 money_format此函数已弃用。请改用 NumberFormatter::formatCurrency。
 nextSPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。
 octdec传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。
 openssl_random_pseudo_bytes该函数不再在失败时返回 false,而是抛出异常。
 password_hashalgo 参数现在期望一个字符串,但为了向后兼容性,仍然接受整数。
 password_hashsodium 扩展为 Argon2 密码提供了替代实现。
 password_needs_rehashalgo 参数现在期望一个字符串,但为了向后兼容性,仍然接受整数。
 preg_replace_callback添加了 flags 参数。
 preg_replace_callback_array添加了 flags 参数。
 prevSPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。
 proc_openproc_open 现在还可以为命令接受数组。
 proc_open在 options 参数中添加了 create_process_group 选项。
 resetSPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。
 stat在 Windows 上,设备号现在是包含文件的卷的序列号,inode 号是与文件关联的标识符。
 stat符号链接的大小、atime、mtime 和 ctime 统计信息始终是目标的统计信息。以前,Windows 上的 NTS 构建并非如此。
 str_getcsvescape 参数现在将空字符串解释为禁用专有转义机制的信号。以前,空字符串被视为默认参数值。
 strip_tagsallowed_tags 现在还可以接受数组。
 unserialize添加了 options 的 max_depth 元素以设置反序列化期间允许的结构的最大深度。
 Locale::lookupdefaultLocale 现在可以为空。
 mysqli::__construct所有参数现在都可以为空。
 mysqli::real_connect所有参数现在都可以为空。
 SplFileObject::fgetcsvescape 参数现在还可以接受空字符串以禁用专有转义机制。
 SplFileObject::fputcsvescape 参数现在还可以接受空字符串以禁用专有转义机制。
 SplFileObject::fwrite该函数现在在失败时返回 false 而不是零。
 SplFileObject::getCsvControl转义字符现在可以是空字符串。
 SplFileObject::setCsvControlescape 参数现在还可以接受空字符串以禁用专有转义机制。
 SQLite3Stmt::bindParamparam 现在也支持 @param 表示法。
 SQLite3Stmt::bindValueparam 现在也支持 @param 表示法。
7.3.24jdtounix儒略日的上限已扩展。以前,无论架构如何,它都是 2465342。
 tidyNode::isHtml此函数已修复以具有合理的行为。以前,几乎所有节点都被报告为 HTML 节点。
7.3.15curl_setopt引入了 CURLOPT_HTTP09_ALLOWED。
7.3.14dba_openlmdb 驱动程序现在支持额外的 map_size 参数。
 dba_popenlmdb 驱动程序现在支持额外的 map_size 参数。
7.3.6DatePeriod::__constructrecurrences 现在必须大于 0。
 SplFileObject::__toString从 SplFileObject::current 的别名更改为 SplFileObject::fgets 的别名。
7.3.5substr_compareoffset 现在可以等于 haystack 的长度。
7.3.0DateTimeImmutable::createFromFormat添加了 v 格式说明符。
 apache_request_headers此函数在 FPM SAPI 中可用。
 array_push此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 array_unshift此函数现在只能使用一个参数调用。以前,至少需要两个参数。
 assert在命名空间内声明名为 assert() 的函数已弃用。此类声明现在发出 E_DEPRECATED。
 bcmulbcmul 现在返回具有请求精度的数字。以前,返回的数字可能省略了尾随的小数零。
 bcpowbcpow 现在返回具有请求精度的数字。以前,返回的数字可能省略了尾随的小数零。
 bcscalebcscale 现在可用于获取当前的比例因子;当用作设置器时,它现在返回旧的比例值。以前,比例是强制性的,并且 bcscale 始终返回 true。
 compact如果给定字符串引用未设置的变量,则 compact 现在会发出 E_NOTICE 级别的错误。以前,此类字符串会被静默跳过。
 curl_getinfo引入了 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T、CURLINFO_CONTENT_LENGTH_UPLOAD_T、CURLINFO_HTTP_VERSION、CURLINFO_PROTOCOL、CURLINFO_PROXY_SSL_VERIFYRESULT、CURLINFO_SCHEME、CURLINFO_SIZE_DOWNLOAD_T、CURLINFO_SIZE_UPLOAD_T、CURLINFO_SPEED_DOWNLOAD_T、CURLINFO_SPEED_UPLOAD_T、CURLINFO_APPCONNECT_TIME_T、CURLINFO_CONNECT_TIME_T、CURLINFO_FILETIME_T、CURLINFO_NAMELOOKUP_TIME_T、CURLINFO_PRETRANSFER_TIME_T、CURLINFO_REDIRECT_TIME_T、CURLINFO_STARTTRANSFER_TIME_T、CURLINFO_TOTAL_TIME_T。
 curl_setopt引入了 CURLOPT_ABSTRACT_UNIX_SOCKET、CURLOPT_KEEP_SENDING_ON_ERROR、CURLOPT_PRE_PROXY、CURLOPT_PROXY_CAINFO、CURLOPT_PROXY_CAPATH、CURLOPT_PROXY_CRLFILE、CURLOPT_PROXY_KEYPASSWD、CURLOPT_PROXY_PINNEDPUBLICKEY、CURLOPT_PROXY_SSLCERT、CURLOPT_PROXY_SSLCERTTYPE、CURLOPT_PROXY_SSL_CIPHER_LIST、CURLOPT_PROXY_SSLKEY、CURLOPT_PROXY_SSLKEYTYPE、CURLOPT_PROXY_SSL_OPTIONS、CURLOPT_PROXY_SSL_VERIFYHOST、CURLOPT_PROXY_SSL_VERIFYPEER、CURLOPT_PROXY_SSLVERSION、CURLOPT_PROXY_TLSAUTH_PASSWORD、CURLOPT_PROXY_TLSAUTH_TYPE、CURLOPT_PROXY_TLSAUTH_USERNAME、CURLOPT_SOCKS5_AUTH、CURLOPT_SUPPRESS_CONNECT_HEADERS、CURLOPT_DISALLOW_USERNAME_IN_URL、CURLOPT_DNS_SHUFFLE_ADDRESSES、CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS、CURLOPT_HAPROXYPROTOCOL、CURLOPT_PROXY_TLS13_CIPHERS、CURLOPT_SSH_COMPRESSION、CURLOPT_TIMEVALUE_LARGE 和 CURLOPT_TLS13_CIPHERS。
 definecase_insensitive 已弃用,将在 8.0.0 版中删除。
 ftp_fgetmode 参数现在是可选的。以前它是强制性的。
 ftp_fputmode 参数现在是可选的。以前它是强制性的。
 ftp_getmode 参数现在是可选的。以前它是强制性的。
 ftp_nb_fgetmode 参数现在是可选的。以前它是强制性的。
 ftp_nb_fputmode 参数现在是可选的。以前它是强制性的。
 ftp_nb_getmode 参数现在是可选的。以前它是强制性的。
 ftp_nb_putmode 参数现在是可选的。以前它是强制性的。
 ftp_putmode 参数现在是可选的。以前它是强制性的。
 getallheaders此函数在 FPM SAPI 中可用。
 imagecreatefromstring现在支持 WEBP(如果使用的 libgd 支持)。
 is_countable添加了 is_countable。
 json_decode添加了 JSON_THROW_ON_ERROR 标志。
 json_encode添加了 JSON_THROW_ON_ERROR 标志。
 ldap_add添加了对控件的支持
 ldap_compare添加了对控件的支持
 ldap_delete添加了对控件的支持
 ldap_exop添加了对控件的支持
 ldap_exop_passwd添加了对控件的支持
 ldap_list添加了对控件的支持
 ldap_mod_add添加了对控件的支持
 ldap_mod_del添加了对控件的支持
 ldap_mod_replace添加了对控件的支持
 ldap_modify_batch添加了对控件的支持
 ldap_mod_add_ext添加了对控件的支持
 ldap_mod_del_ext添加了对控件的支持
 ldap_mod_replace_ext添加了对控件的支持
 ldap_parse_result添加了对控件的支持
 ldap_read添加了对控件的支持
 ldap_rename添加了对控件的支持
 ldap_rename_ext添加了对控件的支持
 ldap_search添加了对控件的支持
 list添加了对数组解构中引用赋值的支持。
 mb_convert_case添加了对 MB_CASE_FOLD、MB_CASE_UPPER_SIMPLE、MB_CASE_LOWER_SIMPLE、MB_CASE_TITLE_SIMPLE 和 MB_CASE_FOLD_SIMPLE 作为 mode 的支持。
 password_hash添加了使用 PASSWORD_ARGON2ID 的 Argon2id 密码的支持。
 preg_quote现在引用了 # 字符
 session_get_cookie_params在返回的数组中添加了 "samesite" 条目。
 session_set_cookie_params添加了一个支持 lifetime_or_options 数组的替代签名。此签名还支持设置 SameSite cookie 属性。
 setcookie添加了一个支持 options 数组的替代签名。此签名还支持设置 SameSite cookie 属性。
 setrawcookie添加了一个支持 options 数组的替代签名。此签名还支持设置 SameSite cookie 属性。
 stripos传递整数作为 needle 已弃用。
 stristr传递整数作为 needle 已弃用。
 strpos传递整数作为 needle 已弃用。
 strrchr传递整数作为 needle 已弃用。
 strripos传递整数作为 needle 已弃用。
 strrpos传递整数作为 needle 已弃用。
 strstr传递整数作为 needle 已弃用。
 unlink在 Windows 上,现在可以解除正在使用的句柄文件的链接,而以前会失败。但是,在关闭所有句柄之前,仍然无法重新创建已解除链接的文件。
 var_export现在将 stdClass 对象导出为强制转换为对象的数组((object)array(...)),而不是使用不存在的方法 stdClass::__setState。实际效果是 stdClass 现在可以导出,并且生成的代码甚至可以在早期版本的 PHP 上运行。
 xml_parser_get_optionoptions 现在支持 XML_OPTION_SKIP_TAGSTART 和 XML_OPTION_SKIP_WHITE。
 xml_set_external_entity_ref_handler如果扩展已针对 libxml 构建,则不再忽略处理程序的返回值。以前,返回值被忽略,并且解析从未停止。
7.2.19DatePeriod::__constructrecurrences 现在必须大于 0。
 SplFileObject::__toString从 SplFileObject::current 的别名更改为 SplFileObject::fgets 的别名。
7.2.18substr_compareoffset 现在可以等于 haystack 的长度。
7.2.12DateInterval::formatF 和 f 格式现在将始终为正。
 xml_parser_get_optionoptions 现在支持 XML_OPTION_SKIP_TAGSTART 和 XML_OPTION_SKIP_WHITE。
7.2.0array_unique如果 flags 是 SORT_STRING,则以前数组已被复制并且非唯一元素已被删除(之后没有打包数组),但现在通过添加唯一元素来构建新数组。这可能导致不同的数字索引。
 assert使用字符串作为断言已弃用。当 assert.active 和 zend.assertions 都设置为 1 时,它现在会发出 E_DEPRECATED 通知。
 bcmodnum1 和 num2 不再截断为整数,因此现在 bcmod 的行为遵循 fmod 而不是 % 运算符。
 bcmod添加了 scale 参数。
 countcount 现在将在传递给 value 参数的无效可计数类型上产生警告。
 date_parse返回数组的 zone 元素现在表示秒而不是分钟,并且其符号已反转。例如 -120 现在是 7200。
 date_parse_from_format返回数组的 zone 元素现在表示秒而不是分钟,并且其符号已反转。例如 -120 现在是 7200。
 date_sun_info关于本地午夜而不是本地正午的计算已修复,这会稍微更改结果。
 exif_read_datafile 参数现在同时支持本地文件和流资源。
 exif_read_data添加了对以下 EXIF 格式的支持:三星 大疆 松下 索尼 宾得 美能达 适马/福唯视 艾克发 京瓷 理光 爱普生
 exif_thumbnailfile 参数现在同时支持本地文件和流资源。
 get_class在此版本之前,object 的默认值为 null,并且它与不传递任何值具有相同的效果。现在,null 已从 object 的默认值中删除,并且不再是有效的输入。
 gettype现在将关闭的资源报告为“resource (closed)”。以前,关闭的资源的返回值是“unknown type”。
 hash_copy接受并返回 HashContext 而不是 resource。
 hash_final接受 HashContext 而不是 resource。
 hash_hmac禁用了非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。
 hash_hmac_file禁用了非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。
 hash_init禁用了使用 HASH_HMAC 的非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。
 hash_init返回 HashContext 而不是 resource。
 hash_pbkdf2禁用了非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。
 hash_update接受 HashContext 而不是 resource。
 hash_update_file接受 HashContext 而不是 resource。
 hash_update_stream接受 HashContext 而不是 resource。
 idn_to_asciiINTL_IDNA_VARIANT_2003 已弃用;请改用 INTL_IDNA_VARIANT_UTS46。
 idn_to_utf8INTL_IDNA_VARIANT_2003 已弃用;请改用 INTL_IDNA_VARIANT_UTS46。
 imageantialiasimageantialias 现在普遍可用。以前,只有在使用捆绑版本的 GD 库编译 PHP 时才可用。
 imagegdimagegd 现在允许输出真彩色图像。以前,这些图像已隐式转换为调色板。

 imagelayereffect添加了 IMG_EFFECT_MULTIPLY(需要系统 libgd >= 2.1.1 或捆绑的 libgd)。
 imagetypes添加了 IMG_BMP。
 is_objectis_object 现在对于没有类定义的反序列化对象(类为 __PHP_Incomplete_Class)返回 true。之前返回的是 false。
 json_decodeassociative 现在可以为空。
 json_decode添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 标记。
 json_encode添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 标记。
 mailadditional_headers 参数现在也接受数组。
 mb_check_encoding此函数现在也接受数组作为值。以前,只支持字符串。
 mb_convert_encoding此函数现在也接受数组作为字符串。以前,只支持字符串。
 mb_parse_str不带第二个参数调用 mb_parse_str 已弃用。
 mb_send_mailadditional_headers 参数现在也接受数组。
 mt_randmt_rand 修复了一个取模偏差错误。这意味着使用特定种子生成的序列在 64 位机器上的 PHP 7.1 中可能会有所不同。
 number_formatnumber_format 已更改为无法返回 -0,之前在 num 为 -0.01 等情况下可能会返回 -0。
 openssl_pkcs7_verify添加了 output_filename 参数。
 packfloat 和 double 类型都支持大端和小端。
 parse_str不带第二个参数使用 parse_str 现在会发出 E_DEPRECATED 通知。
 password_hash添加了使用 PASSWORD_ARGON2I 的 Argon2i 密码支持。
 preg_match$flags 参数现在支持 PREG_UNMATCHED_AS_NULL。
 preg_match_all$flags 参数现在支持 PREG_UNMATCHED_AS_NULL。
 preg_quotedelimiter 现在可以为空。
 proc_nice此函数现在可在 Windows 上使用。
 randrand 修复了一个取模偏差错误。这意味着使用特定种子生成的序列在 64 位机器上的 PHP 7.1 中可能会有所不同。
 read_exif_data此函数别名已弃用。
 session_abort此函数的返回类型现在是 bool。以前,它是 void。
 session_module_name现在明确禁止将模块名称设置为“user”。以前,这是被静默忽略的。
 session_namesession_name 检查会话状态,以前它只检查 cookie 状态。因此,旧的 session_name 允许在 session_start 之后调用 session_name,这可能会导致 PHP 崩溃并可能导致错误行为。
 session_reset此函数的返回类型现在是 bool。以前,它是 void。
 session_set_cookie_params成功时返回 true,失败时返回 false。以前,该函数返回 void。
 session_unset此函数的返回类型现在是 bool。以前,它是 void。
 session_write_close此函数的返回类型现在是 bool。以前,它是 void。
 set_error_handlererrcontext 已弃用。现在使用此参数会发出 E_DEPRECATED 通知。
 unpackfloat 和 double 类型都支持大端和小端。
 utf8_decode此函数已从 XML 扩展移至 PHP 的核心。在以前的版本中,只有在安装了 XML 扩展时才可用。
 utf8_encode此函数已从 XML 扩展移至 PHP 的核心。在以前的版本中,只有在安装了 XML 扩展时才可用。
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams 现在返回发送到数据库的 SQL,包括完整的原始查询(包括用其绑定值替换的占位符)。注意,这只有在启用模拟预处理语句时才可用。
 ReflectionClass::getMethodsfilter 现在可以为空。
 ReflectionClass::getPropertiesfilter 现在可以为空。
 SQLite3::openBlob添加了 flags 参数,允许写入 BLOB;以前只支持读取。
7.1.24xml_parser_get_optionoptions 现在支持 XML_OPTION_SKIP_TAGSTART 和 XML_OPTION_SKIP_WHITE。
7.1.5IntlDateFormatter::format添加了对向 datetime 参数提供通用 DateTimeInterface 对象的支持。以前,只支持正确的 DateTime 对象。
7.1.4PDO::sqliteCreateFunction添加了 flags 参数。
 SQLite3::createFunction添加了 flags 参数。
7.1.2dns_get_record添加了对 CAA 记录类型的支持。
 fopen添加了“e”选项。
7.1.1get_defined_functions添加了 exclude_disabled 参数。
 pack添加了“e”、“E”、“g”和“G”代码以启用 float 和 double 的字节序支持。
7.1.0DateInterval::format添加了 F 和 f 格式字符。
 DateTime::setTime添加了 microsecond 参数。
 DateTimeImmutable::__construct从现在起,微秒将填充实际值。而不是“00000”。
 DateTimeImmutable::setTime添加了 microsecond 参数。
 DateTimeZone::listIdentifierscountryCode 现在可以为空。
 array_rand内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。
 curl_multi_setopt引入了 CURLMOPT_PUSHFUNCTION。
 exif_imagetype添加了 WebP 支持。
 file_get_contents添加了对负偏移量的支持。
 get_headers添加了 context 参数。
 getenv现在可以省略名称以检索所有环境变量的关联数组。
 getimagesize添加了 WebP 支持。
 getopt添加了 rest_index 参数。
 grapheme_extract添加了对负偏移量的支持。
 grapheme_stripos添加了对负偏移量的支持。
 grapheme_strpos添加了对负偏移量的支持。
 hash_algos添加了对 sha512/224、sha512/256、sha3-224、sha3-256、sha3-384 和 sha3-512 的支持。
 iconv_strpos添加了对负偏移量的支持。
 json_decode空 JSON 键("")可以编码为空对象属性,而不是使用键值 _empty_。
 json_encode添加了 JSON_UNESCAPED_LINE_TERMINATORS 标记。
 json_encode在编码浮点值时使用 serialize_precision 而不是 precision。
 list现在可以在列表中指定键。这使得能够解构具有非整数或非顺序键的数组。
 long2ipip 的参数类型已从字符串更改为 int。
 mb_ereg如果没有任何匹配,mb_ereg 现在会将匹配项设置为一个空数组。以前,在这种情况下 matches 不会被修改。
 mb_ereg_replace该函数检查字符串对于当前编码是否有效。
 mb_ereg_replacee 修饰符已弃用。
 mb_ereg_replace_callback该函数检查字符串对于当前编码是否有效。
 mb_ereg_search_setpos添加了对负偏移量的支持。
 mb_eregi如果没有任何匹配,mb_eregi 现在会将匹配项设置为一个空数组。以前,在这种情况下 matches 不会被修改。
 mb_eregi_replace该函数检查字符串对于当前编码是否有效。
 mb_eregi_replacee 修饰符已弃用。
 mb_regex_set_options“e”选项现在会发出 E_DEPRECATED。
 mb_strimwidth添加了对负起始位置和宽度的支持。
 mb_stripos添加了对负偏移量的支持。
 mb_strpos添加了对负偏移量的支持。
 mt_randrand 已成为 mt_rand 的别名。
 mt_randmt_rand 已更新为使用修复后的正确版本的梅森旋转算法。要回退到旧的行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。
 mt_srandsrand 已成为 mt_srand 的别名。
 mt_srandmt_rand 已更新为使用修复后的正确版本的梅森旋转算法。要回退到旧的行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。
 openssl_csr_newoptions 现在也支持 curve_name。
 openssl_decrypt添加了 tag 和 aad 参数。
 openssl_encrypt添加了 tag、aad 和 tag_length 参数。
 openssl_pkey_new添加了 options 参数的 curve_name 键,以便可以基于椭圆曲线算法创建 EC 密钥。
 output_add_rewrite_var从 PHP 7.1.0 开始,使用专用输出缓冲区,url_rewriter.tags 仅用于输出函数,并且 url_rewriter.hosts 可用。在 PHP 7.1.0 之前,由 output_add_rewrite_var 设置的重写变量与透明会话 ID 支持共享输出缓冲区(请参阅 session.trans_sid_tags)。
 output_reset_rewrite_vars在 PHP 7.1.0 之前,由 output_add_rewrite_var 设置的重写变量使用相同的 Session 模块 trans sid 输出缓冲区。从 PHP 7.1.0 开始,使用专用输出缓冲区,并且 output_reset_rewrite_vars 仅删除由 output_add_rewrite_var 定义的重写变量。
 pcntl_signal从 PHP 7.1.0 开始,处理程序回调将获得第二个参数,其中包含特定信号的 siginfo。仅当操作系统具有 siginfo_t 结构时才提供此数据。如果操作系统未实现 siginfo_t,则提供 NULL。
 pcntl_signal_get_handler已添加 pcntl_signal_get_handler。
 pg_fetch_all添加了 mode 参数。
 pg_last_notice添加了 mode 参数。
 pg_select添加了 mode 参数。
 randrand 已成为 mt_rand 的别名。
 session_startsession_start 现在返回 false,并且在无法启动会话时不再初始化 $_SESSION。
 shuffle内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。
 srandsrand 已成为 mt_srand 的别名。
 str_shuffle内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。
 stripos添加了对负偏移量的支持。
 strpos添加了对负偏移量的支持。
 substr_count添加了对负偏移量和长度的支持。length 现在也可以为 0。
 tempnam当回退到系统的临时目录时,tempnam 现在会发出通知。
 unpack添加了可选的 offset。
 unserializeoptions 的 allowed_classes 元素现在是严格类型的,即,如果给定的不是数组或 bool,unserialize 将返回 false 并发出 E_WARNING。
 ReflectionType::__toStringReflectionType::__toString 已弃用。
 SessionHandler::gc在此版本之前,该函数在成功时返回 true。
 SessionHandlerInterface::gc在此版本之前,该函数在成功时返回 true。
7.0.16dns_get_record添加了对 CAA 记录类型的支持。
 fopen添加了“e”选项。
7.0.15get_defined_functions添加了 exclude_disabled 参数。
 pack添加了“e”、“E”、“g”和“G”代码以启用 float 和 double 的字节序支持。
7.0.11iconv_substr如果字符串等于 offset 字符串长度,则将返回空字符串。在此版本之前,在这种情况下返回 false。
7.0.10imagetypes添加了 IMG_WEBP。
 SplFileObject::getCsvControl将转义字符添加到返回的数组中。
 SQLite3::__construct文件名现在可以为空以使用私有的临时磁盘数据库。
7.0.9getenv添加了 local_only 参数。
7.0.7curl_multi_setopt引入了 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE、CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE、CURLMOPT_MAX_HOST_CONNECTIONS、CURLMOPT_MAX_PIPELINE_LENGTH 和 CURLMOPT_MAX_TOTAL_CONNECTIONS。
 curl_setopt引入了 CURL_HTTP_VERSION_2、CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE、CURL_HTTP_VERSION_2TLS、CURL_REDIR_POST_301、CURL_REDIR_POST_302、CURL_REDIR_POST_303、CURL_REDIR_POST_ALL、CURL_VERSION_KERBEROS5、CURL_VERSION_PSL、CURL_VERSION_UNIX_SOCKETS、CURLAUTH_NEGOTIATE、CURLAUTH_NTLM_WB、CURLFTP_CREATE_DIR、CURLFTP_CREATE_DIR_NONE、CURLFTP_CREATE_DIR_RETRY、CURLHEADER_SEPARATE、CURLHEADER_UNIFIED、CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE、CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE、CURLMOPT_MAX_HOST_CONNECTIONS、CURLMOPT_MAX_PIPELINE_LENGTH、CURLMOPT_MAX_TOTAL_CONNECTIONS、CURLOPT_CONNECT_TO、CURLOPT_DEFAULT_PROTOCOL、CURLOPT_DNS_INTERFACE、CURLOPT_DNS_LOCAL_IP4、CURLOPT_DNS_LOCAL_IP6、CURLOPT_EXPECT_100_TIMEOUT_MS、CURLOPT_HEADEROPT、CURLOPT_LOGIN_OPTIONS、CURLOPT_PATH_AS_IS、CURLOPT_PINNEDPUBLICKEY、CURLOPT_PIPEWAIT、CURLOPT_PROXY_SERVICE_NAME、CURLOPT_PROXYHEADER、CURLOPT_SASL_IR、CURLOPT_SERVICE_NAME、CURLOPT_SSL_ENABLE_ALPN、CURLOPT_SSL_ENABLE_NPN、CURLOPT_SSL_FALSESTART、CURLOPT_SSL_VERIFYSTATUS、CURLOPT_STREAM_WEIGHT、CURLOPT_TCP_FASTOPEN、CURLOPT_TFTP_NO_OPTIONS、CURLOPT_UNIX_SOCKET_PATH、CURLOPT_XOAUTH2_BEARER、CURLPROTO_SMB、CURLPROTO_SMBS、CURLPROXY_HTTP_1_0、CURLSSH_AUTH_AGENT 和 CURLSSLOPT_NO_REVOKE。
7.0.0define允许数组值。
 dirname添加了可选的 levels 参数。
 getrusage此函数现在在 Windows 上受支持。
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top