PHP 8.0.26 Released!

更新日志

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

VersionFunctionDescription
Since 5.0cal_info参数calendar作为可选项,缺省时默认值为"所有历法"。
Since 4.3.0easter_dateyear参数可选,缺省的默认值是当年。
 easter_days引入参数 method。
 easter_days参数year 可选,缺省默认值是当年。
Prior to 5.1.3imagecolorallocatealphaReturns -1 if the allocation failed.
PHP 5.3.2 (PECL OCI8 1.4)oci_set_prefetchBefore this release, rows must be >= 1.
PHP 5.3 (PECL OCI8 1.3.4)oci_set_prefetchBefore this release, prefetching was limited to the lesser of rows rows and 1024 * rows bytes. The byte size restriction has now been removed.
PECL 3.0.0IntlDateFormatter::formatSupport for providing IntlCalendar objects to the datetime parameter was added.
8.2.0DateInterval::__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.
 dba_fetchdba_fetch's optional skip argument is now at the end in line with PHP userland semantics. The previously overloaded signature is still accepted but discouraged.
 dba_openflags is added.
 dba_popenflags is added.
 idate添加 N(ISO-8601 格式的周几)和 o(ISO-8601 格式的年份)格式字符。
 iterator_countiterator 的类型从 Traversable 扩展为 Traversablearray。
 iterator_to_arrayiterator 的类型从 Traversable 扩展为 Traversablearray。
 lcfirst大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 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。
 str_ireplace大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 strcasecmp现在此函数返回 -1 或者 1,之前返回负数或正数。
 strcmp现在此函数返回 -1 或者 1,之前返回负数或正数。
 stripos大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 stristr大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 strnatcasecmp现在此函数返回 -1 或者 1,之前返回负数或正数。
 strnatcmp现在此函数返回 -1 或者 1,之前返回负数或正数。
 strncasecmp现在此函数返回 -1 或者 1,之前返回负数或正数。
 strncmp现在此函数返回 -1 或者 1,之前返回负数或正数。
 strripos大小写转换不在依赖于使用 setlocale 设置的区域。只会进行 ASCII 大小写转换。非 ASCII 字节值将通过它们的字节值进行比较。
 strtolower大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 strtoupper大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 substr_compare现在此函数返回 -1 或者 1,之前返回负数或正数。
 ucfirst大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 ucwords大小写转换不在依赖于使用 setlocale 设置的区域。只会转换 ASCII 字符。
 utf8_decode弃用此函数。
 utf8_encode弃用此函数。
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 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。
 date_sunrise此函数已弃用,请改用 date_sun_info。
 date_sunset此函数已弃用,请改用 date_sun_info。
 dba_openhandler is now nullable.
 dba_popenhandler is now nullable.
 end弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。
 fputcsv新增可选的 eol 参数。
 get_html_translation_tableflags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。
 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。
 imageopenpolygonThe parameter num_points has been deprecated.
 ini_setvalue 现在接受任何标量类型(包含 null),之前仅接受 string 值。
 key弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。
 ldap_add现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_add_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_add_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_bind_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_bind_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_compare现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_connectReturns an LDAP\Connection instance now; previously, a 资源(resource) was returned.
 ldap_count_entriesThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_count_entries现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_count_referencesThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_count_references现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_delete现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_delete_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_delete_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_errno现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_error现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_exop现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_exop_passwd现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_exop_refresh现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_exop_whoami现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_first_attribute现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_first_attributeThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_first_entry现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_first_entryReturns an LDAP\ResultEntry instance now; previously, a 资源(resource) was returned.
 ldap_first_entryThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_free_resultThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_get_attributes现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_get_attributesThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_get_dn现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_get_dnThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_get_entriesThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_get_entries现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_get_option现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_get_values现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_get_valuesThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_get_values_len现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_get_values_lenThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_list现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_listReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_mod_add现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_mod_del现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_mod_replace现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_modify_batch现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_mod_add_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_mod_add_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_mod_del_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_mod_del_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_mod_replace_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_mod_replace_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_next_attribute现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_next_attributeThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_next_entryReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_next_entry现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_next_entryThe entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected.
 ldap_parse_exop现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_parse_exopThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_parse_result现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_parse_resultThe result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected.
 ldap_read现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_readReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_rename现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_rename_ext现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_rename_extReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_sasl_bind现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_search现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_searchReturns an LDAP\Result instance now; previously, a 资源(resource) was returned.
 ldap_set_option现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_set_rebind_proc现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 ldap_unbind现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。
 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 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 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).
 pg_consume_input现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_escape_identifier现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_escape_literal现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_execute现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_execute现在返回 PgSql\Result 实例,之前返回 资源(resource)
 pg_fetch_all_columns现在 result 参数接受 PgSql\Result 实例,之前接受 资源(resource)。
 pg_field_table现在 result 参数接受 PgSql\Result 实例,之前接受 资源(resource)。
 pg_field_type_oid现在 result 参数接受 PgSql\Result 实例,之前接受 资源(resource)。
 pg_lo_truncate现在 lob 接受 PgSql\Lob 实例,之前接受 资源(resource)。
 pg_parameter_status现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_prepare现在返回 PgSql\Result 实例,之前返回 资源(resource)
 pg_prepare现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_query_params现在返回 PgSql\Result 实例,之前返回 资源(resource)
 pg_query_params现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_result_error_field现在 result 参数接受 PgSql\Result 实例,之前接受 资源(resource)。
 pg_send_execute现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_send_prepare现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_send_query_params现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_set_error_verbosity现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_socket现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_transaction_status现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 pg_version现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。
 prev弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。
 pspell_add_to_personalThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 pspell_add_to_sessionThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 pspell_checkThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 pspell_clear_sessionThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 pspell_config_createReturns an PSpell\Config instance now; previously, a 资源(resource) was returned.
 pspell_config_data_dirThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_dict_dirThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_ignoreThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_modeThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_personalThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_replThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_runtogetherThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_config_save_replThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_newReturns an PSpell\Dictionary instance now; previously, a 资源(resource) was returned.
 pspell_new_configReturns an PSpell\Dictionary instance now; previously, a 资源(resource) was returned.
 pspell_new_configThe config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected.
 pspell_new_personalReturns an PSpell\Dictionary instance now; previously, a 资源(resource) was returned.
 pspell_save_wordlistThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 pspell_store_replacementThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 pspell_suggestThe dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected.
 reset弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 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(用于依赖区域设置解析)
 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.
 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.
 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.
 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.
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.
 SoapClient::__setLocationlocation is nullable now.
 SoapVar::__constructtypeName, typeNamespace, nodeName,and nodeNamespace are nullable now.
8.0.0, PECL OCI8 3.0.0oci_lob_copylength is now nullable.
 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::writeThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writelength is now nullable.
 OCILob::writeTemporaryThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writeToFileThe OCI-Lob class was renamed to OCILob to align with PHP naming standards.
 OCILob::writeToFileoffset and length are now nullable.
8.0.0DateInterval::__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之前的版本,失败时返回 false。
 DateTimeInterface::format新增 p 格式化字符。
 DateTimeInterface::getOffsetPrior to this version, false was returned on failure.
 DateTimeInterface::getTimestampThese functions no longer return false on failure.
 DateTimeImmutable::createFromMutableThe method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTimeImmutable.
 DateTimeZone::getOffset在此之前的版本,失败时返回 false。
 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.
 DOMImplementation::createDocumentdoctype is now nullable.
 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_map如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。
 array_reduce如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。
 array_splicelength 现在可为空(nullable)。
 array_walk如果 callback 期待通过引用传递第二个和第三个参数, 此函数现在将抛出 E_WARNING。
 assertDeclaring a function called assert() inside a namespace is no longer allowed, and issues E_COMPILE_ERROR.
 assertassert will no longer evaluate string arguments, instead they will be treated like any other argument. assert($a == $b) should be used instead of assert('$a == $b'). The assert.quiet_eval php.ini directive and the ASSERT_QUIET_EVAL constant have also been removed, as they would no longer have any effect.
 bcadd现在 scale 可以为 null。
 bccomp现在 scale 可以为 null。
 bcdiv现在 scale 可以为 null。
 bcmod现在 scale 可以为 null。
 bcmul现在 scale 可以为 null。
 bcpowmodscale is now nullable.
 bcscale现在 scale 可以为 null。
 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.
 constant如果常量未定义,constant 现在会抛出 Error 异常。以前会产生一个 E_WARNING 级别的错误并返回 null。
 convert_uuencode在此版本之前,尝试转换空字符串将返回 false,没有任何特殊原因。
 count当 value 参数传入了无效的 countable 类型, count 现在会抛出 TypeError。
 count_chars在此版本之前,函数在失败时返回 false。
 cryptsalt不再可选。
 curl_copy_handlehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_copy_handle现在成功时,此函数返回 CurlHandle 实例,之前返回 resource。
 curl_multi_add_handlehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_multi_add_handlemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_closemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_getcontenthandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_multi_info_readmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_remove_handlehandle expects a CurlHandle instance now; previously, a resource was expected.
 curl_multi_remove_handlemulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 curl_multi_selectmulti_handle expects a CurlMultiHandle instance now; previously, a resource was expected.
 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.
 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_freebroker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected.
 enchant_broker_free_dictdictionary expects a EnchantDictionary now; previoulsy, a 资源(resource) was expected.
 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; previoulsy, a 资源(resource) was retured.
 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_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_describePrior to this version, the function returned false on failure.
 enchant_dict_describedictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected.
 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 现在可以为空。
 exif_read_datarequired_sections 现在可以为空。
 fgetcsv现在 length 允许为 null.
 file_get_contents现在 length 允许为 null。
 floornum 不再接受支持数字转换的内部对象。
 fsockopentimeout 现在可以为 null。
 fwrite现在 length 可以为 null。
 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。
 gmdate现在 timestamp 允许为 null。
 gmmktimehour 不再可选。
 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。
 iconv_strposencoding is nullable now.
 iconv_strrposencoding is nullable now.
 idate现在 timestamp 允许为 null。
 ignore_user_abortenable 现在允许为 null。
 imagebmpThe type of compressed is bool now; formerly it was int.
 imagebmpimage expects a GdImage instance now; previously, a resource was expected.
 imagecreatefrombmpOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecreatefromtgaOn success, this function returns a GDImage instance now; previously, a 资源(resource) was returned.
 imagecropimage expects a GdImage instance now; previously, a resource was expected.
 imagecropOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagecropautoimage expects a GdImage instance now; previously, a resource was expected.
 imagecropautoOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imageflipimage expects a GdImage instance now; previously, a resource was expected.
 imagegetclipimage expects a GdImage instance now; previously, a resource was expected.
 imagegetinterpolationimage expects a GdImage instance now; previously, a resource was expected.
 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.
 imageopenpolygonimage expects a GdImage instance now; previously, a resource was expected.
 imagepalettetotruecolorimage expects a GdImage instance now; previously, a resource was expected.
 imageresolutionresolution_x and resolution_y are now nullable.
 imagescaleOn success, this function returns a GDImage instance now; previously, a resource was returned.
 imagescaleimage expects a GdImage instance now; previously, a resource was expected.
 imagesetclipimage expects a GdImage instance now; previously, a resource was expected.
 imagesetinterpolationimage expects a GdImage instance now; previously, a resource was expected.
 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.
 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_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_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_use_internal_errorsuse_errors is nullable now. Previously, its default was false.
 localtime现在 timestamp 可为 null。
 mb_chr现在 encoding 可以为 null。
 mb_convert_encoding现在,当 from_encoding 为无效编码时, mb_convert_encoding 会抛出 ValueError。
 mb_convert_encoding现在,当 to_encoding 为无效编码时, mb_convert_encoding 会抛出 ValueError。
 mb_convert_encoding现在 from_encoding 可以传入 null。
 mb_convert_kana现在 encoding 可以为 null。
 mb_encode_mimeheadercharset 和 transfer_encoding 现在可以为空。
 mb_encode_numericentity现在 encoding 可以为 null。
 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_ord现在 encoding 可以为 null。
 mb_regex_encoding现在 encoding 可以为 null。
 mb_regex_set_optionsoptions is nullable now.
 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_scrub现在 encoding 可以为 null。
 mb_str_split现在 encoding 可以为 null。
 mb_str_split此函数在失败时不再返回 false。
 metaphoneThe function returned false on failure.
 mhashkey is now nullable.
 mktime现在 minute、second、month、day 和 year 允许为 null。
 mktimehour 不再可选。
 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。
 odbc_columnsschema, table and column are now nullable.
 odbc_errorodbc is nullable now.
 odbc_errormsgodbc is nullable now.
 odbc_execflags was removed.
 odbc_fetch_rowrow is nullable now.
 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_pkey_new成功时此函数会返回 OpenSSLAsymmetricKey 的实例;在之前版本中,则会返回类似为 OpenSSL key 的 资源(resource)。
 openssl_signprivate_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a 资源(resource) of type OpenSSL key or 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.
 openssl_x509_verifycertificate accepts an OpenSSLCertificate instance now; previously, a 资源(resource) of type OpenSSL X.509 was accepted.
 pack此函数不再在失败时返回 false 。
 parse_strresult 是必须项。
 parse_urlparse_url 现在对 query 和 fragment 区分不存在和空值。
 password_hash参数 algo 可以为 null。
 password_hash失败时 password_hash 不再返回 false。
 pfsockopentimeout 现在可以为 null。
 pg_versionconnection is now nullable.
 phpversionextension 现在可为 null。
 readdir现在 dir_handle 可以为 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_module_namemodule 现在可以为空。
 set_error_handler删除 errcontext 并不再传递给用户回调。
 shm_attachsize is nullable now.
 shm_attachOn success, this function returns an SysvSharedMemory instance now; previously, a resource was returned.
 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_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_readshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_sizeshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_writeshmop expects a Shmop instance now; previously, a resource was expected.
 shmop_writePrior to PHP 8.0.0, false was returned on failure.
 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_errorsocket 现在可为空(nullable)。
 socket_last_error现在 socket 是 Socket 实例, 之前是 resource。
 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_sendtoport 现在允许为 null。
 socket_sendto现在 socket 是 Socket 实例, 之前是 resource。
 socket_set_block现在 socket 是 Socket 实例, 之前是 resource。
 socket_set_nonblock现在 socket 是 Socket 实例, 之前是 resource。
 socket_set_option现在 socket 是 Socket 实例, 之前是 resource。
 socket_shutdown现在 socket 是 Socket 实例, 之前是 resource。
 socket_writelength 现在允许为 null。
 socket_write现在 socket 是 Socket 实例, 之前是 resource。
 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_registercallback 现在可以为 null。
 sprintf此函数失败时不再返回 false 。
 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_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。
 stripos不再支持 int 传递给 needle。
 stristr不再支持 int 传递给 needle。
 strpos不再支持 int 传入 needle。
 strrchr不再支持将 int 作为 needle 传递。
 strripos不再支持将 int 传递给 needle。
 strrpos不再支持将 int 传递给 needle。
 strspnlength 现在允许为 null。
 strstr不再支持传递 int 作为 needle。
 strtotime现在 baseTimestamp 允许为 null。
 substr现在 length 允许为 null。当 length 显式设置为 null 时,函数返回在字符串末尾结束的子字符串,而之前将返回空字符串。
 substr函数将返回空字符串, 在此之前返回 false。
 substr_comparelength 现在允许为 null。
 substr_countlength 可以为空(nullable)。
 substr_replacelength 现在允许为 null。
 touchmtime 和 atime 现在可以为空。
 uasort如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。
 uksort如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。
 umaskmask 现在可以为 null。
 unixtojdtimestamp 现在可以为 null。
 usort如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。
 vsprintf此函数失败时不再返回 false 。
 GlobIterator::__constructNow throws a ValueError if directory is an empty string; previously it threw a RuntimeException.
 IntlTimeZone::getIDForWindowsIDregion is now nullable.
 LimitIterator::__constructNow throws a ValueError if limit is less than -1; previously it threw a RuntimeException.
 LimitIterator::__constructNow throws a ValueError if offset is less than 0; 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.
 NumberFormatter::createpattern is nullable now.
 Phar::addFilelocalName 现在可以为空。
 Phar::buildFromIteratorbaseDirectory is now nullable.
 Phar::compressextension is now nullable.
 Phar::convertToDataformat, compression, and extension are now nullable.
 Phar::convertToExecutableformat, compression, and localName 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, mimeTypes 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.
 ReflectionMethod::getClosureobject 现在可以为 null。
 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.
 ReflectionProperty::getValueobject is nullable now.
 ReflectionProperty::isInitializedobject is nullable now.
 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::repairFileconfig and encoding are nullable now.
 tidy::repairFiletidy::repairFile is a static method now.
 tidy::repairStringThis function no longer accepts the useIncludePath parameter.
 tidy::repairStringconfig and encoding are nullable now.
 tidy::repairStringtidy::repairString is a static method now.
 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::writeDtdEntitypublicId, systemId and notationData are nullable now.
 XMLWriter::writeDtdEntity现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeElement现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeElementNs现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writePi现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
 XMLWriter::writeRaw现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。
7.4.4proc_open为 options 参数增加 create_new_console 选项。
7.4.0array_merge允许不带参数调用,之前版本至少需要一个参数。
 array_merge_recursive允许不传递参数调用,之前的版本中至少需要一个参数。
 base_convert传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 bindec传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 chr此函数不再静默接受不支持的 codepoint,并会将它们转为 0。
 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.
 implode在 array 之后传递 separator (即:使用遗留写法)已被废弃。
 ldap_control_paged_resultThis function has been deprecated.
 ldap_control_paged_result_responseThis function has been deprecated.
 money_format弃用此函数。使用 NumberFormatter::formatCurrency 替代。
 octdec传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。
 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.
 proc_openproc_open 的 command 参数现在也允许数组类型。
 proc_open为 options 参数增加 create_process_group 选项。
 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.
 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.24, 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.3.14, 7.4.2dba_openThe lmdb driver now supports an additional map_size parameter.
 dba_popenThe lmdb driver now supports an additional map_size parameter.
7.3.0DateTimeImmutable::createFromFormatThe v format specifier has been added.
 apache_request_headers此函数可用于 FPM SAPI 模式。
 array_push可以只用一个参数来调用此函数,之前版本中至少需要两个参数。
 array_unshift现在可以只用一个参数来调用,之前至少需要两个参数。
 assertDeclaring a function called assert() inside a namespace became deprecated. Such declaration now emits an E_DEPRECATED.
 bcmul现在 bcmul 可以按想要的小数点位数返回数字。 而之前,返回的数字会忽略尾随零(trailing decimal zeroes)。
 bcpow现在 bcpow 可以按想要的小数点位数返回数字。 而之前,返回的数字会忽略尾随零(trailing decimal zeroes)。
 bcscale现在 bcscale 不仅可以设置,还可以获取当前的小数点保留位数。 用于设置的时候,现在会返回之前的位数。 之前 scale 是强制的参数, 且 bcscale 总是返回 true。
 compact现在,如果字符串指向的变量未定义,compact 会产生 E_NOTICE 级错误。 在此之前,此类问题会静默忽略掉。
 define废弃了 case_insensitive,并将在 8.0.0 版中移除。
 ftp_nb_fget参数 mode 变为可选参数。 在之前的版本中,这是一个必填参数。
 ftp_nb_fput参数 mode 变为可选参数。 在之前的版本中,这是一个必填参数。
 ftp_nb_getmode 参数变为可选,之前是强制性的。
 ftp_nb_putmode 参数为可选,之前版本中为必填。
 ftp_putmode 参数为可选,之前版本中为必选。
 getallheaders该函数可以在 FPM SAPI 中使用。
 is_countableis_countable has been added.
 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 serverctrls 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支持在数组解构时传引用。
 password_hash增加 PASSWORD_ARGON2ID,支持 Argon2id 密码算法。
 preg_quote字符 # 被增加为需要转义的。
 session_set_cookie_params增加 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.19, 7.3.6, 7.4.0DatePeriod::__constructrecurrences must be greater than 0 now.
7.2.19, 7.3.6SplFileObject::__toStringChanged from an alias of SplFileObject::current to an alias of SplFileObject::fgets.
7.2.18, 7.3.5substr_compareoffset 现在可能等于 haystack。
7.2.12DateInterval::formatThe F and f format will now always be positive.
7.2.0array_unique如果 flags 是 SORT_STRING, 之前会复制 array 并移除非唯一数组(之后并不打包数组), 现在是通过添加唯一元素来生成新数组。这可能会导致不同的数字索引。
 assertUsage of a string as the assertion became deprecated. It now emits an E_DEPRECATED notice when both assert.active and zend.assertions are set to 1.
 bcmod新增参数 scale。
 bcmod现在 num1 和 num2 不会截断成整数。 所以现在 bcmod 的表现更接近 fmod 而不是 % 操作符。
 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_data新增了以下 EXIF 格式的支持: Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
 exif_read_datafile 参数现在起支持本地文件和流式资源。
 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 代替。
 is_object没有定义类(__PHP_Incomplete_Class 类)的未序列化对象,is_object 现在返回 true,之前返回 false。
 json_decodeflags 新增 JSON_INVALID_UTF8_IGNORE、JSON_INVALID_UTF8_SUBSTITUTE。
 json_decode现在 associative 允许为 null。
 json_encodeflags 参数新增 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 常量。
 mail现在 additional_headers 参数开始支持 array。
 mb_convert_encoding现在该函数的 string 参数同时能接受 array 类型。 在此之前,仅支持 string。
 mt_randrand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与 64 位机器上的 PHP 7.1.0 不同。
 number_formatnumber_format 现在再也不会返回 -0,之前 num 为 -0.01 的情况下可以返回 -0。
 openssl_pkcs7_verify新增 p7bfilename 参数。
 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_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.
 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.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) 随机数生成器。
 file_get_contents支持负数 offset。
 get_headers新增 context 参数。
 getenv现在可以省略 varname 来检索所有环境变量的关联数组 array。
 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_encode对 float 值进行编码时,使用 serialize_precision 代替 precision。
 json_encodeflags 参数新增 JSON_UNESCAPED_LINE_TERMINATORS 常量。
 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_strimwidth支持负数的 start 和 width。
 mb_stripos支持 offset 使用负数。
 mb_strpos支持负数的 offset。
 mt_randmt_rand 成为使用梅森旋转(Mersenne Twister)算法的固定、正确版本。要使用旧行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。
 mt_randrand 成为 mt_rand 的别名。
 mt_srandsrand 成为 mt_srand 的别名。
 mt_srandmt_rand 成为使用梅森旋转(Mersenne Twister)算法的固定、正确版本。要使用旧行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。
 openssl_decrypt添加了 tag 和 aad 参数。
 openssl_encrypt增加了 tag、aad、tag_length 参数
 openssl_pkey_new添加了 curve_name 配置参数使得可以创建 EC 密钥。
 output_add_rewrite_var在 PHP 7.1.0 之前,使用 output_add_rewrite_var 设置重写变量使用相同的 Session 模块 trans sid 输出缓冲区。从 PHP 7.1.0 起,使用专用的输出缓冲区, url_rewriter.tags 仅用于输出函数,新增 url_rewriter.hosts。
 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 定义的重写变量。
 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.16, 7.1.2dns_get_record新增对 CAA 记录的支持。
 fopen新增 'e' 选项。
7.0.15, 7.1.1get_defined_functions新增 exclude_disabled 参数。
7.0.15,7.1.1pack添加了 “e”,“E”,“g” 和 “G” 代码以启用 float 和 double 的字节顺序支持。
7.0.11iconv_substr如果 str 等长于 offset 个字符, 将返回空字符串。之前的版本里,这种情况是会返回 false 的。
7.0.10SplFileObject::getCsvControlAdded the escape character to the returned array.
 SQLite3::__constructThe filename can now be empty to use a private, temporary on-disk database.
7.0.9getenv添加 local_only 参数。
7.0.7curl_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.0assertassert is now a language construct and not a function. assertion can now be an expression. The second parameter is now interpreted either as an exception (if a Throwable object is given), or as the description supported from PHP 5.4.8 onwards.
 define允许 array 的值。
 dirname添加可选的 levels 参数。
 getrusage此函数现在开始支持 Windows。
 openssl_open添加了 iv 参数
 openssl_seal添加 iv 变量。
 session_start新加 options 参数。
5.5.0/PECL 3.0.0IntlDateFormatter::createAn IntlCalendar object is allowed for calendar. Objects of type IntlTimeZone and DateTimeZone are allowed for timezone. Invalid timezone identifiers (including empty strings) are no longer allowed for timezone. If null is given for timezone, the timezone identifier given by date_default_timezone_get will be used instead of ICUʼs default.
 IntlDateFormatter::setCalendarIt became possible to pass an IntlCalendar object.
5.5.0此函数会生成一个 E_DEPRECATED 错误。
 mysql_list_dbs 函数已废弃,调用时会抛出 E_DEPRECATED 级别的错误。
 函数会抛出一个 E_DEPRECATED 错误。
 mysql_tablename 函数已废弃,调用时会抛出 E_DEPRECATED 级别的错误。
5.4.8mb_strcutPassing NULL as length extracts all bytes to the end of the string. Prior to this version NULL was treated the same as 0.
 mb_substrlength 传入 NULL,则从 start 提取到字符串的结尾处。 在之前的版本里, NULL 会被当作 0 来处理。
5.4.0filter_input_array添加 add_empty 参数.
 filter_var_array添加 add_empty 参数。
 iconv这个版本起,字符非法时候会返回 false,除非在输出字符里指定了 //IGNORE 。 在之前版本,它会返回一部分字符串。
 imagewebp支持把 resource 流作为 to 参数传入。
 openssl_decrypt将 raw_output 更改至 options。
5.3.3openssl_decrypt添加 iv 参数。
5.3.0getimagesizeAdded icon support.
 imagecolorclosesthwb在 Windows 平台上可用
 imagefilterPixelation support (IMG_FILTER_PIXELATE) was added.
 openssl_open添加了 method 参数
 openssl_seal添加 method 变量。
 session_start如果函数调用失败返回 false, 之前版本返回了 true。
5.2.5imagefilterAlpha support for IMG_FILTER_COLORIZE was added.
5.2.3getimagesizeRead errors generated by this function downgraded to E_NOTICE from E_WARNING.
 PDOStatement::getColumnMetatable 字段
5.2.2ftp_ssl_connect以前版本中,如果无法使用 SSL 连接,将会返回一个非 SSL 的连接, 在 5.2.2 版本中修改为返回 false
 token_get_allLine numbers are returned in element 2
5.2.0imagettftextIt is now possible to specify an hexadecimal entity in text.
 mb_strrpos增加了可选参数 offset。
 openssl_verify添加了 signature_alg 参数。
 session_get_cookie_params在返回数组中加入 “httponly”。
 session_set_cookie_params加入 httponly 参数。
 PDOStatement::executeinput_parameters 中的键名必须和 SQL 中声明的相匹配。PHP 5.2.0 之前默认忽略。
5.1.3curl_getinfo引入CURLINFO_HEADER_OUT.
5.1.0imagerotate新增: ignore_transparent 。
5.0.0socket_create增加 AF_INET6 支持。
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top