International PHP Conference Berlin 2025

更新日志

对绑定的扩展的函数有以下更新。

VersionFunctionDescription
8.4.0DOMDocument::registerNodeClassDOMDocument::registerNodeClass now has a tentative return of true.
 DOMImplementation::createDocumentThe function now has the tentative return type DOMDocument.
 DOMXPath::registerPhpFunctionsIt is now possible to use callables for callbacks when using restrict with array entries.
 bcpow0 的负幂以前返回 0,但现在会引发 DivisionByZeroError 异常。
 bind_textdomain_codesetNow throws a ValueError if domain is the empty string.
 bind_textdomain_codesetcodeset is optional now. Previously, the parameter always had to be specified.
 bindtextdomaindirectory is optional now. Previously, the parameter always had to be specified.
 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 resource。
 dba_deletedba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_existsdba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_fetchdba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_firstkeydba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_insertdba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_key_split将 null 或者 false 传递给 key 现在已经被弃用。
 dba_nextkeydba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_open现在返回一个 Dba\Connection 实例; 以前返回一个 resource。
 dba_optimizedba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_popen现在返回一个 Dba\Connection 实例; 以前返回一个 resource。
 dba_replacedba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dba_syncdba 参数现在接受 Dba\Connection 实例, 之前接受有效的 dba resource。
 dgettextNow throws a ValueError if domain is the empty string.
 dngettextNow throws a ValueError if domain is the empty string.
 fgetcsv现在已弃用依赖 escape 的默认值。
 fputcsv现在已弃用依赖 escape 的默认值。
 imageavifNow throws a ValueError if quality or speed is invalid.
 imagefilter现在抛出 ValueError 异常, 如果 sub 或 plus 会导致 IMG_FILTER_SCATTER filter 的溢出/下溢。
 imagejpeg现在如果 quality 无效,抛出 ValueError。
 imagepng现在如果 quality 无效,抛出 ValueError。
 imagescaleNow throws a ValueError if width or height would cause over-/underflow.
 imagescaleNow throws a ValueError if mode is invalid.
 imagewebp现在如果 quality 无效,抛出 ValueError。
 lcg_value此函数已被弃用。
 libxml_set_streams_contextlibxml_set_streams_context now throws a TypeError when a non-stream resource is passed to context, instead of throwing later when the context is used.
 mb_decode_numericentity如果 map 不是 ints 的列表, mb_decode_numericentity 现在抛出 ValueError。
 mb_encode_numericentitymb_encode_numericentity now throws a ValueError if map is not a list of ints.
 mb_http_input如果 type 无效,mb_http_input 现在抛出 ValueError。
 mb_http_output如果 encoding 包含空字节, mb_http_output 现在抛出 ValueError。
 odbc_autocommitodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_binmodestatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_closeodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_columnprivilegesodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_columnsodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_commitodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_connectodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_connect此函数现在返回 Odbc\Connection 实例;之前返回 resource。
 odbc_cursorstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_data_sourceodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_errorodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_errormsgodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_execodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_exec此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_execute此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_fetch_arraystatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_fetch_arrayrow is now nullable.
 odbc_fetch_intostatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_fetch_intorow is now nullable.
 odbc_fetch_objectstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_fetch_objectrow is now nullable.
 odbc_fetch_rowstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_fetch_rowAn E_WARNING is now emitted when row is equal or less than zero.
 odbc_field_lenstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_field_namestatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_field_numstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_field_scalestatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_field_typestatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_foreignkeysodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_foreignkeys此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_free_resultstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_gettypeinfoodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_gettypeinfo此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_longreadlenstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_next_resultstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_num_fieldsstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_num_rowsstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_pconnectodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_pconnect此函数现在返回 Odbc\Connection 实例;之前返回 resource。
 odbc_prepareodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_prepare此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_primarykeysodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_primarykeys此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_procedurecolumnsodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_procedurecolumns此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_proceduresodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_procedures此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_resultstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_result_allstatement 现在需要 Odbc\Result 实例;之前需要 resource。
 odbc_rollbackodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_setoptionodbc expects an Odbc\Connection or an Odbc\Result instance now; previously, a resource was expected.
 odbc_specialcolumnsodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_specialcolumns此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_statisticsodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_statistics此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_tableprivilegesodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_tableprivileges此函数现在返回 Odbc\Result 实例;之前返回 resource。
 odbc_tablesodbc 现在需要 Odbc\Connection 实例;之前需要 resource。
 odbc_tables此函数现在返回 Odbc\Result 实例;之前返回 resource。
 pg_selectconditions 现在是可选的。
 posix_isattySet errno (error number) to EBADF when the file descriptor/stream passed is invalid.
 simplexml_import_domAdded support for Dom\Document.
 simplexml_import_domThis function now throws a TypeError instead of a ValueError when passed a non-XML or non-HTML node.
 socket_create_listen默认值现在是 SOMAXCONN。 之前是 128。
 stream_context_set_option替代的双参数签名已被弃用。 请使用 stream_context_set_options 代替。
 textdomainNow throws a ValueError if domain is the empty string.
 textdomaindomain is optional now. Previously, the parameter always had to be specified.
 trigger_error现已弃用传递 E_USER_ERROR 作为 error_level。抛出 Exception 或调用 exit。
 trigger_error此函数现在返回类型是 true 而不是 bool。
 IntlCalendar::setThis had been deprecated in favor of the methods IntlCalendar::setDate and IntlCalendar::setDateTime.
 IntlDateFormatter::createA ValueError is thrown if locale is invalid.
 IntlGregorianCalendar::__constructThis had been deprecated in favor of the methods IntlGregorianCalendar::createFromDate and IntlGregorianCalendar::createFromDateTime.
 mysqli::killmysqli::kill 和 mysqli_kill 都已弃用。使用 KILL SQL 命令代替。
 mysqli::pingmysqli::ping 和 mysqli_ping 都已弃用。自 PHP 8.2.0 起,reconnect 功能已不可用,因此该函数已过时。
 mysqli::refreshmysqli::refresh 和 mysqli_refresh 都已弃用。使用 FLUSH SQL 命令代替。
 mysqli::store_result现在弃用传递 mode 参数。该参数自 PHP 8.1.0 起不再有效。
 NumberFormatter::createA ValueError is thrown if locale is invalid.
 Phar::setAliasPhar::setAlias now has a tentative return of true.
 Phar::setDefaultStubPhar::setDefaultStub now has a tentative return of true.
 ReflectionClassConstant::__toStringThe attached doc comment is now included.
 ReflectionGenerator::getFunctionReflectionGenerator::getFunction may now be called after the generator finished executing.
 ReflectionProperty::__toStringThe attached doc comment is now included.
 ResourceBundle::getA TypeError is thrown if the offset type is invalid. A ValueError is thrown if if index is a string and is empty or is a int and does not fit into a 32 bit integer type.
 SplFileObject::fgetcsv现在已弃用依赖 escape 的默认值。
 SplFileObject::fputcsv现在已弃用依赖 escape 的默认值。
 SplFileObject::setCsvControl现在已弃用依赖 escape 的默认值。
 SplFixedArray::setSizeSplFixedArray::setSize now has a tentative return of true.
 SplFixedArray::__wakeupThis method is now deprecated, use SplFixedArray::__unserialize instead.
 SplHeap::insertSplHeap::insert now has a tentative return of true.
 SplHeap::recoverFromCorruptionSplHeap::recoverFromCorruption now has a tentative return of true.
 SplPriorityQueue::insertSplPriorityQueue::insert now has a tentative return of true.
 SplPriorityQueue::recoverFromCorruptionSplPriorityQueue::recoverFromCorruption now has a tentative return of true.
 tidy::__constructFailures when executing the constructor now throw instead of silently creating an unusable object.
 XMLReader::openPassing an invalid encoding will now throw a ValueError.
 XMLReader::XMLPassing an invalid encoding will now throw a ValueError.
 XMLWriter::startDocumentPassing an encoding containing null bytes will now throw a ValueError.
 XSLTProcessor::importStylesheetAdded support for Dom\Document.
 XSLTProcessor::importStylesheetNow throws a TypeError instead of a ValueError if stylesheet is not an XML object.
 XSLTProcessor::registerPHPFunctionsIt is now possible to use callables for callbacks when using restrict with array entries.
 XSLTProcessor::setParameterNow throws a ValueError if any of the arguments contain null bytes instead of silently truncating.
 XSLTProcessor::setParameterIt is now possible to set a parameter value containing both single and double quotes. Prior to PHP 8.4.0, this resulted in a warning.
 XSLTProcessor::transformToDocAdded support for Dom\Document.
 XSLTProcessor::transformToUriAdded support for Dom\Document.
 XSLTProcessor::transformToXmlAdded support for Dom\Document.
8.3.0DateInterval::__constructNow throws DateMalformedIntervalStringException instead of Exception.
 DateInterval::createFromDateStringDateInterval::createFromDateString now throws DateMalformedStringException if an invalid string is passed. Previously, it returned false, and a warning was emitted. date_interval_create_from_date_string has not been changed.
 DatePeriod::__constructNow throws DateMalformedPeriodStringException instead of Exception.
 DateTime::__construct传递无效的字符串现在抛出 DateMalformedStringException 而不是 Exception。
 DateTimeInterface::getTimestamp超出范围的异常现在是 DateRangeError。
 DateTime::modify如果传递了无效的字符串,DateTime::modify 现在将抛出 DateMalformedStringException 。之前返回 false 并且发出警告。date_modify 尚未更改。
 DateTime::sub当尝试执行不受支持的操作时,DateTime::sub 现在会抛出 DateInvalidOperationException,而不是警告。date_sub 尚未更改。
 DateTimeImmutable::__constructNow throws DateMalformedStringException if an invalid string is passed, instead of Exception.
 DateTimeImmutable::modifyDateTimeImmutable::modify now throws DateMalformedStringException if an invalid string is passed. Previously, it returned false, and a warning was emitted.
 DateTimeImmutable::subNow throws a DateInvalidOperationException instead of a warning when an unsupported operation is attempted.
 DateTimeZone::__construct无效值现在返回 DateInvalidTimeZoneException 而不是生成 Exception。
 DOMCharacterData::afterCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMCharacterData::afterCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMCharacterData::appendDataThis function now has a tentative true return type.
 DOMCharacterData::beforeCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMCharacterData::replaceWithCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMChildNode::afterCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMChildNode::afterCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMChildNode::beforeCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMChildNode::replaceWithCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMDocument::appendCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMDocument::createAttributeNSCalling this method without specifying a prefix will now choose a prefix instead of assuming the default namespace. Previously this would create an attribute without a prefix and incorrectly apply the namespace to the owner element because default namespaces don't apply on attributes.
 DOMDocument::createAttributeNSCalling this method using a prefix that was already declared on the owner element with a different namespace URI will now change the new prefix to avoid creating namespace conflicts. This aligns the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_NAMESPACE_ERR.
 DOMDocument::loadThis function now has a tentative bool return type.
 DOMDocument::loadHTMLThis function now has a tentative bool return type.
 DOMDocument::loadHTMLFileThis function now has a tentative bool return type.
 DOMDocument::loadXMLThis function now has a tentative bool return type.
 DOMDocument::prependCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMDocument::replaceChildrenCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMDocument::saveXMLLIBXML_NOXMLDECL is now supported.
 DOMDocumentFragment::appendCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMDocumentFragment::prependCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMDocumentFragment::replaceChildrenCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::afterCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::afterCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::appendCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::beforeCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::prependCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::replaceChildrenCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMElement::replaceWithCalling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMParentNode::appendCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMParentNode::prependCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 DOMParentNode::replaceChildrenCalling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
 FFI::castCalling FFI::cast statically is now deprecated.
 FFI::cdefC functions returning void return a PHP null instead of FFI\CType::TYPE_VOID.
 FFI::loadFFI::load is now allowed in preload scripts when the current system user is the same as the one defined in the opcache.preload_user configuration directive.
 FFI::newCalling FFI::new statically is now deprecated.
 FFI::typeCalling FFI::type statically is now deprecated.
 array_pad在 8.3 版本之前,一次只能添加 1048576 个元素。 现在,它只受数组最大大小的限制。
 array_product当 array 值不能转换为 int 或 float 时,现在会发出 E_WARNING。之前会忽略 array 和 object,而其它的值会转换为 int。此外,现在也会转换定义了数字转换的对象(比如 GMP)而不是忽略它。
 array_sum当 array 值不能转换为 int 或 float 时,现在会发出 E_WARNING。之前会忽略 array 和 object,而其它的值会转换为 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如果最后一个字段仅包含未终止的 enclosure,则返回空字符串,而不是带有单个 NULL 字节的字符串。
 fileflags 包含任意无效值会抛出 ValueError。
 gc_statusgc_status 现在会返回以下附加字段: "running"、"protected"、 "full"、"buffer_size"、 "application_time"、"collector_time"、 "destructor_time" 和 "free_time"。
 get_class不带参数调用 get_class 现在会发出 E_DEPRECATED warning;之前,在类内部调用此函数会返回该类的名称。
 get_parent_class不带参数调用 get_parent_class 现在会发出 E_DEPRECATED warning;之前,在类内部调用此函数会返回该类的名称。
 highlight_file由此产生的 HTML 有所改变。
 highlight_string由此产生的 HTML 有所改变。
 imagerotate未使用的 ignore_transparent 已完全删除。
 ldap_connectCalling ldap_connect with separate hostname and port is now deprecated.
 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将负的 width 传递给 mb_strimwidth 现已废弃。
 mb_strtolower为希腊字母 sigma 实现了条件性大小写规则。
 mt_srandseed 现在可为 null。
 odbc_autocommitenable is now nullable.
 pg_convert当字段的值或类型不能正确匹配 PostgreSQL 的类型时,现在会抛出 ValueError 或 TypeError 错误;之前触发 E_WARNING。
 pg_fetch_object当 constructor_args 非空而类没有构造方法时,现在会抛出 ValueError 异常;之前抛出 Exception。
 pg_fetch_resultrow 现在可为 null。
 pg_field_is_nullrow 现在可为 null。
 pg_field_prtlenrow 现在可为 null。
 pg_insert当指定的表无效时,现在会抛出 ValueError 错误;之前触发 E_WARNING。
 pg_insert当字段的值或类型不能正确匹配 PostgreSQL 的类型时,现在会抛出 ValueError 或 TypeError 错误;之前触发 E_WARNING。
 pg_trace新增 trace_mode。
 posix_eaccessChecks the effective user/group for a file, differing from posix_access which checks from the real user/group.
 posix_getrlimitThe optional resource parameter has been added.
 posix_isattyType error E_WARNINGs are now raised for integer coercions following the usual PHP type coercion semantics.
 posix_ttynameType error E_WARNINGs are now raised for integer coercions following the usual PHP type coercion semantics.
 posix_ttynameOn invalid file_descriptor integer values an E_WARNING is now raised.
 proc_get_status返回的数组中添加了"cached" 条目。PHP 8.3.0 之前,只有第一次调用才会返回真正的 exit 代码。"cached" 条目表示已缓存 exit 代码。
 proc_open如果 command 是没有元素的空数组,将会抛出 ValueError。
 range如果 start 和 end 都是字符串,然后 range 现在将始终生成字节 array。之前如果其中一个边界值是数字字符串,然后另外一个边界值也会默默转换为 int。
 range如果 start 或 end 是字符串,并且由于另一个边界值是数字而默默转换为 int,现在将发出 E_WARNING。
 range如果 start 或 end 是多于一个字节的非数字字符串,现在将发出 E_WARNING。
 range如果 start 或 end 是空字符串,现在将发出 E_WARNING。
 range如果 step 是不带小数部分的 float,将解释为 int。
 range如果 step 是负数,当生成的范围是递增时,现在将抛出 ValueError。
 range如果 step 不是有限数值(finite),现在将抛出 ValueError。
 range如果 start 或 end 是 array、object 或 resource,现在将会抛出 TypeError。之前会默默地转换为 int。
 srandseed 现在可为 null。
 stream_notification_callbackSupport for STREAM_NOTIFY_COMPLETED implemented, earlier PHP versions would never trigger this notification.
 strrchr新增 before_needle 参数。
 strtok现在,当未提供 token 时,会抛出 E_WARNING。
 unserialize当传递的字符串有未消耗的数据时,现在会发出 E_WARNING。
 unserialize当传递的字符串不可序列化时,现在抛出 E_WARNING; 之前是抛出 E_NOTICE。
 IntlBreakIterator::setTextThis method now returns false on failure; previously it returns null.
 IntlChar::enumCharNamesThis method now returns false on failure; previously it returns null.
 IntlDateFormatter::setTimeZoneThis function now returns true on success; previously it returns null.
 mysqli_result::fetch_objectNow throws a ValueError exception when the constructor_args is non-empty with the class not having constructor; previously an Exception was thrown.
 mysqli::poll现在,当没有传递 read 和 error 参数时抛出 ValueError 异常。
 Phar::setStubCalling Phar::setStub with a resource and a length is now deprecated. Such calls should be replaced by: $phar->setStub(stream_get_contents($resource));
 ReflectionClass::getStaticPropertiesReflectionClass::getStaticProperties 的返回类型已经从 array 更改为 ?array。
 ReflectionProperty::setValueCalling this method with a single argument is deprecated, ReflectionClass::setStaticPropertyValue should be used instead to modify static properties.
 SQLite3::enableExceptionsCalling SQLite3::enableExceptions with enable as false will trigger a E_DEPRECATED warning.
 ZipArchive::addFileZipArchive::FL_OPEN_FILE_NOW was added.
 ZipArchive::addFileZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.
 ZipArchive::addGlobZipArchive::FL_OPEN_FILE_NOW was added.
 ZipArchive::replaceFileZipArchive::FL_OPEN_FILE_NOW was added.
 ZipArchive::replaceFileZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.
8.2.9DateTimeImmutable::createFromFormatThe (space) specifier now also supports NBSP (U+A0) and NNBSP (U+202F) characters.
8.2.1SplFileObject::__toStringChanged from an alias of SplFileObject::fgets to an implementation of SplFileObject::current which returns a CSV string when the SplFileObject::READ_CSV flag is set.
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::__constructOnly the y to f, invert, and days will be visible, including a new from_string boolean property.
 DateInterval::createFromDateStringOnly the from_string and date_string properties will be visible when a DateInterval is created with this method.
 DatePeriod::__constructThe DatePeriod::INCLUDE_END_DATE constant has been added.
 DateTimeInterface::format新增 X 和 x 格式化字符。
 DateTimeImmutable::createFromFormatThe X and x format specifiers have been added.
 DateTimeImmutable::createFromFormatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
 DateTimeImmutable::getLastErrorsBefore PHP 8.2.0, this function did not return false when there were no warnings or errors. Instead, it would always return the documented array structure.
 FilesystemIterator::__constructPrior to PHP 8.2.0, FilesystemIterator::SKIP_DOTS was always set and could not be removed.
 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_formatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
 dba_fetchdba_fetch 的可选参数 skip 现在在最后, 与 PHP 用户空间语义一致。以前的重载签名仍然被接受,但不推荐使用。
 dba_openflags 参数被添加。
 dba_openhandler 现在可以为 null。
 dba_popenflags 参数被添加。
 dba_popenhandler 现在可以为 null。
 getimagesize现在将正确返回 AVIF 图像的实际尺寸、bits 和 channels;以前,尺寸报告为 0x0,并且不会报告 bits 和 channels。
 idate添加 N(ISO-8601 格式的周几)和 o(ISO-8601 格式的年份)格式字符。
 iterator_countiterator 的类型从 Traversable 扩展为 Traversablearray。
 iterator_to_arrayiterator 的类型从 Traversable 扩展为 Traversablearray。
 krsort现在返回类型为 true;之前是 bool。
 krsort此函数现在在 SORT_REGULAR 下使用标准 PHP 8 规则进行数字字符串比较。
 ksort现在返回类型为 true;之前是 bool。
 ksort此函数现在在 SORT_REGULAR 下使用标准 PHP 8 规则进行数字字符串比较。
 lcfirst大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 mb_convert_encodingmb_convert_encoding 将不再返回以下非文本编码:"Base64"、"QPrint"、"UUencode"、"HTML entities"、"7 bit" 和 "8 bit"。
 mb_convert_kanaA ValueError is now thrown if the combination of different modes is invalid.
 mb_detect_encodingmb_detect_encoding 将不再返回以下非文本编码:"Base64"、"QPrint"、"UUencode"、"HTML entities"、"7 bit" 和 "8 bit"。
 natcasesort现在返回类型为 true;之前是 bool。
 natsort现在返回类型为 true;之前是 bool。
 openlogThe function now always returns true. Previously it returned false on failure.
 pg_close现在返回类型为 true;之前是 bool。
 pg_untrace现在返回类型为 true;之前是 bool。
 random_bytesIn case of a CSPRNG failure, this function will now throw a Random\RandomException. Previously a plain Exception was thrown.
 random_intCSPRNG 失败时,此函数现在将抛出 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如果 string 为空,现在返回空 array。之前返回的 array 包含单个空字符串。
 strcasecmp当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -1 或 1。
 strcmp当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -1 或 1。
 stripos大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 stristr大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 strnatcasecmp当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -1 或 1。
 strnatcmp当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -1 或 1。
 strncasecmp当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -1 或 1。
 strncmp当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -1 或 1。
 strripos大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 strtolower大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 strtoupper大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 substr_compare当字符串长度不相等时,此函数不再保证返回 strlen($string1) - strlen($string2), 而可能返回 -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::__toStringChanged from an alias of SplFileObject::fgets to an implementation of SplFileObject::current which returns a CSV string when the SplFileObject::READ_CSV flag is set.
8.1.8DateTimeImmutable::createFromFormatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
 date_parse_from_formatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
8.1.0DateTime::setTimeThe behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
 DateTimeImmutable::setTimeThe behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
 DirectoryIterator::keyWhen the iterator is uninitialized, an Error is thrown now. Previously, the method returned false.
 DOMDocument::createCommentIn case of an error, a DomException is thrown now. Previously, false was returned.
 DOMDocument::createDocumentFragmentIn case of an error, a DomException is thrown now. Previously, false was returned.
 DOMDocument::createTextNodeIn case of an error, a DomException is thrown now. Previously, false was returned.
 current弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars 将 object 转换为 array,要么使用实现 Iterator 的类提供的方法,例如 ArrayIterator。
 date_sunrise此函数已弃用,请改用 date_sun_info。
 date_sunset此函数已弃用,请改用 date_sun_info。
 end弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars 将 object 转换为 array,要么使用实现 Iterator 的类提供的方法,例如 ArrayIterator。
 exif_imagetype新增 AVIF 支持。
 finfo_bufferfinfo 参数现在接受 finfo 实例,之前接受 resource。
 finfo_closefinfo 参数现在接受 finfo 实例,之前接受 resource。
 finfo_filefinfo 参数现在接受 finfo 实例,之前接受 resource。
 finfo_open现在返回 finfo 实例,之前返回 resource。
 finfo_set_flagsfinfo 参数现在接受 finfo 实例,之前接受 resource。
 fputcsv新增可选的 eol 参数。
 ftp_alloc现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_append现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_cdup现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_chdir现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_chmod现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_close现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_connect现在返回 FTP\Connection 实例;之前返回 resource。
 ftp_delete现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_exec现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_fget现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_fput现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_get现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_get_option现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_login现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_mdtm现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_mkdir现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_mlsd现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_nb_continue现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_nb_fget现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_nb_fput现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_nb_get现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_nb_put现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_nlist现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_pasv现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_put现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_pwd现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_raw现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_rawlist现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_rename现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_rmdir现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_set_option现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_site现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_size现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 ftp_ssl_connect现在返回 FTP\Connection 实例;之前返回 resource。
 ftp_systype现在 ftp 参数接受 FTP\Connection 实例,之前接受 resource。
 get_html_translation_tableflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 gmp_initSupport for explicit octal prefixes 0o and 0o has been added for num strings. Interpretation of such prefixes when base is 0 has also been added.
 hash新增 options 参数。
 hash_algos新增对 MurmurHash3 和 xxHash 算法的支持。
 hash_file新增 options 参数。
 hash_init新增 options 参数。
 html_entity_decodeflags changed from ENT_COMPAT to 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。
 imagefilledpolygon弃用参数 num_points。
 imagefontheightfont 参数现在接受 GdFont 实例和 int,之前仅接受 int。
 imagefontwidthfont 参数现在接受 GdFont 实例和 int,之前仅接受 int。
 imageloadfont现在返回 GdFont 实例;之前返回 int。
 imageopenpolygonThe parameter num_points has been deprecated.
 imagepolygon弃用参数 num_points。
 imagestringfont 参数现在接受 GdFont 实例和 int,之前仅接受 int。
 imagestringupfont 参数现在接受 GdFont 实例和 int,之前仅接受 int。
 imagetypes新增 IMG_AVIF。
 ini_setvalue 现在接受任何标量类型(包含 null),之前仅接受 string 值。
 key弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars 将 object 转换为 array,要么使用实现 Iterator 的类提供的方法,例如 ArrayIterator。
 ldap_add现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_add_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_add_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_bind现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_bind_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_bind_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_compare现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_connectReturns an LDAP\Connection instance now; previously, a resource was returned.
 ldap_count_entries现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_count_entriesThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_count_references现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_count_referencesThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_delete现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_delete_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_delete_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_errno现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_error现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_exop现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_exop_passwd现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_exop_refresh现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_exop_whoami现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_first_attribute现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_first_attributeThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_first_entry现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_first_entryThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_first_entryReturns an LDAP\ResultEntry instance now; previously, a resource was returned.
 ldap_free_resultThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_get_attributes现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_get_attributesThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_get_dn现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_get_dnThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_get_entries现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_get_entriesThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_get_option现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_get_values现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_get_valuesThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_get_values_len现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_get_values_lenThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_list现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_listReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_mod_add现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_mod_del现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_mod_replace现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_modify_batch现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_mod_add_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_mod_add_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_mod_del_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_mod_del_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_mod_replace_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_mod_replace_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_next_attribute现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_next_attributeThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_next_entry现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_next_entryThe entry parameter expects an LDAP\ResultEntry instance now; previously, a valid ldap result entry resource was expected.
 ldap_next_entryReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_parse_exop现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_parse_exopThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_parse_result现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_parse_resultThe result parameter expects an LDAP\Result instance now; previously, a valid ldap result resource was expected.
 ldap_read现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_readReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_rename现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_rename_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_rename_extReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_sasl_bind现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_search现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_searchReturns an LDAP\Result instance now; previously, a resource was returned.
 ldap_set_option现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_set_rebind_proc现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 ldap_unbind现在 ldap 参数接受 LDAP\Connection 实例,之前接受有效的 ldap link resource。
 mb_check_encoding弃用使用 null 作为 value 或不带参数调用此函数。
 mhashThis function has been deprecated. Use the hash_*() functions instead.
 mhash_countThis function has been deprecated. Use the hash_*() functions instead.
 mhash_get_block_sizeThis function has been deprecated. Use the hash_*() functions instead.
 mhash_get_hash_nameThis function has been deprecated. Use the hash_*() functions instead.
 mhash_keygen_s2kThis function has been deprecated. Use the hash_*() functions instead.
 next弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars 将 object 转换为 array,要么使用实现 Iterator 的类提供的方法,例如 ArrayIterator。
 odbc_result_allThis function has been deprecated.
 openssl_cms_encryptThe default cipher algorithm (cipher_algo) is now AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Previously, PKCS7/CMS was used (OPENSSL_CIPHER_RC2_40).
 openssl_decrypttag 现在可为 null。
 openssl_pkcs7_encrypt默认密码算法(cipher_algo)现在是 AES-128-CBC(OPENSSL_CIPHER_AES_128_CBC)。以前,使用 PKCS7/CMS (OPENSSL_CIPHER_RC2_40)。
 pg_affected_rows现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_cancel_query现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_client_encoding现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_close现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_connect现在返回 PgSql\Connection 实例;之前返回 resource。
 pg_connect_poll现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_connection_busy现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_connection_reset现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_connection_status现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_consume_input现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_convert现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_copy_from现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_copy_to现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_dbname现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_delete现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_end_copy现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_escape_bytea现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_escape_identifier现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_escape_literal现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_escape_string现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_execute现在返回 PgSql\Result 实例,之前返回 resource
 pg_execute现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_fetch_all现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_fetch_all_columns现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_fetch_array现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_fetch_assoc现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_fetch_object现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_fetch_result现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_fetch_row现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_is_null现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_name现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_num现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_prtlen现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_size现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_table现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_type现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_field_type_oid现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_flush现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_free_result现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_get_notify现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_get_pid现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_get_result现在返回 PgSql\Result 实例,之前返回 resource
 pg_get_result现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_host现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_insert现在返回 PgSql\Result 实例,之前返回 resource
 pg_insert现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_last_error现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_last_notice现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_last_oid现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_lo_close现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_lo_create现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_lo_export现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_lo_import现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_lo_open现在返回 PgSql\Lob 实例;之前返回 resource。
 pg_lo_open现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_lo_read现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_lo_read_all现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_lo_seek现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_lo_tell现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_lo_truncate现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_lo_unlink现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_lo_write现在 lob 接受 PgSql\Lob 实例,之前接受 resource。
 pg_meta_data现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_num_fields现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_num_rows现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_options现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_parameter_status现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_pconnect现在返回 PgSql\Connection 实例;之前返回 resource。
 pg_ping现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_port现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_prepare现在返回 PgSql\Result 实例,之前返回 resource
 pg_prepare现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_put_line现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_query现在返回 PgSql\Result 实例,之前返回 resource
 pg_query现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_query_params现在返回 PgSql\Result 实例,之前返回 resource
 pg_query_params现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_result_error现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_result_error_field现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_result_seek现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_result_status现在 result 参数接受 PgSql\Result 实例,之前接受 resource。
 pg_select现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_send_execute现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_send_prepare现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_send_query现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_send_query_params现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_set_client_encoding现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_set_error_verbosity现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_socket现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_trace现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_transaction_status现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_tty现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_untrace现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_update现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 pg_version现在 connection 参数接受 PgSql\Connection 实例,之前接受 resource。
 prev弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars 将 object 转换为 array,要么使用实现 Iterator 的类提供的方法,例如 ArrayIterator。
 reset弃用在 object 上调用此函数。 要么首先使用 get_mangled_object_vars 将 object 转换为 array,要么使用实现 Iterator 的类提供的方法,例如 ArrayIterator。
 snmp3_getThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 snmp3_getnextThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 snmp3_real_walkThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 snmp3_walkThe auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.
 stream_selectmicroseconds is now nullable.
 strptime此函数已弃用。改用 date_parse_from_format(用于单独区域设置解析)或者 IntlDateFormatter::parse(用于依赖区域设置解析)
 IntlDateFormatter::createParameters dateType and timeType are now optional.
 MultipleIterator::currentA RuntimeException is now thrown if MultipleIterator::current is called on an invalid iterator. Previously, false was returned.
 MultipleIterator::keyA RuntimeException is now thrown if MultipleIterator::key is called on an invalid iterator. Previously, false was returned.
 mysqli_driver::$report_modeThe default value is now MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT. Previously, it was MYSQLI_REPORT_OFF.
 mysqli_result::fetch_allNow also available when linking against libmysqlclient.
 mysqli_stmt::executeThe optional params parameter has been added.
 mysqli_stmt::next_resultNow also available when linking against libmysqlclient.
 mysqli::__constructmysqli::connect now returns true instead of null on success.
 mysqli::$client_info弃用使用 mysql 参数调用 mysqli_get_client_info。此函数从不需要参数,但错误的允许其作为可选参数。
 mysqli::$client_info弃用面向对象风格的 mysqli::get_client_info。
 mysqli::init弃用面向对象风格的 mysqli::init 方法。用 parent::__construct 替换对 parent::init 的调用。
 Phar::buildFromDirectoryPhar::buildFromDirectory no longer returns false.
 Phar::buildFromIteratorPhar::buildFromIterator no longer returns false.
 PharData::buildFromDirectoryPharData::buildFromDirectory no longer returns false.
 PharData::buildFromIteratorPharData::buildFromIterator no longer returns false.
 ReflectionFunctionAbstract::isStatic此方法已提升。之前仅定义于 ReflectionMethod。
 ReflectionClassConstant::getNameThrows an Error in case the name property has not been initialized. Previously, the method returned false on failure.
 ReflectionExtension::__clone此函数不再是 final。
 ReflectionFunctionAbstract::__clone此函数不再是 final。
 ReflectionParameter::__cloneThis method is no longer final.
 ReflectionProperty::__cloneThis method is no longer final.
 ReflectionProperty::getValuePrivate and protected properties can be accessed by ReflectionProperty::getValue right away. Previously, they needed to be made accessible by calling ReflectionProperty::setAccessible; otherwise a ReflectionException was thrown.
 ReflectionProperty::setValuePrivate and protected properties can be accessed by ReflectionProperty::setValue right away. Previously, they needed to be made accessible by calling ReflectionProperty::setAccessible; otherwise a ReflectionException was thrown.
 ReflectionZendExtension::__cloneThis method is no longer final.
 SimpleXMLElement::currentAn Error is now thrown if SimpleXMLElement::current is called on an invalid iterator. Previously, null was returned.
 SimpleXMLElement::keyAn Error is now thrown if SimpleXMLElement::key is called on an invalid iterator. Previously, false was returned.
 SplFileObject::fputcsvThe optional eol parameter has been added.
 SplObjectStorage::currentSplObjectStorage::current now throws an Error exception if the current position is invalid. Previously, false was returned instead.
 SQLite3Result::finalizeThis method now throws an Error exception if the object is not correct initialized. Previously, it returned false.
 SQLite3Stmt::closeThis method now throws an Error exception if the object is not correct initialized. Previously, it returned false.
8.0.21DateTimeImmutable::createFromFormatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
 date_parse_from_formatNow throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
8.0.21、8.1.8、8.2.0DateTime::createFromFormat现在,当将 NULL 字节传递到 datetime 时,会引发 ValueError,而之前会默默忽略该错误。
8.0.5imageinterlaceimageinterlace 现在返回 bool;之前返回 int(非零为隔行扫描图像,否则为 0)
8.0.3DOMDocument::getElementsByTagNameNSnamespace is nullable now.
 DOMElement::getElementsByTagNameNSnamespace is nullable now.
 DOMImplementation::createDocumentnamespace is now nullable.
 finfo::__constructmagic_database is nullable now.
 bind_textdomain_codesetcodeset is nullable now. Previously, it was not possible to retrieve the currently set encoding.
 bindtextdomaindirectory is nullable now. Previously, it was not possible to retrieve the currently set directory.
 finfo_openmagic_database 现在可以为 null。
 imagegdfile 现在可以为 null。
 imagegd2file 现在可以为 null。
 SoapClient::__setLocationlocation is nullable now.
 SoapVar::__constructtypeName, typeNamespace, nodeName,and nodeNamespace are nullable now.
8.0.0CURLFile::__constructmime_type 和 posted_filename 现在可以为 null;之前它们的默认值是 0。
 DateInterval::__constructW can be combined with D.
 DateTime::createFromImmutableThe method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTime.
 DateTimeInterface::format新增 p 格式化字符。
 DateTimeInterface::getTimestamp这些函数在失败时不再返回 false。
 DateTimeImmutable::createFromMutableThe method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTimeImmutable.
 DateTimeZone::listIdentifiers在此版本之前,失败时返回 false。
 Directory::close不接受任何参数。在此之前,目录句柄可以作为参数传递。
 Directory::read不接受任何参数。在此之前,目录句柄可以作为参数传递。
 Directory::rewind不接受任何参数。在此之前,目录句柄可以作为参数传递。
 DirectoryIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 DOMDocument::loadCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMDocument::loadHTMLCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMDocument::loadHTMLFileCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMDocument::loadXMLCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMImplementation::createDocumentdoctype is now nullable.
 DOMImplementation::createDocumentCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMImplementation::createDocumentTypeCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 DOMImplementation::hasFeatureCalling this function statically will now throw an Error. Previously, an E_DEPRECATED was raised.
 FFI::cdeflib is nullable now.
 FFI::stringsize is nullable now; previously, its default was 0.
 FilesystemIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 absnum 不再接受支持数字转换的内部对象。
 apache_note现在 note_value 可为 null。
 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如果 array_fill 的 count 超出范围现在将会抛出 ValueError, 之前会引发 E_WARNING 且函数返回 false。
 array_filtercallback 现在可为空(nullable)。
 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 现在可为空(nullable)。
 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。
 bcadd现在 scale 可以为 null。
 bccomp现在 scale 可以为 null。
 bcdiv现在 scale 可以为 null。
 bcdiv现在,除以 0 会引发 DivisionByZeroError 异常,而不是返回 null。
 bcmod现在 scale 可以为 null。
 bcmod现在,除以 0 会引发 DivisionByZeroError 异常,而不是返回 null。
 bcmul现在 scale 可以为 null。
 bcpow当 exponent 有小数部分时,现在会抛出 ValueError 而不是截断。
 bcpowmodscale is now nullable.
 bcpowmodNow throws a ValueError instead of returning false if exponent is a negative value.
 bcpowmodDividing by 0 now throws a DivisionByZeroError exception instead of returning false.
 bcscale现在 scale 可以为 null。
 bcsqrt如果 num 不是格式良好的 BCMath 数字字符串,或小于 0,则会引发 ValueError 错误。之前,会引发 E_WARNING 错误。
 bcsqrt现在,scale 的取值范围必须在 0 到 2147483647 之间;之前,负数的 scale 值会被静默处理为 0。
 bcsqrt现在 scale 可以为 null。
 bcsub现在 scale 可以为 null。
 bzdecompressuse_less_memory 的类型从 int 变为 bool。 之前默认值为 0。
 bzwritelength 现在可为空(nullable)。
 call_user_func_arrayargs 键现在将被解释为参数名称,而不是被默默地忽略。
 ceilnum 不再接受支持数字转换的内部对象。
 com_event_sinksink_interface is nullable now.
 com_get_active_objectcodepage is nullable now.
 compact如果指定字符串引用了未设置的变量,现在会发出 E_WARNING 级别的错误。
 constant如果常量未定义,constant 现在会抛出 Error 异常。以前会产生一个 E_WARNING 级别的错误并返回 null。
 convert_uuencode在此版本之前,尝试转换空字符串将返回 false,没有任何特殊原因。
 count当 value 参数传入了无效的 countable 类型, count 现在会抛出 TypeError。
 count_chars在此版本之前,函数在失败时返回 false。
 cryptsalt不再可选。
 curl_closehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_copy_handlehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_copy_handle现在成功时,此函数返回 CurlHandle 实例,之前返回 resource。
 curl_errnohandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_errorhandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_escapehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_exechandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_getinfohandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_getinfooption 现在可为 null;之前默认值是 0。
 curl_init此函数成功时现在返回 CurlHandle 实例;之前返回 resource。
 curl_initurl 现在可为 null。
 curl_multi_add_handlemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_add_handlehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_multi_closemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_errno失败时此函数不再返回 false。
 curl_multi_errnomulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_execmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_getcontenthandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_multi_info_readmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_init成功时,此函数返回 CurlMultiHandle 实例;之前返回 resource。
 curl_multi_remove_handlemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_remove_handlehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_multi_selectmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_setoptmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_pausehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_resethandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_setopthandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_setopt_arrayhandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_share_closeshare_handle expects a CurlShareHandle instance now; previously, a resource was expected.
 curl_share_errno失败时函数不再返回 false。
 curl_share_errnoshare_handle expects a CurlShareHandle instance now; previously, a resource was expected.
 curl_share_init此函数现在返回 CurlShareHandle 实例,之前返回 resource。
 curl_share_setoptshare_handle expects a CurlShareHandle instance now; previously, a resource was expected.
 curl_unescapehandle 现在接受 CurlHandle 实例;之前接受 resource。
 curl_version移除可选的 age 参数。
 date现在 timestamp 允许为 null。
 date_sunriselatitude, longitude, zenith and utcOffset are nullable now.
 date_sunsetlatitude, longitude, zenith and utcOffset are nullable now.
 define现在传递 true 到 case_insensitive 会发出 E_WARNING。仍然允许传递 false。
 deflate_addcontext expects a DeflateContext instance now; previously, a resource was expected.
 deflate_initOn success, this function returns a DeflateContext instance now; previously, a resource was returned.
 dircontext 现在可为空(nullable)。
 dom_import_simplexmlThis function no longer returns null on failure.
 easter_dateyear 现在可为空(nullable)。
 easter_date当 year 超出允许的范围现在抛出 ValueError。之前函数会返回 false 会触发 E_WARNING。
 easter_daysyear 现在可为空(nullable)。
 enchant_broker_describebroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_describePrior to this version, the function returned false on failure.
 enchant_broker_dict_existsbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_freeThis function has been deprecated in favor of unsetting the object.
 enchant_broker_freebroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_free_dictThis function has been deprecated in favor of unsetting the object.
 enchant_broker_free_dictdictionary expects a EnchantDictionary now; previoulsy, a resource was expected.
 enchant_broker_get_dict_pathThis function has been deprecated.
 enchant_broker_get_dict_pathbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_get_errorbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_initOn success, this function returns an EnchantBroker instance now; previously, a resource was returned.
 enchant_broker_list_dictsbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_list_dictsPrior to this version, the function returned false on failure.
 enchant_broker_request_dictbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_request_dictOn success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.
 enchant_broker_request_pwl_dictbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_request_pwl_dictOn success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.
 enchant_broker_set_dict_pathThis function has been deprecated.
 enchant_broker_set_dict_pathbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_broker_set_orderingbroker expects an EnchantBroker instance now; previoulsy, a resource was expected.
 enchant_dict_adddictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_add_to_sessiondictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_checkdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_describedictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_describePrior to this version, the function returned false on failure.
 enchant_dict_get_errordictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_is_addeddictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_quick_checkdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_store_replacementdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 enchant_dict_suggestdictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
 error_log现在 destination 和 additional_headers 允许为 null。
 error_reportingerror_level 现在可以为空。
 exec如果 command 为空或者包含 null 字节,exec 现在将抛出 ValueError。之前会发出 E_WARNING 并返回 false。
 exif_read_datarequired_sections 现在可以为空。
 fgetcsv现在 length 允许为 null.
 file_get_contents现在 length 允许为 null。
 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。
 fwrite现在 length 可以为 null。
 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_headersassociative 从 int 更改为 bool。
 get_parent_classobject_or_class 参数现在仅接受对象或者有效的类名。
 get_resourcestype is nullable now.
 getdate现在 timestamp 允许为 null。
 getenvname 现在可为 null。
 gmdate现在 timestamp 允许为 null。
 gmmktimehour 不再可选。如果需要获取 Unix 时间戳,可以使用 time。
 gmmktime现在 minute、second、month、day 和 year 可以为 null。
 gmp_binomialThis function no longer returns false on failure.
 gmp_exportThis function no longer returns false on failure.
 gmp_importThis function no longer returns false on failure.
 gmp_random_seedIf seed is invalid, gmp_random_seed now throws a ValueError. Previously it emitted an E_WARNING and returned false.
 gmstrftime现在 timestamp 允许为 null。
 grapheme_substrThe function now consistently clamps out-of-bounds offsets to the string boundary. Previously, false was returned instead of the empty string in some cases.
 gzgetslength is nullable now; previously, the default was 1024.
 gzwritelength is nullable now; previously, the default was 0.
 hash如果 algo 未知,现在 hash 将抛出 ValueError 异常,之前返回 false。
 hash_hkdfNow throws a ValueError exception on error. Previously, false was returned and an E_WARNING message was emitted.
 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 is nullable now.
 htmlentitiesencoding 现在可以为 null。
 http_build_queryarg_separator 现在可为 null。
 iconv_mime_decodeencoding 现在可为 null。
 iconv_mime_decode_headersencoding 现在可为 null。
 iconv_strlenencoding 现在可为 null。
 iconv_strposencoding is nullable now.
 iconv_strrposencoding is nullable now.
 iconv_substrlength 和 encoding 现在可为 null。
 idate现在 timestamp 允许为 null。
 ignore_user_abortenable 现在允许为 null。
 imageaffineclip 现在允许为 null。
 imageaffine成功时此函数现在返回 GDImage 实例;之前返回 resource。
 imagealphablendingimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imageantialiasimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagearcimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagebmpimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagebmpThe type of compressed is bool now; formerly it was int.
 imagecharimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecharupimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorallocateimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorallocatealphaimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecoloratimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorclosestimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorclosesthwbimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolordeallocateimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorexactimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorexactalphaimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolormatchimage1 和 image2 现在需要 GdImage 实例,之前需要 resource。
 imagecolorresolveimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorresolvealphaimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorsetimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorsforindeximage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolorsforindex如果 color 超出范围,imagecolorsforindex 现在抛出 ValueError 异常;之前返回 false。
 imagecolorstotalimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolortransparentimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecolortransparentcolor 现在允许为 null。
 imageconvolutionimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecopydst_image 和 src_image 现在需要 GdImage 实例;之前需要 resource。
 imagecopymergedst_image 和 src_image 现在需要 GdImage 实例;之前需要 resource。
 imagecopymergegraydst_image 和 src_image 现在需要 GdImage 实例,之前需要 resource。
 imagecopyresampleddst_image 和 src_image 现在需要 GdImage 实例,之前需要 resource。
 imagecopyresizeddst_image 和 src_image 现在需要 GdImage 实例,之前需要 resource。
 imagecreate成功时,此函数现在返回 GDImage 实例,之前返回 resource。
 imagecreatefrombmpOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromgd成功时,此函数现在返回 GDImage 实例,之前返回 resource。
 imagecreatefromgd2成功时,此函数现在返回 GDImage 实例,之前返回 resource。
 imagecreatefromgd2part成功时,此函数现在返回 GDImage 实例,之前返回 resource。
 imagecreatefromgif成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefromjpeg成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefrompng成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefromstring成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefromtgaOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromwbmp成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefromwebp成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefromxbm成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatefromxpm成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecreatetruecolor成功时,此函数现在返回 GDImage 实例;之前返回 resource。
 imagecropimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecropOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecropautoimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagecropautoOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagedashedlineimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagedestroy此函数现在是 NOP(空操作)。
 imagedestroyimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imageellipseimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefillimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefilledarcimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefilledellipseimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefilledpolygonimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefilledrectangleimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefilltoborderimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefilterimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imageflipimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagefttextimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegammacorrectimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegdimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegd2image 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegetclipimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegetinterpolationimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegifimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagegrabscreenOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagegrabwindowOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagegrabwindowclient_area expects a bool now; previously it expected an int.
 imageinterlaceimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imageinterlaceenable 现在接受 bool;之前接受 int。
 imageistruecolorimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagejpegimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagelayereffectimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagelineimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imageopenpolygonimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagepalettecopydst 和 src 现在接受 GdImage 实例;之前接受 resource。
 imagepalettetotruecolorimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagepngimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagepolygonimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagerectangleimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imageresolutionresolution_x and resolution_y are now nullable.
 imagerotate成功时此函数现在返回 GDImage 实例;之前返回 resource。
 imagerotateimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagerotate未使用的 ignore_transparent 现在接受 bool;之前接受 int。
 imagesavealphaimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagescaleOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagescaleimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesetbrushimage 和 brush 现在需要 GdImage 实例,之前需要 resource。
 imagesetclipimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesetinterpolationimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesetpixelimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesetthicknessimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesettileimage 和 tile 现在需要 GdImage 实例;之前需要 resource。
 imagestringimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagestringupimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesximage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagesyimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagetruecolortopaletteimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagettfbbox新增 options。
 imagettftext新增 options。
 imagewbmpimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagewbmpforeground_color 现在允许为 null。
 imagewebpimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagexbmimage 现在需要 GdImage 实例;之前需要有效的 gd resource。
 imagexbmforeground_color 现在允许为 null。
 imagexbm第四个参数未使用,已移除。
 implode在 array 之后传递 separator 已不再支持。
 inflate_addcontext expects an InflateContext instance now; previously, a resource was expected.
 inflate_get_read_lencontext expects an InflateContext instance now; previously, a resource was expected.
 inflate_get_statuscontext expects an InflateContext instance now; previously, a resource was expected.
 inflate_initOn success, this function returns an InflateContext instance now; previously, a resource was returned.
 intval对象转换时的错误级别已从 E_NOTICE 更改为 E_WARNING。
 is_numeric以空格结尾的数字字符串("42 ")现在将返回 true。以前,会返回 false。
 jdtounix此函数在失败时不再返回 false,而是引发 ValueError。
 ldap_addcontrols is nullable now; previously, it defaulted to [].
 ldap_add_extcontrols is nullable now; previously, it defaulted to [].
 ldap_bind_extcontrols is nullable now; previously, it defaulted to [].
 ldap_comparecontrols is nullable now; previously, it defaulted to [].
 ldap_control_paged_resultThis function has been removed.
 ldap_control_paged_result_responseThis function has been removed.
 ldap_deletecontrols is nullable now; previously, it defaulted to [].
 ldap_delete_extcontrols is nullable now; previously, it defaulted to [].
 ldap_exop_passwdcontrols is nullable now; previously, it defaulted to [].
 ldap_first_attributeThe unused third parameter ber_identifier is no longer accepted.
 ldap_listcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_addcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_delcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_replacecontrols is nullable now; previously, it defaulted to [].
 ldap_modify_batchcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_add_extcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_del_extcontrols is nullable now; previously, it defaulted to [].
 ldap_mod_replace_extcontrols is nullable now; previously, it defaulted to [].
 ldap_next_attributeThe unused third parameter ber_identifier is no longer accepted.
 ldap_readcontrols is nullable now; previously, it defaulted to [].
 ldap_renamecontrols is nullable now; previously, it defaulted to [].
 ldap_rename_extcontrols is nullable now; previously, it defaulted to [].
 ldap_sasl_binddn, password, mech, realm, authc_id, authz_id and props are nullable now.
 ldap_searchcontrols is nullable now; previously, it defaulted to [].
 ldap_set_rebind_proccallback is nullable now.
 ldap_sortThis function has been removed.
 levenshtein在此版本之前,必须使用两个或者五个参数调用 levenshtein。
 levenshtein在此版本之前,如果某个参数字符串的长度超过 255 个字符,则 levenshtein 将会返回 -1。
 libxml_disable_entity_loaderThis function has been deprecated.
 libxml_use_internal_errorsuse_errors is nullable now. Previously, its default was false.
 localtime现在 timestamp 可为 null。
 maxmax 现在失败时会抛出 ValueError;之前会返回 false 并发出 E_WARNING 错误。
 max由于 字符串到数字的比较 已经改变,max 在这些情况下不再根据参数的顺序返回不同的值。
 mb_check_encodingvalue 和 encoding 现在可以为 null。
 mb_chr现在 encoding 可以为 null。
 mb_convert_encoding现在,当 to_encoding 为无效编码时, mb_convert_encoding 会抛出 ValueError。
 mb_convert_encoding现在,当 from_encoding 为无效编码时, mb_convert_encoding 会抛出 ValueError。
 mb_convert_encoding现在 from_encoding 可以传入 null。
 mb_convert_kana现在 encoding 可以为 null。
 mb_decode_numericentity现在 encoding 可以为 null。
 mb_detect_order现在 encoding 可以为 null。
 mb_encode_mimeheadercharset 和 transfer_encoding 现在可以为空。
 mb_encode_numericentity现在 encoding 可以为 null。
 mb_encoding_aliasesIf the encoding is unknown, a ValueError is now thrown; previously an E_WARNING was emitted, and the function returned false.
 mb_eregThis function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
 mb_ereg_matchoptions is nullable now.
 mb_ereg_replaceoptions is nullable now.
 mb_ereg_replace_callbackoptions is nullable now.
 mb_ereg_searchpattern and options are nullable now.
 mb_ereg_search_initpattern and options are nullable now.
 mb_ereg_search_pospattern and options are nullable now.
 mb_ereg_search_regspattern and options are nullable now.
 mb_eregiThis function returns true on success now. Previously, it returned the byte length of the matched string if a match for pattern was found in string and matches was passed. If the optional parameter matches was not passed or the length of the matched string was 0, this function returned 1.
 mb_eregi_replaceoptions is nullable now.
 mb_get_info参数 type 中的 "func_overload" 和 "func_overload_list" 不再被支持。
 mb_http_inputtype 现在可为 null。
 mb_http_output现在 encoding 可以为 null。
 mb_internal_encoding现在 encoding 可以为 null。
 mb_internal_encoding如果 encoding 是无效编码,现在抛出 ValueError。以前发出的是 E_WARNING。
 mb_languagelanguage 现在可为 null。
 mb_ord现在 encoding 可以为 null。
 mb_parse_str第二个参数不再可选。
 mb_regex_encoding现在 encoding 可以为 null。
 mb_regex_set_optionsIf the parameter options is given and not null, the previous options are returned. Formerly, the current options have been returned.
 mb_regex_set_optionsoptions is nullable now.
 mb_regex_set_optionsThe "e" option now throws a ValueError.
 mb_scrub现在 encoding 可以为 null。
 mb_send_mailadditional_params 现在可为 null。
 mb_str_split现在 encoding 可以为 null。
 mb_str_split此函数在失败时不再返回 false。
 mb_strcut现在 encoding 可以为 null。
 mb_strimwidth现在 encoding 可以为 null。
 mb_stripos现在 needle 接受空字符串。
 mb_stripos现在 encoding 可以为 null。
 mb_stristr现在 needle 接受空字符串。
 mb_stristr现在 encoding 可以为 null。
 mb_strlen现在 encoding 可以为 null。
 mb_strpos现在 needle 接受空字符串。
 mb_strpos现在 encoding 可以为 null。
 mb_strrchr现在 needle 接受空字符串。
 mb_strrchr现在 encoding 可以为 null。
 mb_strrichr现在 needle 接受空字符串。
 mb_strrichr现在 encoding 可以为 null。
 mb_strripos现在 needle 接受空字符串。
 mb_strripos现在 encoding 可以为 null。
 mb_strrpos现在 needle 接受空字符串。
 mb_strrpos已经删除将 encoding 作为第三个参数而不是偏移量传递。
 mb_strrpos现在 encoding 可以为 null。
 mb_strstr现在 needle 接受空字符串。
 mb_strstr现在 encoding 可以为 null。
 mb_strwidth现在 encoding 可以为 null。
 mb_substitute_character不再支持将空字符串传递给 substitute_character;应该传递 "none"。
 mb_substitute_character现在 encoding 可以为 null。
 mb_substr现在 encoding 可以为 null。
 mb_substr_count现在 encoding 可以为 null。
 metaphoneThe function returned false on failure.
 mhashkey is now nullable.
 minmin 现在失败时会抛出 ValueError;之前会返回 false 并发出 E_WARNING 错误。
 min由于 字符串到数字的比较 已经改变,min 在这些情况下不再根据参数的顺序返回不同的值。
 mktimehour 不再可选。如果需要 Unix 时间戳,可以使用 time。
 mktime现在 minute、second、month、day 和 year 允许为 null。
 msg_get_queueOn success, this function returns a SysvMessageQueue instance now; previously, a resource was returned.
 msg_receivequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_remove_queuequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_sendqueue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_set_queuequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 msg_stat_queuequeue expects a SysvMessageQueue instance now; previously, a resource was expected.
 number_format在此版本之前,number_format 接受一个、两个或四个参数(不会是三个)。
 ob_implicit_flushenable 现在需要 bool 值;之前,需要 int。
 oci_lob_copylength is now nullable.
 odbc_columnsschema, table and column are now nullable.
 odbc_errorodbc is now nullable.
 odbc_errormsgodbc is now nullable.
 odbc_execflags was removed.
 odbc_executeThe unused flags parameter was removed.
 odbc_fetch_rowrow is now nullable.
 odbc_procedurecolumnsPrior to this version, the function could only be called with either one or five arguments.
 odbc_proceduresPrior to this version, the function could only be called with either one or four arguments.
 odbc_tablesschema, table and types are now nullable.
 opendir现在 context 允许为 null。
 openssl_csr_exportcsr 现在接受 OpenSSLCertificateSigningRequest 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_csr_export_to_filecsr 现在接受 OpenSSLCertificateSigningRequest 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_csr_get_public_key成功时此函数现在返回 OpenSSLAsymmetricKey 实例;之前返回类型 OpenSSL key 的 resource。
 openssl_csr_get_public_keycsr 现在接受 OpenSSLCertificateSigningRequest 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_csr_get_subjectcsr 现在接受 OpenSSLCertificateSigningRequest 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_csr_new成功时,此函数现在返回 OpenSSLCertificateSigningRequest 实例;之前返回类型 OpenSSL X.509 CSR 的 resource。
 openssl_csr_newprivate_key 现在接受 OpenSSLAsymmetricKey 实例;之前接受类型 OpenSSL key 的 resource。
 openssl_csr_sign成功时,此函数现在返回 OpenSSLCertificate 实例;之前返回类型 OpenSSL X.509 的 resource。
 openssl_csr_signcsr 现在接受 OpenSSLCertificateSigningRequest 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_csr_signca_certificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_csr_signprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_dh_compute_keyprivate_key 现在接受 OpenSSLAsymmetricKey;之前接受类型 OpenSSL key 的 resource。
 openssl_free_key此函数现已弃用,因为不再有效。
 openssl_free_keykey 现在接受 OpenSSLAsymmetricKey;之前接受类型 OpenSSL key 的 resource。
 openssl_openprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 CSR 的 resource。
 openssl_opencipher_algo 不再是可选参数。
 openssl_pkcs7_decryptprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 CSR 的 resource。
 openssl_pkcs7_encryptcertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_pkcs7_signcertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_pkcs7_signprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 CSR 的 resource。
 openssl_pkcs7_verifysigners_certificates_filename、untrusted_certificates_filename、content 和 output_filename 现在可为 null。
 openssl_pkcs12_exportcertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_pkcs12_exportprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_pkcs12_export_to_filecertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 CSR 的 resource。
 openssl_pkcs12_export_to_fileprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_pkey_exportkey 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_pkey_export_to_filekey 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_pkey_free此函数现已弃用,因为不再有效。
 openssl_pkey_freekey 现在接受 OpenSSLAsymmetricKey;之前接受类型 OpenSSL key 的 resource。
 openssl_pkey_get_details现在参数 key 接受 OpenSSLAsymmetricKey; 在此之前,接受 OpenSSL key 类型的 resource。
 openssl_pkey_get_private成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前返回类型 OpenSSL key 的 resource。
 openssl_pkey_get_privateprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_pkey_get_privatepassphrase 现在可为 null。
 openssl_pkey_get_public成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前返回类型 OpenSSL key 的 resource。
 openssl_pkey_get_publicpublic_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_pkey_new成功时此函数会返回 OpenSSLAsymmetricKey 的实例;在之前版本中,则会返回类似为 OpenSSL key 的 resource。
 openssl_private_decryptprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例。之前接受 OpenSSL key 类型或 OpenSSL X.509 类型的 resource。
 openssl_private_encryptprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_public_decryptpublic_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例。之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_public_encryptpublic_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例。之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_random_pseudo_bytesstrong_result 现在可为 null。
 openssl_sealpublic_key 现在接受 OpenSSLAsymmetricKey 实例 array;之前接受类型 OpenSSL key 的 resource 数组。
 openssl_sealcipher_algo 不再是可选参数。
 openssl_sealiv 现在可为 null。
 openssl_signprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 openssl_spki_newprivate_key 现在接受 OpenSSLAsymmetricKey 实例;之前接受类型 OpenSSL key 的 resource。
 openssl_verifypublic_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_x509_check_private_keycertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_check_private_keyprivate_key 现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前接受类型 OpenSSL key 或 OpenSSL X.509 的 resource。
 openssl_x509_checkpurposecertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_checkpurposeuntrusted_certificates_file 现在可为 null。
 openssl_x509_exportcertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_export_to_filecertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_fingerprintcertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_free此函数现已弃用,因为不再有效。
 openssl_x509_freecertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_parsecertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_read此函数现在成功时返回 OpenSSLCertificate 实例;之前返回类型 OpenSSL X.509 的 resource。
 openssl_x509_readcertificate 现在接受 OpenSSLCertificate 实例;之前接受类型 OpenSSL X.509 的 resource。
 openssl_x509_verifycertificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
 openssl_x509_verifypublic_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.
 pack此函数不再在失败时返回 false 。
 parse_strresult 是必须项。
 parse_urlparse_url 现在对 query 和 fragment 区分不存在和空值。
 passthru如果 command 为空或者包含 null 字节,passthru 现在将抛出 ValueError。之前会发出 E_WARNING 并返回 false。
 password_hash失败时 password_hash 不再返回 false,如果密码散列算法无效,则会抛出 ValueError,如果密码散列因未知错误失败,则会抛出 Error。
 password_hash参数 algo 可以为 null。
 pcntl_async_signalsenable is nullable now.
 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_all对于零行的结果集,pg_fetch_all 现在将返回一个空数组而不是 array。
 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 is now nullable.
 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。
 readdir现在 dir_handle 可以为 null。
 readline_infovar_name 和 value 现在可为 null。
 readline_read_historyfilename 现在可为 null。
 readline_write_historyfilename 现在可为 null。
 rewinddir现在 dir_handle 允许为 null。
 roundnum 不再接受支持数字转换的内部对象。
 sapi_windows_vt100_supportenable is now nullable.
 scandir现在 context 允许为 null。
 sem_acquiresemaphore expects a SysvSemaphore instance now; previously, a resource was expected.
 sem_getOn success, this function returns a SysvSemaphore instance now; previously, a resource was returned.
 sem_getThe type of auto_release has been changed from int to bool.
 sem_releasesemaphore expects a SysvSemaphore instance now; previously, a resource was expected.
 sem_removesemaphore expects a SysvSemaphore instance now; previously, a resource was expected.
 session_cache_expirevalue 现在可以为 null。
 session_cache_limitervalue 现在可为 null。
 session_idid 现在可以为 null。
 session_module_namemodule 现在可以为空。
 session_namename 现在可以为 null。
 session_save_pathpath 现在可为 null。
 session_set_cookie_paramspath、domain、secure 和 httponly 现在可为 null。
 set_error_handler删除 errcontext 并不再传递给用户回调。
 shm_attachOn success, this function returns an SysvSharedMemory instance now; previously, a resource was returned.
 shm_attachsize is nullable now.
 shm_detachshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_get_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_has_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_put_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_removeshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shm_remove_varshm expects a SysvSharedMemory instance now; previously, a resource was expected.
 shmop_closeThis function has been deprecated, as this function has no effect anymore.
 shmop_closeshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_deleteshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_openOn success, this function returns an Shmop instance now; previously, a resource was returned.
 shmop_openIf mode is invalid, or size is less than or equal to zero, a ValueError is thrown; previously E_WARNING was emitted instead, and the function returned false.
 shmop_readshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_readIf offset or size are out of range, a ValueError is thrown; previously E_WARNING was emitted, and false was returned,
 shmop_sizeshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_writePrior to PHP 8.0.0, false was returned on failure.
 shmop_writeshmop expects a Shmop instance now; previously, a resource was expected.
 sleep此函数在负数 seconds 时抛出 ValueError,之前会引发 E_WARNING 且函数返回 false。
 socket_accept成功时,该函数现在返回一个 Socket 实例;在此之前,返回值是一个 resource。
 socket_addrinfo_bind成功时,该函数现在返回一个 Socket 实例;在此之前,返回值是一个 resource。
 socket_addrinfo_bind现在 address 是 AddressInfo 实例, 之前是 resource。
 socket_addrinfo_connect现在该函数成功时返回 Socket 实例;在此之前,返回值是 resource。
 socket_addrinfo_connect现在 address 是 AddressInfo 实例, 之前是 resource。
 socket_addrinfo_explain现在 address 是 AddressInfo 实例, 之前是 resource。
 socket_addrinfo_lookup成功时,现在函数返回 AddressInfo 实例数组。在此之前,返回的是 resource 数组。
 socket_addrinfo_lookupservice 现在允许为 null。
 socket_bind现在 socket 是 Socket 实例, 之前是 resource。
 socket_clear_error现在 socket 是 Socket 实例, 之前是 resource。
 socket_clear_error参数 socket 可以为 null。
 socket_close现在 socket 是 Socket 实例, 之前是 resource。
 socket_connect现在 socket 是 Socket 实例, 之前是 resource。
 socket_connectport 允许为空。
 socket_create创建成功时,该函数现在返回一个 Socket 实例; 在此之前,返回的是一个 resource。
 socket_create_listen成功时,该函数现在返回一个 Socket 实例;在此之前,返回值是一个 resource。
 socket_create_pairpair 现在是 Socket 实例的引用数组;在这之前是 resource 的引用数组。
 socket_export_stream现在 socket 是 Socket 实例, 之前是 resource。
 socket_get_option现在 socket 是 Socket 实例, 之前是 resource。
 socket_getpeername现在 socket 是 Socket 实例, 之前是 resource。
 socket_getsockname现在 socket 是 Socket 实例, 之前是 resource。
 socket_import_stream成功时,该函数现在返回 Socket 实例;在此之前,返回 resource。
 socket_last_error现在 socket 是 Socket 实例, 之前是 resource。
 socket_last_errorsocket 现在可为空(nullable)。
 socket_listen现在 socket 是 Socket 实例, 之前是 resource。
 socket_read现在 socket 是 Socket 实例, 之前是 resource。
 socket_recv现在 socket 是 Socket 实例, 之前是 resource。
 socket_recvfrom现在 socket 是 Socket 实例, 之前是 resource。
 socket_recvmsg现在 socket 是 Socket 实例, 之前是 resource。
 socket_send现在 socket 是 Socket 实例, 之前是 resource。
 socket_sendmsg现在 socket 是 Socket 实例, 之前是 resource。
 socket_sendto现在 socket 是 Socket 实例, 之前是 resource。
 socket_sendtoport 现在允许为 null。
 socket_set_block现在 socket 是 Socket 实例, 之前是 resource。
 socket_set_nonblock现在 socket 是 Socket 实例, 之前是 resource。
 socket_set_option现在 socket 是 Socket 实例, 之前是 resource。
 socket_shutdown现在 socket 是 Socket 实例, 之前是 resource。
 socket_write现在 socket 是 Socket 实例, 之前是 resource。
 socket_writelength 现在允许为 null。
 socket_wsaprotocol_info_export现在 socket 是 Socket 实例, 之前是 resource。
 socket_wsaprotocol_info_import成功时,该函数现在返回一个 Socket 实例;在此之前,返回的是 resource。
 soundexPrior to this version, calling the function with an empty string returned false for no particular reason.
 spl_autoloadfile_extensions 现在允许为 null。
 spl_autoload_extensionsfile_extensions 现在可以为 null。
 spl_autoload_functions将更新返回值始终是 array;之前如果自动加载队列未激活,此函数返回 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 可为空(Nullable)类型。
 strcspnlength 现在允许为 null。
 stream_context_create现在 options 和 params 可以为 null。
 stream_context_get_defaultoptions is now nullable.
 stream_copy_to_streamlength is now nullable.
 stream_get_contents现在 length 可以为 null。
 stream_set_chunk_size当 size 比 1 小或者比 PHP_INT_MAX 还大的时候现在会抛出 ValueError。之前产生 E_WARNING 级别的错误并返回 false。
 stream_socket_accept现在 timeout 可以为 null。
 stream_socket_clienttimeout and context are now nullable.
 stream_socket_enable_cryptosession_stream is now nullable.
 stream_socket_servercontext 现在可为 null。
 strftimetimestamp is nullable now.
 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 现在允许为 null。
 strstrneedle 现在接受空字符串。
 strstr不再支持传递 int 作为 needle。
 strtotime现在 baseTimestamp 允许为 null。
 substr现在 length 允许为 null。当 length 显式设置为 null 时,函数返回在字符串末尾结束的子字符串,而之前将返回空字符串。
 substr函数将返回空字符串, 在此之前返回 false。
 substr_comparelength 现在允许为 null。
 substr_countlength 可以为空(nullable)。
 substr_replacelength 现在允许为 null。
 touchmtime 和 atime 现在可以为空。
 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。
 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::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 IntlCalendar::setMinimalDaysInFirstWeekA ValueError is now thrown on invalid input. Previously, false was returned.
 IntlTimeZone::getIDForWindowsIDregion is now nullable.
 LimitIterator::__constructNow throws a ValueError if offset is less than 0; previously it threw a RuntimeException.
 LimitIterator::__constructNow throws a ValueError if limit is less than -1; previously it threw a RuntimeException.
 Locale::getDisplayLanguagedisplayLocale is nullable now.
 Locale::getDisplayNamedisplayLocale is nullable now.
 Locale::getDisplayRegiondisplayLocale is nullable now.
 Locale::getDisplayScriptdisplayLocale is nullable now.
 Locale::getDisplayVariantdisplayLocale is nullable now.
 mysqli_result::fetch_objectconstructor_args now accepts [] for constructors with 0 parameters; previously an exception was thrown.
 mysqli_result::field_seekThis function now always returns true. Previously it returned false on failure.
 mysqli_stmt::closeThis function now always returns true. Previously it returned false on failure.
 mysqli_stmt::__constructquery is now nullable.
 mysqli::begin_transactionname is now nullable.
 mysqli::close此函数始终返回 true。之前失败时返回 false。
 mysqli::commitname 现在允许为 null。
 mysqli::debugThis function now always returns true. Previously it returned false on failure.
 mysqli::rollbackname 现在可以为 null。
 NumberFormatter::createpattern is nullable now.
 OCICollection::appendThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::assignThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::assignElemThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::freeThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::getElemThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::maxThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::sizeThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCICollection::trimThe OCI-Collection class was renamed to OCICollection to align with PHP naming standards.
 OCILob::appendThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::closeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::eofThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::eraseoffset and length are now nullable.
 OCILob::eraseThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::exportoffset and length are now nullable.
 OCILob::exportThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::flushThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::freeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::getBufferingThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::importThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::loadThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::readThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::rewindThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::saveThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::saveFileThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::seekThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::setBufferingThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::sizeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::tellThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::truncateThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writelength is now nullable.
 OCILob::writeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writeTemporaryThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writeToFileoffset and length are now nullable.
 OCILob::writeToFileThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 PDOStatement::fetchAll现在此方法始终返回 array,之前可能在失败时返回 false。
 Phar::addFilelocalName 现在可以为空。
 Phar::buildFromIteratorbaseDirectory is now nullable.
 Phar::compressextension is now nullable.
 Phar::convertToDataformat, compression, and extension are now nullable.
 Phar::convertToExecutableformat, compression, and extension are now nullable.
 Phar::createDefaultStubindex and webIndex are now nullable.
 Phar::decompressextension is now nullable.
 Phar::getMetadataThe parameter unserializeOptions has been added.
 Phar::setDefaultStubwebIndex is nullable now.
 Phar::setSignatureAlgorithmprivateKey is now nullable.
 Phar::webPharfileNotFoundScript and rewrite are nullable now.
 PharData::addFilelocalName is now nullable.
 PharData::buildFromIteratorbaseDirectory is now nullable.
 PharData::compressextension is now nullable.
 PharData::convertToDataformat, compression, and extension are now nullable.
 PharData::convertToExecutableformat, compression, and localName are now nullable.
 PharData::decompressextension is now nullable.
 PharData::setDefaultStubwebIndex is nullable now.
 PharData::setSignatureAlgorithmprivateKey is now nullable.
 PharFileInfo::getMetadataThe parameter unserializeOptions has been added.
 PharFileInfo::isCompressedcompression is now nullable.
 RecursiveDirectoryIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 RecursiveIteratorIterator::getSubIteratorlevel is now nullable.
 ReflectionClass::getConstants添加 filter 。
 ReflectionClass::getReflectionConstantsfilter has been added.
 ReflectionFunction::invokeArgsargs keys will now be interpreted as parameter names, instead of being silently ignored.
 ReflectionFunction::isDisabledThis function has been deprecated, as ReflectionFunction can no longer be constructed for disabled functions.
 ReflectionMethod::getClosureobject 现在可以为 null。
 ReflectionMethod::invokeArgsargs 的键现在将解释为参数的名称,而不是默默忽略。
 ReflectionParameter::getClass此函数已被弃用。推荐使用 ReflectionParameter::getType 代替。
 ReflectionParameter::getDefaultValueThis method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
 ReflectionParameter::getDefaultValueConstantNameThis method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.
 ReflectionParameter::isArrayThis function has been deprecated in favor of ReflectionParameter::getType instead.
 ReflectionParameter::isCallableThis function has been deprecated in favor of ReflectionParameter::getType instead.
 ReflectionProperty::getValueobject is nullable now.
 ReflectionProperty::isInitializedobject is nullable now.
 ReflectionType::__toStringReflectionType::__toString has been undeprecated.
 SimpleXMLElement::asXMLfilename is nullable now.
 SoapClient::__doRequestThe type of oneWay is bool now; formerly it was int.
 SoapClient::__setCookievalue is now nullable.
 SoapServer::handlerequest is now nullable.
 SplFileInfo::getFileInfoclass is now nullable.
 SplFileInfo::getPathInfoclass is now nullable.
 SplFileInfo::openFilecontext is now nullable.
 SplFixedArray::__constructNow throws a ValueError if size is a negative; previously it threw a InvalidArgumentException.
 tidy::__constructfilename, config, encoding and useIncludePath are nullable now.
 tidy::parseFileconfig and encoding are nullable now.
 tidy::parseStringconfig and encoding are nullable now.
 tidy::repairFiletidy::repairFile is a static method now.
 tidy::repairFileconfig and encoding are nullable now.
 tidy::repairStringtidy::repairString is a static method now.
 tidy::repairStringconfig and encoding are nullable now.
 tidy::repairStringThis function no longer accepts the useIncludePath parameter.
 XMLReader::getAttributeThis function can no longer return false.
 XMLReader::getAttributeNsThis function can no longer return false.
 XMLReader::lookupNamespaceThis function can no longer return false.
 XMLReader::nextname is nullable now.
 XMLReader::openXMLReader::open is now declared as static method, but can still be called on an XMLReader instance.
 XMLReader::XMLXMLReader::XML is now declared as static method, but can still be called on an XMLReader instance.
 XMLWriter::endAttribute现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endCdata现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endComment现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endDocument现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endDtd现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endDtdAttlist现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endDtdElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endDtdEntity现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::endPi现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::flush现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::flushThis function can no longer return false.
 XMLWriter::fullEndElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::openMemoryThis function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.
 XMLWriter::openUriThis function returns now an XMLWriter instance on success. Previouly, a resource has been returned in this case.
 XMLWriter::outputMemory现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::setIndent现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::setIndentString现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startAttribute现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startAttributeNs现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startAttributeNsprefix is nullable now.
 XMLWriter::startCdata现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startComment现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startDocument现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startDtd现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startDtdAttlist现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startDtdElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startDtdEntity现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startElementNs现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::startPi现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::text现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeAttribute现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeAttributeNs现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeCdata现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeComment现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeDtd现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeDtdAttlist现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeDtdElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeDtdEntity现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeDtdEntitypublicId, systemId and notationData are nullable now.
 XMLWriter::writeElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeElementNs现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writePi现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeRaw现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 ZipArchive::addEmptyDirflags was added.
 ZipArchive::addFileflags was added.
 ZipArchive::addFromStringflags was added.
 ZipArchive::addGlob"flags" in options was added.
 ZipArchive::addGlob"comp_method", "comp_flags", "enc_method" and "enc_password" in options were added.
 ZipArchive::getStatusStringThis method can be called on closed archive.
 ZipArchive::getStatusStringThis method no longer returns false on failure.
 ZipArchive::setEncryptionIndexpassword is now nullable.
 ZipArchive::setEncryptionNamepassword is now nullable.
8.0.0、PECL OCI8 3.0.0oci_connectconnection_string 现在可为 null。
 oci_errorconnection_or_statement 现在可为 null。
 oci_new_collectionschema 现在可为 null。
 oci_new_connectconnection_string 现在可为 null。
7.4.12jdtounix扩充了 julian_day 的上限。以前无论计算机体系结构如何,都是 2465342。
 tidyNode::isHtmlThis function has been fixed to have reasonable behavior. Previously, almost any node was reported as being an HTML node.
7.4.4proc_open为 options 参数增加 create_new_console 选项。
7.4.2dba_openlmdb 驱动现在支持额外的 map_size 参数。
 dba_popenlmdb 驱动现在支持额外的 map_size 参数。
7.4.0DatePeriod::__constructrecurrences must be greater than 0 now.
 array_merge允许不带参数调用,之前版本至少需要一个参数。
 array_merge_recursive允许不传递参数调用,之前的版本中至少需要一个参数。
 base_convert传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 bindec传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 chr此函数不再静默接受不支持的 codepoint,并会将它们转为 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弃用此函数。
 gzreadThis functions returns false on failure now; previously 0 was returned.
 gzwriteThis functions returns false on failure now; previously 0 was returned.
 hash_algos支持 crc32c。
 hexdec传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 idn_to_ascii现在 variant 的默认值为 INTL_IDNA_VARIANT_UTS46 , 而不是已弃用的 INTL_IDNA_VARIANT_2003 。
 idn_to_utf8现在 variant 的默认值为 INTL_IDNA_VARIANT_UTS46 , 而不是已弃用的 INTL_IDNA_VARIANT_2003 。
 imagecropautoThe behavior of imagecropauto() in the bundled libgd has been synced with that of system libgd: IMG_CROP_DEFAULT no longer falls back to IMG_CROP_SIDES and threshold-cropping now uses the same algorithm as system libgd.
 imagecropautoThe default value of mode has been changed to IMG_CROP_AUTO. Formerly, the default value has been -1 which corresponds to IMG_CROP_DEFAULT, but passing -1 is now deprecated.
 imagefilter新增散射支持(IMG_FILTER_SCATTER)。
 implode在 array 之后传递 separator (即:使用遗留写法)已被废弃。
 keySPL 类的实例现在被视为没有属性的空对象,而不是调用与此函数同名的 Iterator 方法。
 ldap_control_paged_resultThis function has been deprecated.
 ldap_control_paged_result_responseThis function has been deprecated.
 money_format弃用此函数。使用 NumberFormatter::formatCurrency 替代。
 nextSPL 类的实例现在被视为没有属性的空对象,而不是调用与此函数同名的 Iterator 方法。
 octdec传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 openssl_random_pseudo_bytes此函数失败时不再返回 false,而是会抛出 Exception。
 password_hash现在 algo 参数可支持 string 类型,但为了向后兼容也支持 int 类型。
 password_hash扩展 sodium 提供了 Argon2 密码的替代实现。
 password_needs_rehash现在 algo 参数可以支持 string 类型,但为了向后兼容性,同时支持 int 类型。
 preg_replace_callback新增 flags 参数。
 preg_replace_callback_arrayThe flags parameter was added.
 prevSPL 类的实例现在被视为没有属性的空对象,而不是调用与此函数同名的 Iterator 方法。
 proc_openproc_open 的 command 参数现在也允许数组类型。
 proc_open为 options 参数增加 create_process_group 选项。
 resetSPL 类的实例现在被视为没有属性的空对象,而不是调用与此函数同名的 Iterator 方法。
 statOn Windows, the device number is now the serial number of the volume that contains the file, and the inode number is the identifier associated with the file.
 statThe size, atime, mtime and ctime statistics of symlinks are always those of the target. This was previously not the case for NTS builds on Windows.
 str_getcsvescape 现在将空字符串视为禁用专有转义机制的信号。以前视为默认参数值。
 strip_tagsallowed_tags 现在可以接受 array。
 unserialize新增 options 的 max_depth 元素,设置反序列化时允许的最大结构深度。
 Locale::lookupdefaultLocale is nullable now.
 mysqli::__constructAll parameters are now nullable.
 mysqli::real_connect所有的参数都可为 null。
 SplFileObject::fgetcsvThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 SplFileObject::fputcsvThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 SplFileObject::fwriteThe function now returns false instead of zero on failure.
 SplFileObject::getCsvControlThe escape character can now be an empty string.
 SplFileObject::setCsvControlThe escape parameter now also accepts an empty string to disable the proprietary escape mechanism.
 SQLite3Stmt::bindParamparam now also supports the @param notation.
 SQLite3Stmt::bindValueparam now also supports the @param notation.
7.3.24jdtounix扩充了 julian_day 的上限。以前无论计算机体系结构如何,都是 2465342。
 tidyNode::isHtmlThis function has been fixed to have reasonable behavior. Previously, almost any node was reported as being an HTML node.
7.3.15、7.4.3curl_setopt引入 CURLOPT_HTTP09_ALLOWED。
7.3.14dba_openlmdb 驱动现在支持额外的 map_size 参数。
 dba_popenlmdb 驱动现在支持额外的 map_size 参数。
7.3.6DatePeriod::__constructrecurrences must be greater than 0 now.
 SplFileObject::__toStringChanged from an alias of SplFileObject::current to an alias of SplFileObject::fgets.
7.3.5substr_compareoffset 现在可能等于 haystack。
7.3.0DateTimeImmutable::createFromFormatThe v format specifier has been added.
 apache_request_headers此函数可用于 FPM SAPI 模式。
 array_push可以只用一个参数来调用此函数,之前版本中至少需要两个参数。
 array_unshift现在可以只用一个参数来调用,之前至少需要两个参数。
 assert弃用在命名空间中声明 assert() 函数。这样声明会发出 E_DEPRECATED。
 bcmul现在 bcmul 可以按想要的小数点位数返回数字。 而之前,返回的数字会忽略尾随零(trailing decimal zeroes)。
 bcpow现在 bcpow 可以按想要的小数点位数返回数字。 而之前,返回的数字会忽略尾随零(trailing decimal zeroes)。
 bcscale现在 bcscale 不仅可以设置,还可以获取当前的小数点保留位数。 用于设置的时候,现在会返回之前的位数。 之前 scale 是强制的参数, 且 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。
 define废弃了 case_insensitive,并将在 8.0.0 版中移除。
 ftp_fgetmode 参数现在可选。以前强制要求。
 ftp_fputmode 参数现在可选。以前强制要求。
 ftp_getmode 参数现在可选。以前强制要求。
 ftp_nb_fget参数 mode 变为可选参数。 在之前的版本中,这是一个必填参数。
 ftp_nb_fput参数 mode 变为可选参数。 在之前的版本中,这是一个必填参数。
 ftp_nb_getmode 参数变为可选,之前是强制性的。
 ftp_nb_putmode 参数为可选,之前版本中为必填。
 ftp_putmode 参数为可选,之前版本中为必选。
 getallheaders该函数可以在 FPM SAPI 中使用。
 imagecreatefromstring现在支持 WEBP(如果使用的是 libgd)。
 is_countableis_countable 被添加。
 json_decodeflags 新增 JSON_THROW_ON_ERROR。
 json_encodeflags 参数新增 JSON_THROW_ON_ERROR 常量。
 ldap_addSupport for controls added
 ldap_compareSupport for controls added
 ldap_deleteSupport for controls added
 ldap_exopSupport for controls added
 ldap_exop_passwdSupport for controls added
 ldap_listSupport for controls added
 ldap_mod_addSupport for controls added
 ldap_mod_delSupport for controls added
 ldap_mod_replaceSupport for controls added
 ldap_modify_batchSupport for controls added
 ldap_mod_add_extSupport for controls added
 ldap_mod_del_extSupport for controls added
 ldap_mod_replace_extSupport for controls added
 ldap_parse_resultSupport for controls added
 ldap_readSupport for controls added
 ldap_renameSupport for controls added
 ldap_rename_extSupport for controls added
 ldap_searchSupport for controls added
 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弃用 int 传递给 needle。
 stristr弃用 int 传递给 needle。
 strpos弃用 int 传入 needle。
 strrchr弃用将 int 作为 needle 传递。
 strripos弃用将 int 传递给 needle。
 strrpos弃用将 int 传递给 needle。
 strstr弃用传递 int 作为 needle。
 unlink现在 Windows 也可以用 unlink 删除文件句柄还在使用中的文件了,在此之前是无法删除的。 然而,还是无法重新创建文件,需要等到所有句柄都关闭才可以。
 var_export现在将 stdClass 对象作为数组类型转换为对象输出( (object) array( ... )),而不是使用不存在的 stdClass::__setState 方法。实际效果是,现在 stdClass 是可输出的,生成的代码甚至可以在早期的 PHP 版本上运行。
7.2.19DatePeriod::__constructrecurrences must be greater than 0 now.
 SplFileObject::__toStringChanged from an alias of SplFileObject::current to an alias of SplFileObject::fgets.
7.2.18substr_compareoffset 现在可能等于 haystack。
7.2.12DateInterval::formatThe F and f format will now always be positive.
7.2.0array_unique如果 flags 是 SORT_STRING, 之前会复制 array 并移除非唯一数组(之后并不打包数组), 现在是通过添加唯一元素来生成新数组。这可能会导致不同的数字索引。
 assert弃用使用 string 作为 assertion。当 assert.active 和 zend.assertions 都设为 1 时,现在会发出 E_DEPRECATED 通知。
 bcmod现在 num1 和 num2 不会截断成整数。 所以现在 bcmod 的表现更接近 fmod 而不是 % 操作符。
 bcmod新增参数 scale。
 count当 value 参数传入了无效的 countable 类型, count 现在会产生警告。
 date_parse返回数组的 zone 键现在代表秒,而不是分钟。并且正负符号已反转,例如:之前是 -120 现在是 7200。
 date_parse_from_formatThe zone element of the returned array represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.
 date_sun_infoThe calculation was fixed with regards to local midnight instead of local noon, which changes the results slightly.
 exif_read_datafile 参数现在起支持本地文件和流式资源。
 exif_read_data新增了以下 EXIF 格式的支持: Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
 exif_thumbnailfile 参数现在支持本地文件和流资源。
 get_class在此版本之前,object 的默认值是 null,它与不传递任何值有相同的效果。object 已经移除了默认值 null 且不再是有效的输入。
 gettype现在,已关闭的资源报告为 'resource (closed)'。此前,已关闭的资源报告为 'unknown type'。
 hash_copy接受的参数以及返回值从资源类型修改为 HashContext 对象类型。
 hash_final接收参数从资源类型修改为 HashContext 对象类型。
 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 对象,不再返回资源类型。
 hash_pbkdf2不再支持非加密的散列函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)。
 hash_update接收参数从资源类型修改为 HashContext 对象类型。
 hash_update_file接收参数从资源类型修改为 HashContext 对象类型。
 hash_update_stream接收参数从资源类型修改为 HashContext 对象类型。
 idn_to_asciiINTL_IDNA_VARIANT_2003 已被弃用; 可以使用 INTL_IDNA_VARIANT_UTS46 代替。
 idn_to_utf8INTL_IDNA_VARIANT_2003 已被弃用; 可以使用 INTL_IDNA_VARIANT_UTS46 代替。
 imageantialiasimageantialias 现在普遍可用。以前只有编译 PHP 时使用捆绑版本的 GD 库才可用。
 imagegdimagegd 现在允许输出真彩色图像。以前,已隐式转换为调色板。
 imagelayereffect新增 IMG_EFFECT_MULTIPLY(要求系统 libgd >= 2.1.1 或捆绑 libgd)。
 imagetypes新增 IMG_BMP。
 is_object没有定义类(__PHP_Incomplete_Class 类)的未序列化对象,is_object 现在返回 true,之前返回 false。
 json_decode现在 associative 允许为 null。
 json_decodeflags 新增 JSON_INVALID_UTF8_IGNORE、JSON_INVALID_UTF8_SUBSTITUTE。
 json_encodeflags 参数新增 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 常量。
 mail现在 additional_headers 参数开始支持 array。
 mb_check_encoding此函数现在也接受 array 作为 value。之前仅支持 string。
 mb_convert_encoding现在该函数的 string 参数同时能接受 array 类型。 在此之前,仅支持 string。
 mb_parse_str弃用在没有第二个参数的时候调用 mb_parse_str。
 mb_send_mailadditional_headers 参数现在也接受 array。
 mt_randrand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与 64 位机器上的 PHP 7.1.0 不同。
 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 现在可为 null。
 proc_nice在 Windows 平台上可用。
 randrand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与 64 位机器上的 PHP 7.1.0 不同。
 read_exif_data这个函数别名被废弃。
 session_abortThe return type of this function is bool now. Formerly, it has been void.
 session_module_name不允许设置模块名称为 "user"。 在之前的版本中,如果设置为 "user",那么会被静默的忽略到。
 session_namesession_name 函数会检查会话状态, 之前的版本仅仅检查 cookie 状态。 所以,旧版本的 PHP 允许你在调用 session_start 函数之后再调用 session_name 函数, 新版本的 PHP 不再允许这样做了。
 session_resetThe return type of this function is bool now. Formerly, it has been void.
 session_set_cookie_params成功时返回 true, 或者在失败时返回 false。以前该函数返回 void。
 session_unset此函数的返回类型现在是 bool。以前是 void。
 session_write_closeThe return type of this function is bool now. Formerly, it has been void.
 set_error_handlererrcontext 被废弃。使用此参数时会导致 E_DEPRECATED 提醒。
 unpackfloat and double types supports both Big Endian and Little Endian.
 utf8_decodeThis function has been moved from the XML extension to the core of PHP. In previous versions, it was only available if the XML extension was installed.
 utf8_encodeThis function has been moved from the XML extension to the core of PHP. In previous versions, it was only available if the XML extension was installed.
 PDOStatement::debugDumpParamsPDOStatement::debugDumpParams 现在返回发送到数据库的 SQL,包括完整的原始查询(包括替换的占位符及其边界值)。请注意,这仅在打开模拟预处理语句时才可用。
 ReflectionClass::getMethodsfilter 现在允许为 null。
 ReflectionClass::getPropertiesfilter 现在允许为 null。
 SQLite3::openBlobThe flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.
7.1.5IntlDateFormatter::formatSupport for providing general DateTimeInterface objects to the datetime parameter was added. Formerly, only proper DateTime objects were supported.
7.1.4PDO::sqliteCreateFunctionThe flags parameter has been added.
 SQLite3::createFunctionThe flags parameter has been added.
7.1.2dns_get_record新增对 CAA 记录的支持。
 fopen新增 'e' 选项。
7.1.1get_defined_functions新增 exclude_disabled 参数。
7.1.0DateInterval::formatThe F and f format characters were added.
 DateTime::setTime新增 microsecond 参数。
 DateTimeImmutable::__constructFrom now on microseconds are filled with actual value. Not with '00000'.
 DateTimeImmutable::setTimeThe microsecond parameter was added.
 DateTimeZone::listIdentifiers现在,countryCode 可以为 null。
 array_rand内部随机化算法已从 libc rand 函数更改为使用 梅森旋转算法(Mersenne Twister) 随机数生成器。
 curl_multi_setopt引入 CURLMOPT_PUSHFUNCTION。
 exif_imagetype新增 WebP 支持。
 file_get_contents支持负数 offset。
 get_headers新增 context 参数。
 getenv现在可以省略 name 来检索所有环境变量的关联数组 array。
 getimagesize新增 WebP 支持。
 getopt添加 rest_index 参数。
 grapheme_extractSupport for negative offsets has been added.
 grapheme_striposSupport for negative offsets has been added.
 grapheme_strposSupport for negative offsets has been added.
 hash_algos加入 sha512/224,sha512/256,sha3-224,sha3-256,sha3-384 以及 sha3-512 算法的支持。
 iconv_strposSupport for negative offsets has been added.
 json_decodeAn empty JSON key ("") can be encoded to the empty object property instead of using a key with value _empty_.
 json_encodeflags 参数新增 JSON_UNESCAPED_LINE_TERMINATORS 常量。
 json_encode对 float 值进行编码时,使用 serialize_precision 代替 precision。
 list现在可以指定 list 中的键。 这就可以解构非数字键或者无顺序的数组。
 long2ip参数 ip 的类型从 string 改成 int。
 mb_eregmb_ereg will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.
 mb_ereg_replaceThe function checks whether string is valid for the current encoding.
 mb_ereg_replaceThe e modifier has been deprecated.
 mb_ereg_replace_callbackThe function checks whether string is valid for the current encoding.
 mb_ereg_search_setposSupport for negative offsets has been added.
 mb_eregimb_eregi will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case.
 mb_eregi_replaceThe function checks whether string is valid for the current encoding.
 mb_eregi_replaceThe e modifier has been deprecated.
 mb_regex_set_optionsThe "e" option now emits an E_DEPRECATED.
 mb_strimwidth支持负数的 start 和 width。
 mb_stripos支持 offset 使用负数。
 mb_strpos支持负数的 offset。
 mt_randrand 成为 mt_rand 的别名。
 mt_randmt_rand 成为使用梅森旋转(Mersenne Twister)算法的固定、正确版本。要使用旧行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。
 mt_srandsrand 成为 mt_srand 的别名。
 mt_srandmt_rand 成为使用梅森旋转(Mersenne Twister)算法的固定、正确版本。要使用旧行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。
 openssl_csr_newoptions 现在也支持 curve_name。
 openssl_decrypt添加了 tag 和 aad 参数。
 openssl_encrypt增加了 tag、aad、tag_length 参数
 openssl_pkey_newoptions 参数中增加了 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 设置的重写变量共享具有透明 session 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 开始,处理程序 callback 指定为第二个参数,其中包含特定信号的 siginfo。仅当操作系统具有 siginfo_t 结构体时才提供此数据。如果操作系统未实现 siginfo_t,则提供 NULL。
 pcntl_signal_get_handlerpcntl_signal_get_handler has been added.
 pg_fetch_all新增 mode 参数。
 pg_last_notice新增 mode 参数。
 pg_select新增 mode 参数。
 randrand 成为 mt_rand 的别名。
 session_start当 session_start 执行失败, 无法开始一个会话的时候,会返回 false, 并且不会初始化超级变量 $_SESSION。
 shuffle内置的随机数产生算法从 libc rand 函数改成梅森旋转伪随机数生成算法。
 srandsrand 成为 mt_srand 的别名。
 str_shuffle内置的随机算法从 libc rand 函数更改为梅森旋转伪随机数生成算法。
 stripos开始支持负数的 offset。
 strpos开始支持负数的 offset。
 substr_count开始支持负数的 offset 和 length。
 tempnam当回退到系统的临时目录时 tempnam 会发出一个通知。
 unpackThe optional offset has been added.
 unserializeoptions 的 allowed_classes 元素现在是严格类型,即如果给出 array 或 bool 以外的任何内容,则 unserialize 返回 false 并发出 E_WARNING。
 ReflectionType::__toStringReflectionType::__toString has been deprecated.
 SessionHandler::gcPrior to this version, the function returned true on success.
 SessionHandlerInterface::gcPrior to this version, the function returned true on success.
7.0.16dns_get_record新增对 CAA 记录的支持。
 fopen新增 'e' 选项。
7.0.15get_defined_functions新增 exclude_disabled 参数。
7.0.15,7.1.1pack添加了 “e”,“E”,“g” 和 “G” 代码以启用 float 和 double 的字节顺序支持。
7.0.11iconv_substr如果 string 等于 offset 个字符,将返回空字符串。之前的版本里,这种情况会返回 false。
7.0.10imagetypes新增 IMG_WEBP。
 SplFileObject::getCsvControlAdded the escape character to the returned array.
 SQLite3::__constructfilename 可以为空,以使用私有的临时磁盘数据库。
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允许 array 的值。
 dirname添加可选的 levels 参数。
 getrusage此函数现在开始支持 Windows。
添加备注

用户贡献的备注

此页面尚无用户贡献的备注。
To Top