对绑定的扩展的函数有以下更新。
Version | Function | Description |
---|---|---|
Since 5.0 | cal_info | 参数calendar作为可选项,缺省时默认值为"所有历法"。 |
Since 4.3.0 | easter_date | year参数可选,缺省的默认值是当年。 |
easter_days | 引入参数 method。 | |
easter_days | 参数year 可选,缺省默认值是当年。 | |
Prior to 5.1.3 | imagecolorallocatealpha | Returns -1 if the allocation failed. |
PHP 5.3.2 (PECL OCI8 1.4) | oci_set_prefetch | Before this release, rows must be >= 1. |
PHP 5.3 (PECL OCI8 1.3.4) | oci_set_prefetch | Before 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.0 | IntlDateFormatter::format | Support for providing IntlCalendar objects to the datetime parameter was added. |
8.2.0 | DateInterval::__construct | Only the y to f, invert, and days will be visible, including a new from_string boolean property. |
DateInterval::createFromDateString | Only the from_string and date_string properties will be visible when a DateInterval is created with this method. | |
DatePeriod::__construct | The DatePeriod::INCLUDE_END_DATE constant has been added. | |
DateTimeInterface::format | 新增 X 和 x 格式化字符。 | |
DateTimeImmutable::createFromFormat | The X and x format specifiers have been added. | |
dba_fetch | dba_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_open | flags is added. | |
dba_popen | flags is added. | |
idate | 添加 N(ISO-8601 格式的周几)和 o(ISO-8601 格式的年份)格式字符。 | |
iterator_count | iterator 的类型从 Traversable 扩展为 Traversablearray。 | |
iterator_to_array | iterator 的类型从 Traversable 扩展为 Traversablearray。 | |
random_bytes | In case of a CSPRNG failure, this function will now throw a Random\RandomException. Previously a plain Exception was thrown. | |
random_int | CSPRNG 失败时,此函数现在将抛出 Random\RandomException。之前抛出普通的 Exception。 | |
strcasecmp | 现在此函数返回 -1 或者 1,之前返回负数或正数。 | |
strnatcasecmp | 现在此函数返回 -1 或者 1,之前返回负数或正数。 | |
strncasecmp | 现在此函数返回 -1 或者 1,之前返回负数或正数。 | |
utf8_encode | 弃用此函数。 | |
8.1.0 | DateTime::setTime | The 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::setTime | The 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::key | When the iterator is uninitialized, an Error is thrown now. Previously, the method returned false. | |
DOMDocument::createComment | In case of an error, a DomException is thrown now. Previously, false was returned. | |
DOMDocument::createDocumentFragment | In case of an error, a DomException is thrown now. Previously, false was returned. | |
DOMDocument::createTextNode | In 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_open | handler is now nullable. | |
dba_popen | handler is now nullable. | |
end | 弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。 | |
fputcsv | 新增可选的 eol 参数。 | |
get_html_translation_table | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
hash | 新增 options 参数。 | |
hash_algos | 新增对 MurmurHash3 和 xxHash 算法的支持。 | |
hash_file | 新增 options 参数。 | |
hash_init | 新增 options 参数。 | |
html_entity_decode | flags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401. | |
htmlentities | flags 从 ENT_COMPAT 变更为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
htmlspecialchars | flags 从 ENT_COMPAT 变更为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
imageopenpolygon | The parameter num_points has been deprecated. | |
ini_set | value 现在接受任何标量类型(包含 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_ext | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_bind_ext | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_bind_ext | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_compare | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_connect | Returns an LDAP\Connection instance now; previously, a 资源(resource) was returned. | |
ldap_count_entries | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_count_entries | The result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected. | |
ldap_count_references | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_count_references | The result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected. | |
ldap_delete | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_delete_ext | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_delete_ext | Returns 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_attribute | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_first_entry | The result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected. | |
ldap_first_entry | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_first_entry | Returns an LDAP\ResultEntry instance now; previously, a 资源(resource) was returned. | |
ldap_free_result | The result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected. | |
ldap_get_attributes | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_get_attributes | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_get_dn | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_get_dn | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_get_entries | The 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_values | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_get_values_len | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_get_values_len | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_list | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_list | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
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_ext | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_mod_add_ext | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_mod_del_ext | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_mod_del_ext | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_mod_replace_ext | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_mod_replace_ext | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_next_attribute | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_next_attribute | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_next_entry | The entry parameter expects an LDAP\ResultEntry instance now; previously, a 资源(resource) was expected. | |
ldap_next_entry | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_next_entry | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_parse_exop | The result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected. | |
ldap_parse_exop | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_parse_result | The result parameter expects an LDAP\Result instance now; previously, a 资源(resource) was expected. | |
ldap_parse_result | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_read | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_read | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_rename | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_rename_ext | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_rename_ext | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_sasl_bind | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_search | Returns an LDAP\Result instance now; previously, a 资源(resource) was returned. | |
ldap_search | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_set_option | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_set_rebind_proc | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
ldap_unbind | 现在 ldap 参数接受 LDAP\Connection 实例,之前接受 资源(resource)。 | |
mhash | This function has been deprecated. Use the hash_*() functions instead. | |
mhash_count | This function has been deprecated. Use the hash_*() functions instead. | |
mhash_get_block_size | This function has been deprecated. Use the hash_*() functions instead. | |
mhash_get_hash_name | This function has been deprecated. Use the hash_*() functions instead. | |
mhash_keygen_s2k | This function has been deprecated. Use the hash_*() functions instead. | |
next | 弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。 | |
odbc_result_all | This function has been deprecated. | |
openssl_cms_encrypt | The 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 | 现在返回 PgSql\Result 实例,之前返回 资源(resource) | |
pg_execute | 现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(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 | 现在 connection 参数接受 PgSql\Connection 实例,之前接受 资源(resource)。 | |
pg_query_params | 现在返回 PgSql\Result 实例,之前返回 资源(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_personal | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
pspell_add_to_session | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
pspell_check | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
pspell_clear_session | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
pspell_config_create | Returns an PSpell\Config instance now; previously, a 资源(resource) was returned. | |
pspell_config_data_dir | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_dict_dir | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_ignore | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_mode | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_personal | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_repl | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_runtogether | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_config_save_repl | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_new | Returns an PSpell\Dictionary instance now; previously, a 资源(resource) was returned. | |
pspell_new_config | The config parameter expects an PSpell\Config instance now; previously, a 资源(resource) was expected. | |
pspell_new_config | Returns an PSpell\Dictionary instance now; previously, a 资源(resource) was returned. | |
pspell_new_personal | Returns an PSpell\Dictionary instance now; previously, a 资源(resource) was returned. | |
pspell_save_wordlist | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
pspell_store_replacement | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
pspell_suggest | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a 资源(resource) was expected. | |
reset | 弃用在 object 上调用此函数。 在 object 优先使用 get_mangled_object_vars 或者使用 ArrayIterator。 | |
snmp3_get | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp. | |
snmp3_getnext | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp. | |
snmp3_real_walk | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp. | |
snmp3_walk | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp. | |
stream_select | microseconds is now nullable. | |
strptime | 此函数已弃用。改用 date_parse_from_format(用于单独区域设置解析)或者 IntlDateFormatter::parse(用于依赖区域设置解析) | |
MultipleIterator::current | A RuntimeException is now thrown if MultipleIterator::current is called on an invalid iterator. Previously, false was returned. | |
MultipleIterator::key | A RuntimeException is now thrown if MultipleIterator::key is called on an invalid iterator. Previously, false was returned. | |
Phar::buildFromDirectory | Phar::buildFromDirectory no longer returns false. | |
Phar::buildFromIterator | Phar::buildFromIterator no longer returns false. | |
PharData::buildFromDirectory | PharData::buildFromDirectory no longer returns false. | |
PharData::buildFromIterator | PharData::buildFromIterator no longer returns false. | |
ReflectionClassConstant::getName | Throws 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::__clone | This method is no longer final. | |
ReflectionProperty::__clone | This method is no longer final. | |
ReflectionProperty::getValue | Private 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::setValue | Private 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::__clone | This method is no longer final. | |
SplFileObject::fputcsv | The optional eol parameter has been added. | |
SplObjectStorage::current | SplObjectStorage::current now throws an Error exception if the current position is invalid. Previously, false was returned instead. | |
8.0.3 | DOMDocument::getElementsByTagNameNS | namespace is nullable now. |
DOMElement::getElementsByTagNameNS | namespace is nullable now. | |
DOMImplementation::createDocument | namespace is now nullable. | |
finfo::__construct | magic_database is nullable now. | |
bind_textdomain_codeset | codeset is nullable now. Previously, it was not possible to retrieve the currently set encoding. | |
bindtextdomain | directory is nullable now. Previously, it was not possible to retrieve the currently set directory. | |
SoapClient::__setLocation | location is nullable now. | |
SoapVar::__construct | typeName, typeNamespace, nodeName,and nodeNamespace are nullable now. | |
8.0.0, PECL OCI8 3.0.0 | oci_lob_copy | length is now nullable. |
OCICollection::append | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::assign | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::assignElem | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::free | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::getElem | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::max | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::size | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCICollection::trim | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards. | |
OCILob::append | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::close | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::eof | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::erase | offset and length are now nullable. | |
OCILob::erase | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::export | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::export | offset and length are now nullable. | |
OCILob::flush | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::free | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::getBuffering | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::import | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::load | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::read | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::rewind | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::save | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::saveFile | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::seek | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::setBuffering | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::size | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::tell | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::truncate | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::write | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::write | length is now nullable. | |
OCILob::writeTemporary | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::writeToFile | The OCI-Lob class was renamed to OCILob to align with PHP naming standards. | |
OCILob::writeToFile | offset and length are now nullable. | |
8.0.0 | DateInterval::__construct | W can be combined with D. |
DateTime::createFromImmutable | The method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTime. | |
DateTimeInterface::format | 新增 p 格式化字符。 | |
DateTimeInterface::format | 之前的版本,失败时返回 false。 | |
DateTimeInterface::getOffset | Prior to this version, false was returned on failure. | |
DateTimeInterface::getTimestamp | These functions no longer return false on failure. | |
DateTimeImmutable::createFromMutable | The 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::__construct | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException. | |
DOMImplementation::createDocument | doctype is now nullable. | |
FFI::cdef | lib is nullable now. | |
FFI::string | size is nullable now; previously, its default was 0. | |
FilesystemIterator::__construct | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException. | |
abs | num 不再接受支持数字转换的内部对象。 | |
apache_note | 现在 note_value 可为 null。 | |
array_chunk | 如果 length 小于 1,现在会抛出 ValueError;之前会引发 E_WARNING 级别的错误且函数会返回 null。 | |
array_column | index_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_filter | 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 | |
array_filter | callback 现在可为空(nullable)。 | |
array_intersect | 现在可以仅使用一个参数调用此函数。以前,至少需要两个参数。 | |
array_intersect_assoc | 现在可以仅使用一个参数调用此函数。以前,至少需要两个参数。 | |
array_intersect_key | 现在可以仅使用一个参数调用此函数。以前,至少需要两个参数。 | |
array_map | 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 | |
array_reduce | 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 | |
array_splice | length 现在可为空(nullable)。 | |
array_walk | 如果 callback 期待通过引用传递第二个和第三个参数, 此函数现在将抛出 E_WARNING。 | |
assert | assert 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. | |
assert | Declaring a function called assert() inside a namespace is no longer allowed, and issues E_COMPILE_ERROR. | |
bcadd | 现在 scale 可以为 null。 | |
bccomp | 现在 scale 可以为 null。 | |
bcdiv | 现在 scale 可以为 null。 | |
bcmod | 现在 scale 可以为 null。 | |
bcmul | 现在 scale 可以为 null。 | |
bcpowmod | scale is now nullable. | |
bcscale | 现在 scale 可以为 null。 | |
bcsqrt | 现在 scale 可以为 null。 | |
bcsub | 现在 scale 可以为 null。 | |
bzdecompress | use_less_memory 的类型从 int 变为 bool。 之前默认值为 0。 | |
bzwrite | length 现在可为空(nullable)。 | |
call_user_func_array | args 键现在将被解释为参数名称,而不是被默默地忽略。 | |
ceil | num 不再接受支持数字转换的内部对象。 | |
com_event_sink | sink_interface is nullable now. | |
com_get_active_object | codepage is nullable now. | |
constant | 如果常量未定义,constant 现在会抛出 Error 异常。以前会产生一个 E_WARNING 级别的错误并返回 null。 | |
count | 当 value 参数传入了无效的 countable 类型, count 现在会抛出 TypeError。 | |
count_chars | 在此版本之前,函数在失败时返回 false。 | |
crypt | salt不再可选。 | |
date | 现在 timestamp 允许为 null。 | |
date_sunrise | latitude, longitude, zenith and utcOffset are nullable now. | |
date_sunset | latitude, longitude, zenith and utcOffset are nullable now. | |
define | 现在传递 true 到 case_insensitive 会发出 E_WARNING。仍然允许传递 false。 | |
deflate_add | context expects a DeflateContext instance now; previously, a resource was expected. | |
deflate_init | On success, this function returns a DeflateContext instance now; previously, a resource was returned. | |
dir | context 现在可为空(nullable)。 | |
dom_import_simplexml | This function no longer returns null on failure. | |
enchant_broker_describe | Prior to this version, the function returned false on failure. | |
enchant_broker_describe | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_dict_exists | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_free | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_free_dict | dictionary expects a EnchantDictionary now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_get_dict_path | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_get_error | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_init | On success, this function returns an EnchantBroker instance now; previoulsy, a 资源(resource) was retured. | |
enchant_broker_list_dicts | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_list_dicts | Prior to this version, the function returned false on failure. | |
enchant_broker_request_dict | On success, this function returns an EnchantDictionary instance now; previoulsy, a 资源(resource) was retured. | |
enchant_broker_request_dict | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_request_pwl_dict | On success, this function returns an EnchantDictionary instance now; previoulsy, a 资源(resource) was retured. | |
enchant_broker_request_pwl_dict | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_set_dict_path | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_broker_set_ordering | broker expects an EnchantBroker instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_add | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_add_to_session | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_check | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_describe | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_describe | Prior to this version, the function returned false on failure. | |
enchant_dict_get_error | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_is_added | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_quick_check | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_store_replacement | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
enchant_dict_suggest | dictionary expects an EnchantDictionary instance now; previoulsy, a 资源(resource) was expected. | |
error_log | 现在 destination 和 additional_headers 允许为 null。 | |
error_reporting | error_level 现在可以为空。 | |
exif_read_data | required_sections 现在可以为空。 | |
fgetcsv | 现在 length 允许为 null. | |
file_get_contents | 现在 length 允许为 null。 | |
floor | num 不再接受支持数字转换的内部对象。 | |
fsockopen | timeout 现在可以为 null。 | |
fwrite | 现在 length 可以为 null。 | |
get_class | 在类外不带任何参数调用此函数将会触发 Error。之前会引发 E_WARNING 并且函数会返回 false。 | |
get_class_methods | object_or_class 参数现在只接受对象或者有效的类名。 | |
get_defined_functions | exclude_disabled 参数的默认值从 false 更改为 true。 | |
get_headers | associative 从 int 更改为 bool。 | |
get_parent_class | object_or_class 参数现在仅接受对象或者有效的类名。 | |
get_resources | type is nullable now. | |
getdate | 现在 timestamp 允许为 null。 | |
gmdate | 现在 timestamp 允许为 null。 | |
gmmktime | 现在 minute、second、month、day 和 year 可以为 null。 | |
gmmktime | hour 不再可选。 | |
gmp_binomial | This function no longer returns false on failure. | |
gmp_export | This function no longer returns false on failure. | |
gmp_import | This function no longer returns false on failure. | |
gmp_random_seed | If seed is invalid, gmp_random_seed now throws a ValueError. Previously it emitted an E_WARNING and returned false. | |
gmstrftime | 现在 timestamp 允许为 null。 | |
grapheme_substr | The function now consistently clamps out-of-bounds offsets to the string boundary. Previously, false was returned instead of the empty string in some cases. | |
gzgets | length is nullable now; previously, the default was 1024. | |
gzwrite | length is nullable now; previously, the default was 0. | |
hash | 如果 algo 未知,现在 hash 将抛出 ValueError 异常,之前返回 false。 | |
hash_hkdf | Now 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_file | stream_context 现在可以为 null。 | |
header_remove | name 现在允许为 null。 | |
html_entity_decode | encoding is nullable now. | |
htmlentities | encoding 现在可以为 null。 | |
iconv_strpos | encoding is nullable now. | |
iconv_strrpos | encoding is nullable now. | |
idate | 现在 timestamp 允许为 null。 | |
ignore_user_abort | enable 现在允许为 null。 | |
imagebmp | The type of compressed is bool now; formerly it was int. | |
imagebmp | image expects a GdImage instance now; previously, a resource was expected. | |
imagecreatefrombmp | On success, this function returns a GDImage instance now; previously, a resource was returned. | |
imagecreatefromtga | On success, this function returns a GDImage instance now; previously, a 资源(resource) was returned. | |
imagecrop | On success, this function returns a GDImage instance now; previously, a resource was returned. | |
imagecrop | image expects a GdImage instance now; previously, a resource was expected. | |
imagecropauto | On success, this function returns a GDImage instance now; previously, a resource was returned. | |
imagecropauto | image expects a GdImage instance now; previously, a resource was expected. | |
imageflip | image expects a GdImage instance now; previously, a resource was expected. | |
imagegetclip | image expects a GdImage instance now; previously, a resource was expected. | |
imagegetinterpolation | image expects a GdImage instance now; previously, a resource was expected. | |
imagegrabscreen | On success, this function returns a GDImage instance now; previously, a resource was returned. | |
imagegrabwindow | On success, this function returns a GDImage instance now; previously, a resource was returned. | |
imagegrabwindow | client_area expects a bool now; previously it expected an int. | |
imageopenpolygon | image expects a GdImage instance now; previously, a resource was expected. | |
imagepalettetotruecolor | image expects a GdImage instance now; previously, a resource was expected. | |
imageresolution | resolution_x and resolution_y are now nullable. | |
imagescale | On success, this function returns a GDImage instance now; previously, a resource was returned. | |
imagescale | image expects a GdImage instance now; previously, a resource was expected. | |
imagesetclip | image expects a GdImage instance now; previously, a resource was expected. | |
imagesetinterpolation | image expects a GdImage instance now; previously, a resource was expected. | |
implode | 在 array 之后传递 separator 已不再支持。 | |
inflate_add | context expects an InflateContext instance now; previously, a resource was expected. | |
inflate_get_read_len | context expects an InflateContext instance now; previously, a resource was expected. | |
inflate_get_status | context expects an InflateContext instance now; previously, a resource was expected. | |
inflate_init | On success, this function returns an InflateContext instance now; previously, a resource was returned. | |
is_numeric | 以空格结尾的数字字符串("42 ")现在将返回 true。以前,会返回 false。 | |
jdtounix | 此函数在失败时不再返回 false,而是引发 ValueError。 | |
ldap_add | controls is nullable now; previously, it defaulted to []. | |
ldap_add_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_bind_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_compare | controls is nullable now; previously, it defaulted to []. | |
ldap_control_paged_result | This function has been removed. | |
ldap_control_paged_result_response | This function has been removed. | |
ldap_delete | controls is nullable now; previously, it defaulted to []. | |
ldap_delete_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_exop_passwd | controls is nullable now; previously, it defaulted to []. | |
ldap_list | controls is nullable now; previously, it defaulted to []. | |
ldap_mod_add | controls is nullable now; previously, it defaulted to []. | |
ldap_mod_del | controls is nullable now; previously, it defaulted to []. | |
ldap_mod_replace | controls is nullable now; previously, it defaulted to []. | |
ldap_modify_batch | controls is nullable now; previously, it defaulted to []. | |
ldap_mod_add_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_mod_del_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_mod_replace_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_read | controls is nullable now; previously, it defaulted to []. | |
ldap_rename | controls is nullable now; previously, it defaulted to []. | |
ldap_rename_ext | controls is nullable now; previously, it defaulted to []. | |
ldap_sasl_bind | dn, password, mech, realm, authc_id, authz_id and props are nullable now. | |
ldap_search | controls is nullable now; previously, it defaulted to []. | |
ldap_set_rebind_proc | callback is nullable now. | |
ldap_sort | This function has been removed. | |
libxml_use_internal_errors | use_errors is nullable now. Previously, its default was false. | |
localtime | 现在 timestamp 可为 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_encode_mimeheader | charset 和 transfer_encoding 现在可以为空。 | |
mb_encode_numericentity | 现在 encoding 可以为 null。 | |
mb_ereg | This 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_match | options is nullable now. | |
mb_ereg_replace | options is nullable now. | |
mb_ereg_replace_callback | options is nullable now. | |
mb_ereg_search | pattern and options are nullable now. | |
mb_ereg_search_init | pattern and options are nullable now. | |
mb_ereg_search_pos | pattern and options are nullable now. | |
mb_ereg_search_regs | pattern and options are nullable now. | |
mb_eregi | This 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_replace | options is nullable now. | |
mb_get_info | 参数 type 中的 "func_overload" 和 "func_overload_list" 不再被支持。 | |
mb_ord | 现在 encoding 可以为 null。 | |
mb_regex_encoding | 现在 encoding 可以为 null。 | |
mb_regex_set_options | If the parameter options is given and not null, the previous options are returned. Formerly, the current options have been returned. | |
mb_regex_set_options | options is nullable now. | |
mb_scrub | 现在 encoding 可以为 null。 | |
mb_str_split | 此函数在失败时不再返回 false。 | |
mb_str_split | 现在 encoding 可以为 null。 | |
metaphone | The function returned false on failure. | |
mhash | key is now nullable. | |
mktime | hour 不再可选。 | |
mktime | 现在 minute、second、month、day 和 year 允许为 null。 | |
msg_get_queue | On success, this function returns a SysvMessageQueue instance now; previously, a resource was returned. | |
msg_receive | queue expects a SysvMessageQueue instance now; previously, a resource was expected. | |
msg_remove_queue | queue expects a SysvMessageQueue instance now; previously, a resource was expected. | |
msg_send | queue expects a SysvMessageQueue instance now; previously, a resource was expected. | |
msg_set_queue | queue expects a SysvMessageQueue instance now; previously, a resource was expected. | |
msg_stat_queue | queue expects a SysvMessageQueue instance now; previously, a resource was expected. | |
number_format | 在此版本之前,number_format 接受一个、两个或四个参数(不会是三个)。 | |
ob_implicit_flush | enable 现在需要 bool 值;之前,需要 int。 | |
odbc_columns | schema, table and column are now nullable. | |
odbc_error | odbc is nullable now. | |
odbc_errormsg | odbc is nullable now. | |
odbc_exec | flags was removed. | |
odbc_fetch_row | row is nullable now. | |
odbc_procedurecolumns | Prior to this version, the function could only be called with either one or five arguments. | |
odbc_procedures | Prior to this version, the function could only be called with either one or four arguments. | |
odbc_tables | schema, table and types are now nullable. | |
opendir | 现在 context 允许为 null。 | |
openssl_pkey_new | 成功时此函数会返回 OpenSSLAsymmetricKey 的实例;在之前版本中,则会返回类似为 OpenSSL key 的 资源(resource)。 | |
openssl_sign | private_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a 资源(resource) of type OpenSSL key or OpenSSL X.509 was accepted. | |
openssl_x509_verify | certificate accepts an OpenSSLCertificate instance now; previously, a 资源(resource) of type OpenSSL X.509 was accepted. | |
openssl_x509_verify | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a 资源(resource) of type OpenSSL key or OpenSSL X.509 was accepted. | |
pack | 此函数不再在失败时返回 false 。 | |
parse_str | result 是必须项。 | |
parse_url | parse_url 现在对 query 和 fragment 区分不存在和空值。 | |
password_hash | 参数 algo 可以为 null。 | |
password_hash | 失败时 password_hash 不再返回 false。 | |
pfsockopen | timeout 现在可以为 null。 | |
pg_version | connection is now nullable. | |
phpversion | extension 现在可为 null。 | |
readdir | 现在 dir_handle 可以为 null。 | |
rewinddir | 现在 dir_handle 允许为 null。 | |
round | num 不再接受支持数字转换的内部对象。 | |
sapi_windows_vt100_support | enable is now nullable. | |
scandir | 现在 context 允许为 null。 | |
sem_acquire | semaphore expects a SysvSemaphore instance now; previously, a resource was expected. | |
sem_get | On success, this function returns a SysvSemaphore instance now; previously, a resource was returned. | |
sem_get | The type of auto_release has been changed from int to bool. | |
sem_release | semaphore expects a SysvSemaphore instance now; previously, a resource was expected. | |
sem_remove | semaphore expects a SysvSemaphore instance now; previously, a resource was expected. | |
session_module_name | module 现在可以为空。 | |
set_error_handler | 删除 errcontext 并不再传递给用户回调。 | |
shm_attach | On success, this function returns an SysvSharedMemory instance now; previously, a resource was returned. | |
shm_attach | size is nullable now. | |
shm_detach | shm expects a SysvSharedMemory instance now; previously, a resource was expected. | |
shm_get_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected. | |
shm_has_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected. | |
shm_put_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected. | |
shm_remove | shm expects a SysvSharedMemory instance now; previously, a resource was expected. | |
shm_remove_var | shm expects a SysvSharedMemory instance now; previously, a resource was expected. | |
shmop_close | shmop expects a Shmop instance now; previously, a resource was expected. | |
shmop_delete | shmop expects a Shmop instance now; previously, a resource was expected. | |
shmop_open | On success, this function returns an Shmop instance now; previously, a resource was returned. | |
shmop_read | shmop expects a Shmop instance now; previously, a resource was expected. | |
shmop_size | shmop expects a Shmop instance now; previously, a resource was expected. | |
shmop_write | Prior to PHP 8.0.0, false was returned on failure. | |
shmop_write | shmop 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 | service 现在允许为 null。 | |
socket_addrinfo_lookup | 成功时,现在函数返回 AddressInfo 实例数组。在此之前,返回的是 resource 数组。 | |
socket_bind | 现在 socket 是 Socket 实例, 之前是 resource。 | |
socket_clear_error | 参数 socket 可以为 null。 | |
socket_clear_error | 现在 socket 是 Socket 实例, 之前是 resource。 | |
socket_close | 现在 socket 是 Socket 实例, 之前是 resource。 | |
socket_connect | 现在 socket 是 Socket 实例, 之前是 resource。 | |
socket_connect | port 允许为空。 | |
socket_create | 创建成功时,该函数现在返回一个 Socket 实例; 在此之前,返回的是一个 resource。 | |
socket_create_listen | 成功时,该函数现在返回一个 Socket 实例;在此之前,返回值是一个 resource。 | |
socket_create_pair | pair 现在是 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_error | socket 现在可为空(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 | port 现在允许为 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_write | 现在 socket 是 Socket 实例, 之前是 resource。 | |
socket_write | length 现在允许为 null。 | |
socket_wsaprotocol_info_export | 现在 socket 是 Socket 实例, 之前是 resource。 | |
socket_wsaprotocol_info_import | On success, this function returns a Socket instance now; previously, a resource was returned. | |
soundex | Prior to this version, calling the function with an empty string returned false for no particular reason. | |
spl_autoload | file_extensions 现在允许为 null。 | |
spl_autoload_extensions | file_extensions 现在可以为 null。 | |
spl_autoload_register | callback 现在可以为 null。 | |
sprintf | 此函数失败时不再返回 false 。 | |
str_word_count | characters 可为空(Nullable)类型。 | |
stream_context_create | 现在 options 和 params 可以为 null。 | |
stream_context_get_default | options is now nullable. | |
stream_copy_to_stream | length is now nullable. | |
stream_get_contents | 现在 length 可以为 null。 | |
stream_socket_accept | 现在 timeout 可以为 null。 | |
stream_socket_client | timeout and context are now nullable. | |
stream_socket_enable_crypto | session_stream is now nullable. | |
stream_socket_server | context 现在可为 null。 | |
strftime | timestamp is nullable now. | |
stristr | 不再支持 int 传递给 needle。 | |
strpos | 不再支持 int 传入 needle。 | |
strrchr | 不再支持将 int 作为 needle 传递。 | |
strrpos | 不再支持将 int 传递给 needle | |
strspn | length 现在允许为 null。 | |
strstr | 不再支持传递 int 作为 needle。 | |
strtotime | 现在 baseTimestamp 允许为 null。 | |
substr | 函数将返回空字符串, 在此之前返回 false。 | |
substr | 现在 length 允许为 null。当 length 显式设置为 null 时,函数返回在字符串末尾结束的子字符串,而之前将返回空字符串。 | |
substr_count | length 可以为空(nullable)。 | |
touch | mtime 和 atime 现在可以为空。 | |
uasort | 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 | |
uksort | 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 | |
umask | mask 现在可以为 null。 | |
unixtojd | timestamp 现在可以为 null。 | |
usort | 如果 callback 接受引用传递参数,该方法将会抛出 E_WARNING。 | |
vsprintf | 此函数失败时不再返回 false 。 | |
GlobIterator::__construct | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException. | |
IntlTimeZone::getIDForWindowsID | region is now nullable. | |
LimitIterator::__construct | Now throws a ValueError if limit is less than -1; previously it threw a RuntimeException. | |
LimitIterator::__construct | Now throws a ValueError if offset is less than 0; previously it threw a RuntimeException. | |
Locale::getDisplayLanguage | displayLocale is nullable now. | |
Locale::getDisplayName | displayLocale is nullable now. | |
Locale::getDisplayRegion | displayLocale is nullable now. | |
Locale::getDisplayScript | displayLocale is nullable now. | |
Locale::getDisplayVariant | displayLocale is nullable now. | |
NumberFormatter::create | pattern is nullable now. | |
Phar::addFile | localName 现在可以为空。 | |
Phar::buildFromIterator | baseDirectory is now nullable. | |
Phar::compress | extension is now nullable. | |
Phar::convertToData | format, compression, and extension are now nullable. | |
Phar::convertToExecutable | format, compression, and localName are now nullable. | |
Phar::createDefaultStub | index and webIndex are now nullable. | |
Phar::decompress | extension is now nullable. | |
Phar::getMetadata | The parameter unserializeOptions has been added. | |
Phar::setDefaultStub | webIndex is nullable now. | |
Phar::setSignatureAlgorithm | privateKey is now nullable. | |
Phar::webPhar | fileNotFoundScript, mimeTypes and rewrite are nullable now. | |
PharData::addFile | localName is now nullable. | |
PharData::buildFromIterator | baseDirectory is now nullable. | |
PharData::compress | extension is now nullable. | |
PharData::convertToData | format, compression, and extension are now nullable. | |
PharData::convertToExecutable | format, compression, and localName are now nullable. | |
PharData::decompress | extension is now nullable. | |
PharData::setDefaultStub | webIndex is nullable now. | |
PharData::setSignatureAlgorithm | privateKey is now nullable. | |
PharFileInfo::getMetadata | The parameter unserializeOptions has been added. | |
PharFileInfo::isCompressed | compression is now nullable. | |
RecursiveDirectoryIterator::__construct | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException. | |
RecursiveIteratorIterator::getSubIterator | level is now nullable. | |
ReflectionClass::getConstants | 添加 filter 。 | |
ReflectionClass::getReflectionConstants | filter has been added. | |
ReflectionMethod::getClosure | object 现在可以为 null。 | |
ReflectionParameter::getDefaultValue | This method now allows getting the default value of parameters of built-in functions and built-in class methods. Previously, a ReflectionException was thrown. | |
ReflectionParameter::getDefaultValueConstantName | This method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown. | |
ReflectionProperty::getValue | object is nullable now. | |
ReflectionProperty::isInitialized | object is nullable now. | |
SimpleXMLElement::asXML | filename is nullable now. | |
SoapClient::__doRequest | The type of oneWay is bool now; formerly it was int. | |
SoapClient::__setCookie | value is now nullable. | |
SoapServer::handle | request is now nullable. | |
SplFileInfo::getFileInfo | class is now nullable. | |
SplFileInfo::getPathInfo | class is now nullable. | |
SplFileInfo::openFile | context is now nullable. | |
SplFixedArray::__construct | Now throws a ValueError if size is a negative; previously it threw a InvalidArgumentException. | |
tidy::__construct | filename, config, encoding and useIncludePath are nullable now. | |
tidy::parseFile | config and encoding are nullable now. | |
tidy::parseString | config and encoding are nullable now. | |
tidy::repairFile | config and encoding are nullable now. | |
tidy::repairFile | tidy::repairFile is a static method now. | |
tidy::repairString | tidy::repairString is a static method now. | |
tidy::repairString | This function no longer accepts the useIncludePath parameter. | |
tidy::repairString | config and encoding are nullable now. | |
XMLReader::getAttribute | This function can no longer return false. | |
XMLReader::getAttributeNs | This function can no longer return false. | |
XMLReader::lookupNamespace | This function can no longer return false. | |
XMLReader::next | name is nullable now. | |
XMLReader::open | XMLReader::open is now declared as static method, but can still be called on an XMLReader instance. | |
XMLReader::XML | XMLReader::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 | This function can no longer return false. | |
XMLWriter::flush | 现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。 | |
XMLWriter::fullEndElement | 现在 writer 需要 XMLWriter 实例, 之前需要的是 resource。 | |
XMLWriter::openMemory | This function returns now an XMLWriter instance on success. Previouly, a 资源(resource) has been returned in this case. | |
XMLWriter::openUri | This 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::startAttributeNs | prefix 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::writeDtdEntity | publicId, 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。 | |
7.4.4 | proc_open | 为 options 参数增加 create_new_console 选项。 |
7.4.0 | array_merge | 允许不带参数调用,之前版本至少需要一个参数。 |
array_merge_recursive | 允许不传递参数调用,之前的版本中至少需要一个参数。 | |
base_convert | 传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。 | |
bindec | 传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。 | |
chr | 此函数不再静默接受不支持的 codepoint,并会将它们转为 0。 | |
fgetcsv | escape 参数也接受空字符串来禁用所有的转义机制。 | |
fputcsv | escape 参数现在接受空字符串来禁用专有转义机制。 | |
get_declared_classes | 之前 get_declared_classes 返回的顺序总是父类在前,子类在后。现在不会这样了。get_declared_classes 的返回值将不再保证顺序。 | |
get_magic_quotes_gpc | 该函数已被废弃。 | |
get_magic_quotes_runtime | 弃用此函数。 | |
gzread | This functions returns false on failure now; previously 0 was returned. | |
gzwrite | This 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 。 | |
imagecropauto | The 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. | |
imagecropauto | The 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. | |
implode | 在 array 之后传递 separator (即:使用遗留写法)已被废弃。 | |
ldap_control_paged_result | This function has been deprecated. | |
ldap_control_paged_result_response | This function has been deprecated. | |
octdec | 传递任何无效字符现在将生成弃用通知。但仍会计算结果,就好像无效字符不存在一样。 | |
password_hash | 扩展 sodium 提供了 Argon2 密码的替代实现。 | |
password_hash | 现在 algo 参数可支持 string 类型,但为了向后兼容也支持 int 类型。 | |
password_needs_rehash | 现在 algo 参数可以支持 string 类型,但为了向后兼容性,同时支持 int 类型。 | |
preg_replace_callback | 新增 flags 参数。 | |
preg_replace_callback_array | The flags parameter was added. | |
proc_open | proc_open 的 command 参数现在也允许数组类型。 | |
proc_open | 为 options 参数增加 create_process_group 选项。 | |
stat | The 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. | |
stat | On 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. | |
unserialize | 新增 options 的 max_depth 元素,设置反序列化时允许的最大结构深度。 | |
Locale::lookup | defaultLocale is nullable now. | |
SplFileObject::fgetcsv | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism. | |
SplFileObject::fputcsv | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism. | |
SplFileObject::fwrite | The function now returns false instead of zero on failure. | |
SplFileObject::getCsvControl | The escape character can now be an empty string. | |
SplFileObject::setCsvControl | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism. | |
SQLite3Stmt::bindParam | param now also supports the @param notation. | |
SQLite3Stmt::bindValue | param now also supports the @param notation. | |
7.3.24, 7.4.12 | jdtounix | 扩充了 julian_day 的上限。以前无论计算机体系结构如何,都是 2465342。 |
tidyNode::isHtml | This function has been fixed to have reasonable behavior. Previously, almost any node was reported as being an HTML node. | |
7.3.14, 7.4.2 | dba_open | The lmdb driver now supports an additional map_size parameter. |
dba_popen | The lmdb driver now supports an additional map_size parameter. | |
7.3.0 | DateTimeImmutable::createFromFormat | The v format specifier has been added. |
apache_request_headers | 此函数可用于 FPM SAPI 模式。 | |
array_push | 可以只用一个参数来调用此函数,之前版本中至少需要两个参数。 | |
array_unshift | 现在可以只用一个参数来调用,之前至少需要两个参数。 | |
assert | Declaring 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_get | mode 参数变为可选,之前是强制性的。 | |
ftp_nb_put | mode 参数为可选,之前版本中为必填。 | |
ftp_put | mode 参数为可选,之前版本中为必选。 | |
getallheaders | 该函数可以在 FPM SAPI 中使用。 | |
is_countable | is_countable has been added. | |
json_decode | flags 新增 JSON_THROW_ON_ERROR。 | |
json_encode | flags 参数新增 JSON_THROW_ON_ERROR 常量。 | |
ldap_add | Support for controls added | |
ldap_compare | Support for controls added | |
ldap_delete | Support for controls added | |
ldap_exop | Support for serverctrls added | |
ldap_exop_passwd | Support for controls added | |
ldap_list | Support for controls added | |
ldap_mod_add | Support for controls added | |
ldap_mod_del | Support for controls added | |
ldap_mod_replace | Support for controls added | |
ldap_modify_batch | Support for controls added | |
ldap_mod_add_ext | Support for controls added | |
ldap_mod_del_ext | Support for controls added | |
ldap_mod_replace_ext | Support for controls added | |
ldap_parse_result | Support for controls added | |
ldap_read | Support for controls added | |
ldap_rename | Support for controls added | |
ldap_rename_ext | Support for controls added | |
ldap_search | Support 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 属性。 | |
stristr | 弃用 int 传递给 needle。 | |
strpos | 弃用 int 传入 needle。 | |
strrchr | 弃用将 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.0 | DatePeriod::__construct | recurrences must be greater than 0 now. |
7.2.19, 7.3.6 | SplFileObject::__toString | Changed from an alias of SplFileObject::current to an alias of SplFileObject::fgets. |
7.2.18, 7.3.5 | substr_compare | offset 现在可能等于 main_str。 |
7.2.12 | DateInterval::format | The F and f format will now always be positive. |
7.2.0 | array_unique | 如果 flags 是 SORT_STRING, 之前会复制 array 并移除非唯一数组(之后并不打包数组), 现在是通过添加唯一元素来生成新数组。这可能会导致不同的数字索引。 |
assert | Usage 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_format | The 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_info | The 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_data | file 参数现在起支持本地文件和流式资源。 | |
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_ascii | INTL_IDNA_VARIANT_2003 已被弃用; 可以使用 INTL_IDNA_VARIANT_UTS46 代替。 | |
idn_to_utf8 | INTL_IDNA_VARIANT_2003 已被弃用; 可以使用 INTL_IDNA_VARIANT_UTS46 代替。 | |
is_object | 没有定义类(__PHP_Incomplete_Class 类)的未序列化对象,is_object 现在返回 true,之前返回 false。 | |
json_decode | flags 新增 JSON_INVALID_UTF8_IGNORE、JSON_INVALID_UTF8_SUBSTITUTE。 | |
json_decode | 现在 associative 允许为 null。 | |
json_encode | flags 参数新增 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 常量。 | |
现在 additional_headers 参数开始支持 array。 | ||
mb_convert_encoding | 现在该函数的 string 参数同时能接受 array 类型。 在此之前,仅支持 string。 | |
mt_rand | rand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与 64 位机器上的 PHP 7.1.0 不同。 | |
number_format | number_format 现在再也不会返回 -0,之前 num 为 -0.01 的情况下可以返回 -0。 | |
openssl_pkcs7_verify | 新增 p7bfilename 参数。 | |
pack | float 和 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_quote | delimiter 现在可为 null。 | |
proc_nice | 在 Windows 平台上可用。 | |
rand | rand 已收到模偏差的 错误修复。这意味着使用特定种子生成的序列可能与 64 位机器上的 PHP 7.1.0 不同。 | |
read_exif_data | 这个函数别名被废弃。 | |
session_abort | The return type of this function is bool now. Formerly, it has been void. | |
session_module_name | 不允许设置模块名称为 "user"。 在之前的版本中,如果设置为 "user",那么会被静默的忽略到。 | |
session_name | session_name 函数会检查会话状态, 之前的版本仅仅检查 cookie 状态。 所以,旧版本的 PHP 允许你在调用 session_start 函数之后再调用 session_name 函数, 新版本的 PHP 不再允许这样做了。 | |
session_reset | The return type of this function is bool now. Formerly, it has been void. | |
session_set_cookie_params | 成功时返回 true, 或者在失败时返回 false。 之前版本中是返回 void 的。 | |
session_write_close | The return type of this function is bool now. Formerly, it has been void. | |
set_error_handler | errcontext 被废弃。使用此参数时会导致 E_DEPRECATED 提醒。 | |
unpack | float and double types supports both Big Endian and Little Endian. | |
utf8_encode | This 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::getMethods | filter 现在允许为 null。 | |
ReflectionClass::getProperties | filter 现在允许为 null。 | |
SQLite3::openBlob | The flags parameter has been added, allowing to write BLOBs; formerly only reading was supported. | |
7.1.5 | IntlDateFormatter::format | Support for providing general DateTimeInterface objects to the datetime parameter was added. Formerly, only proper DateTime objects were supported. |
7.1.4 | PDO::sqliteCreateFunction | The flags parameter has been added. |
SQLite3::createFunction | The flags parameter has been added. | |
7.1.0 | DateInterval::format | The F and f format characters were added. |
DateTime::setTime | 新增 microsecond 参数。 | |
DateTimeImmutable::__construct | From now on microseconds are filled with actual value. Not with '00000'. | |
DateTimeImmutable::setTime | The 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_extract | Support for negative offsets has been added. | |
grapheme_stripos | Support for negative offsets has been added. | |
grapheme_strpos | Support for negative offsets has been added. | |
hash_algos | 加入 sha512/224,sha512/256,sha3-224,sha3-256,sha3-384 以及 sha3-512 算法的支持。 | |
iconv_strpos | Support for negative offsets has been added. | |
json_decode | An empty JSON key ("") can be encoded to the empty object property instead of using a key with value _empty_. | |
json_encode | flags 参数新增 JSON_UNESCAPED_LINE_TERMINATORS 常量。 | |
json_encode | 对 float 值进行编码时,使用 serialize_precision 代替 precision。 | |
list | 现在可以指定 list 中的键。 这就可以解构非数字键或者无顺序的数组。 | |
long2ip | 参数 ip 的类型从 string 改成 int。 | |
mb_ereg | mb_ereg will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case. | |
mb_ereg_replace | The e modifier has been deprecated. | |
mb_ereg_replace | The function checks whether string is valid for the current encoding. | |
mb_ereg_replace_callback | The function checks whether string is valid for the current encoding. | |
mb_ereg_search_setpos | Support for negative offsets has been added. | |
mb_eregi | mb_eregi will now set matches to an empty array, if nothing matched. Formerly, matches was not modified in that case. | |
mb_eregi_replace | The function checks whether string is valid for the current encoding. | |
mb_eregi_replace | The e modifier has been deprecated. | |
mb_strimwidth | 支持负数的 start 和 width。 | |
mb_stripos | 支持 offset 使用负数。 | |
mb_strpos | 支持负数的 offset。 | |
mt_rand | mt_rand 成为使用梅森旋转(Mersenne Twister)算法的固定、正确版本。要使用旧行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。 | |
mt_rand | rand 成为 mt_rand 的别名。 | |
mt_srand | srand 成为 mt_srand 的别名。 | |
mt_srand | mt_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 定义的重写变量。 | |
rand | rand 成为 mt_rand 的别名。 | |
session_start | 当 session_start 执行失败, 无法开始一个会话的时候,会返回 false, 并且不会初始化超级变量 $_SESSION。 | |
shuffle | 内置的随机数产生算法从 libc rand 函数改成梅森旋转伪随机数生成算法。 | |
srand | srand 成为 mt_srand 的别名。 | |
str_shuffle | 内置的随机算法从 libc rand 函数改成了梅森旋转演伪随机数发生算法。 | |
stripos | 开始支持负数的 offset。 | |
strpos | 开始支持负数的 offset。 | |
substr_count | 开始支持负数的 offset 和 length。 | |
tempnam | 当回退到系统的临时目录时 tempnam 会发出一个通知。 | |
unpack | The optional offset has been added. | |
unserialize | options 的 allowed_classes 元素现在是严格类型,即如果给出 array 或 bool 以外的任何内容,则 unserialize 返回 false 并发出 E_WARNING。 | |
ReflectionType::__toString | ReflectionType::__toString has been deprecated. | |
SessionHandler::gc | Prior to this version, the function returned true on success. | |
SessionHandlerInterface::gc | Prior to this version, the function returned true on success. | |
7.0.16, 7.1.2 | dns_get_record | 新增对 CAA 记录的支持。 |
fopen | 新增 'e' 选项。 | |
7.0.15, 7.1.1 | get_defined_functions | 新增 exclude_disabled 参数。 |
7.0.15,7.1.1 | pack | 添加了 “e”,“E”,“g” 和 “G” 代码以启用 float 和 double 的字节顺序支持。 |
7.0.11 | iconv_substr | 如果 str 等长于 offset 个字符, 将返回空字符串。之前的版本里,这种情况是会返回 false 的。 |
7.0.10 | SplFileObject::getCsvControl | Added the escape character to the returned array. |
SQLite3::__construct | The filename can now be empty to use a private, temporary on-disk database. | |
7.0.9 | getenv | 添加 local_only 参数。 |
7.0.7 | 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.0 | assert | assert 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.0 | IntlDateFormatter::create | An 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::setCalendar | It 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.8 | mb_strcut | Passing NULL as length extracts all bytes to the end of the string. Prior to this version NULL was treated the same as 0. |
mb_substr | length 传入 NULL,则从 start 提取到字符串的结尾处。 在之前的版本里, NULL 会被当作 0 来处理。 | |
5.4.0 | filter_input_array | 添加 add_empty 参数. |
filter_var_array | 添加 add_empty 参数。 | |
htmlspecialchars_decode | 增加了 ENT_HTML401、ENT_XML1、 ENT_XHTML 和 ENT_HTML5 等常量。 | |
iconv | 这个版本起,字符非法时候会返回 false,除非在输出字符里指定了 //IGNORE 。 在之前版本,它会返回一部分字符串。 | |
imagewebp | 支持把 resource 流作为 to 参数传入。 | |
openssl_decrypt | 将 raw_output 更改至 options。 | |
5.3.4 | strip_tags | strip_tags ignores self-closing XHTML tags in allowable_tags. |
5.3.3 | openssl_decrypt | 添加 iv 参数。 |
5.3.0 | getimagesize | Added icon support. |
imagecolorclosesthwb | 在 Windows 平台上可用 | |
imagefilter | Pixelation support (IMG_FILTER_PIXELATE) was added. | |
openssl_open | 添加了 method 参数 | |
openssl_seal | 添加 method 变量。 | |
session_start | 如果函数调用失败返回 false, 之前版本返回了 true。 | |
5.2.5 | addcslashes | The escape sequences \v and \f were added. |
imagefilter | Alpha support for IMG_FILTER_COLORIZE was added. | |
5.2.3 | getimagesize | Read errors generated by this function downgraded to E_NOTICE from E_WARNING. |
PDOStatement::getColumnMeta | table 字段 | |
5.2.2 | ftp_ssl_connect | 以前版本中,如果无法使用 SSL 连接,将会返回一个非 SSL 的连接, 在 5.2.2 版本中修改为返回 false |
token_get_all | Line numbers are returned in element 2 | |
5.2.0 | curl_multi_info_read | msgs_in_queue被加入。 |
imagettftext | It 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::execute | input_parameters 中的键名必须和 SQL 中声明的相匹配。PHP 5.2.0 之前默认忽略。 | |
5.1.3 | curl_getinfo | 引入CURLINFO_HEADER_OUT. |
5.1.0 | ctype_digit | 在 PHP 5.1.0 之前,当 text 是一个空字符串的时候,该函数将返回 true 。 |
imagerotate | 新增: ignore_transparent 。 | |
5.0.0 | socket_create | 增加 AF_INET6 支持。 |
strip_tags | strip_tags 变为二进制安全的。 |