已对捆绑扩展的函数进行了以下更改。
| 版本 | 函数 | 描述 |
|---|---|---|
| 8.4.0 | DOMDocument::registerNodeClass | DOMDocument::registerNodeClass 现在具有尝试性返回值 true。 |
| DOMImplementation::createDocument | 该函数现在具有尝试性返回值类型 DOMDocument。 | |
| DOMXPath::registerPhpFunctions | 现在可以使用可调用对象作为回调,当使用 restrict 以及数组条目时。 | |
| bcpow | 0 的负幂以前返回 0,但现在抛出 DivisionByZeroError 异常。 | |
| bind_textdomain_codeset | 如果 domain 为空字符串,则现在会抛出 ValueError。 | |
| bind_textdomain_codeset | codeset 现在是可选的。以前,始终必须指定该参数。 | |
| bindtextdomain | directory 现在是可选的。以前,始终必须指定该参数。 | |
| curl_getinfo | 引入了 CURLINFO_POSTTRANSFER_TIME_T 常量和 posttransfer_time_us(Curl 8.10.0 或更高版本)。 | |
| curl_multi_select | 如果 timeout 小于 0 或大于 PHP_INT_MAX,则现在会抛出 ValueError。 | |
| curl_setopt | CURLOPT_DNS_USE_GLOBAL_CACHE 不再有任何作用,并且在启用线程安全 PHP 构建时不再触发警告。 | |
| curl_version | 添加了 features_list。 | |
| dba_close | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_delete | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_exists | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_fetch | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_firstkey | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_insert | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_key_split | 现在已弃用将 null 或 false 传递给 key。 | |
| dba_nextkey | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_open | 现在返回一个 Dba\Connection 实例;以前,返回一个资源。 | |
| dba_optimize | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_popen | 现在返回一个 Dba\Connection 实例;以前,返回一个资源。 | |
| dba_replace | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dba_sync | dba 参数现在需要一个 Dba\Connection 实例;以前,需要一个有效的 dba 资源。 | |
| dgettext | 如果 domain 为空字符串,则现在会抛出 ValueError。 | |
| dngettext | 如果 domain 为空字符串,则现在会抛出 ValueError。 | |
| exit | exit 现在是一个正确的函数,因此它遵循通常的类型转换语义,受 strict_types 声明的影响,可以用具名参数调用,并且可以是变量函数。 | |
| fgetcsv | 现在已弃用依赖于 escape 的默认值。 | |
| flush | 在 FastCGI 中,现在可以在没有主体的情况下刷新头。 | |
| fputcsv | 现在已弃用依赖于 escape 的默认值。 | |
| hash_init | 现在已弃用传递错误类型的选项。 | |
| hash_update | 现在返回值类型为 true 而不是 bool。 | |
| highlight_string | 返回值类型从 stringbool 更改为 stringtrue。 | |
| imageavif | 如果 quality 或 speed 无效,则现在会抛出 ValueError。 | |
| imagefilter | 如果 sub 或 plus 会导致 IMG_FILTER_SCATTER 过滤器出现溢出/下溢,则现在会抛出 ValueError。 | |
| imagejpeg | 如果 quality 无效,则现在会抛出 ValueError。 | |
| imagepng | 如果 quality 无效,则现在会抛出 ValueError。 | |
| imagescale | 如果 width 或 height 会导致溢出/下溢,则现在会抛出 ValueError。 | |
| imagescale | 如果 mode 无效,则现在会抛出 ValueError。 | |
| imagewebp | 如果 quality 无效,则现在会抛出 ValueError。 | |
| lcg_value | 此函数已被弃用。 | |
| libxml_set_streams_context | libxml_set_streams_context 现在在将非流资源传递给 context 时抛出 TypeError,而不是在稍后使用 context 时抛出。 | |
| long2ip | 返回值类型从 stringfalse 更改为 string。 | |
| odbc_autocommit | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_binmode | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_close | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_columnprivileges | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_columns | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_commit | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_connect | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_connect | 此函数现在返回一个 Odbc\Connection 实例;以前,返回一个资源。 | |
| odbc_cursor | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_data_source | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_error | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_errormsg | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_exec | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_exec | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_execute | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_fetch_array | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_fetch_array | row 现在可以为空。 | |
| odbc_fetch_into | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_fetch_into | row 现在可以为空。 | |
| odbc_fetch_object | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_fetch_object | row 现在可以为空。 | |
| odbc_fetch_row | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_field_len | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_field_name | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_field_num | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_field_scale | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_field_type | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_foreignkeys | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_foreignkeys | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_free_result | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_gettypeinfo | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_gettypeinfo | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_longreadlen | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_next_result | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_num_fields | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_num_rows | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_pconnect | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_pconnect | 此函数现在返回一个 Odbc\Connection 实例;以前,返回一个资源。 | |
| odbc_prepare | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_prepare | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_primarykeys | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_primarykeys | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_procedurecolumns | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_procedurecolumns | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_procedures | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_procedures | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_result | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_result_all | statement 现在需要一个 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_rollback | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_setoption | odbc 现在需要一个 Odbc\Connection 或 Odbc\Result 实例;以前,需要一个资源。 | |
| odbc_specialcolumns | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_specialcolumns | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_statistics | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_statistics | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_tableprivileges | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_tableprivileges | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| odbc_tables | odbc 现在需要一个 Odbc\Connection 实例;以前,需要一个资源。 | |
| odbc_tables | 此函数现在返回一个 Odbc\Result 实例;以前,返回一个资源。 | |
| pcntl_sigprocmask | 如果 signal 为空,则会抛出 ValueError。 | |
| pcntl_sigprocmask | 如果 signal 值不是 int,则会抛出 TypeError。 | |
| pcntl_sigprocmask | 如果 signal 值无效,则会抛出 ValueError。 | |
| pcntl_sigprocmask | 如果 mode 值不是 SIG_BLOCK、SIG_UNBLOCK 或 SIG_SETMASK,则会抛出 ValueError。 | |
| pcntl_sigtimedwait | 如果 signal 为空,则会抛出 ValueError。 | |
| pcntl_sigtimedwait | 如果 signal 值不是 int,则会抛出 TypeError。 | |
| pcntl_sigtimedwait | 如果 signal 值无效,则会抛出 ValueError。 | |
| pcntl_sigtimedwait | 如果 seconds 值小于 0,则会抛出 ValueError。 | |
| pcntl_sigtimedwait | 如果 nanoseconds 值小于 0,则会抛出 ValueError。 | |
| pcntl_sigtimedwait | 如果 seconds 和 nanoseconds 值都为 0,则会抛出 ValueError。 | |
| pcntl_sigwaitinfo | 如果 signal 为空,则会抛出 ValueError。 | |
| pcntl_sigwaitinfo | 如果 signal 值不是 int,则会抛出 TypeError。 | |
| pcntl_sigwaitinfo | 如果 signal 值无效,则会抛出 ValueError。 | |
| pg_select | conditions 现在是可选的。 | |
| php_uname | 在指定无效模式时抛出 ValueError。 | |
| posix_isatty | 当传递的文件描述符/流无效时,将 errno(错误编号)设置为 EBADF。 | |
| pow | 现在已弃用将 0 提高到负指数。 | |
| print_r | 返回值类型从 stringbool 更改为 stringtrue。 | |
| simplexml_import_dom | 如果传递的节点不是 XML 或 HTML 节点,则此函数现在会抛出 TypeError 而不是 ValueError。 | |
| socket_create_listen | 的默认值现在是 SOMAXCONN。以前是 128。 | |
| str_getcsv | 现在已弃用依赖于 escape 的默认值。 | |
| str_getcsv | 如果 separator、enclosure 或 escape 无效,则现在会抛出 ValueError。这模仿了 fgetcsv 和 fputcsv 的行为。 | |
| strcspn | 在 PHP 8.4.0 之前,当 characters 为空字符串时,搜索会错误地停止在 string 中的第一个空字节处。 | |
| stream_context_set_option | 现在已弃用备用的 2 参数签名。请改用 stream_context_set_options。 | |
| textdomain | 如果 domain 为空字符串,则现在会抛出 ValueError。 | |
| textdomain | domain 现在是可选的。以前,始终必须指定该参数。 | |
| trigger_error | 现在已弃用将 E_USER_ERROR 作为 error_level 传递。请改用抛出异常或调用 exit。 | |
| trigger_error | 该函数现在返回值类型为 true 而不是 bool。 | |
| xml_parser_set_option | 添加了选项 XML_OPTION_PARSE_HUGE。 | |
| xml_set_character_data_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_character_data_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_default_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_default_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_element_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_element_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_end_namespace_decl_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_end_namespace_decl_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_external_entity_ref_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_external_entity_ref_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_notation_decl_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_notation_decl_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_object | 此函数现已弃用,请改用正确的可调用值传递给 xml_set_。 | |
| xml_set_processing_instruction_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_processing_instruction_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_start_namespace_decl_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_start_namespace_decl_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| xml_set_unparsed_entity_decl_handler | 现在已弃用将非可调用字符串传递给 handler,请对方法使用正确的可调用对象,或使用 null 重置 handler。 | |
| xml_set_unparsed_entity_decl_handler | 现在在设置 handler 时会检查 handler 是否为可调用对象,而不是在调用时检查。 | |
| IntlCalendar::set | 此方法已被弃用,建议使用 IntlCalendar::setDate 和 IntlCalendar::setDateTime 方法。 | |
| IntlDateFormatter::create | 如果 locale 无效,则会抛出 ValueError。 | |
| IntlGregorianCalendar::__construct | 此方法已被弃用,建议使用 IntlGregorianCalendar::createFromDate 和 IntlGregorianCalendar::createFromDateTime 方法。 | |
| mysqli::kill | mysqli::kill 和 mysqli_kill 现在都已弃用。请改用 KILL SQL 命令。 | |
| mysqli::ping | mysqli::ping 和 mysqli_ping 现在都已弃用。从 PHP 8.2.0 开始,重新连接功能不可用,这使得此函数已过时。 | |
| mysqli::refresh | mysqli::refresh 和 mysqli_refresh 现在都已弃用。请改用 FLUSH SQL 命令。 | |
| mysqli::store_result | 传递 mode 参数现已弃用。自 PHP 8.1.0 起,此参数无效。 | |
| NumberFormatter::create | 如果 locale 无效,则会抛出 ValueError。 | |
| Phar::setAlias | Phar::setAlias 现在初步返回 true。 | |
| Phar::setDefaultStub | Phar::setDefaultStub 现在初步返回 true。 | |
| ReflectionClassConstant::__toString | 现在包含了附加的文档注释。 | |
| ReflectionGenerator::getFunction | 现在可以在生成器执行完成之后调用 ReflectionGenerator::getFunction。 | |
| ReflectionProperty::__toString | 现在包含了附加的文档注释。 | |
| ResourceBundle::get | 如果偏移量类型无效,则抛出 TypeError。如果索引是字符串且为空,或者索引是整数且不适合 32 位整数类型,则抛出 ValueError。 | |
| SplFileObject::fgetcsv | 现在已弃用依赖于 escape 的默认值。 | |
| SplFileObject::fputcsv | 现在已弃用依赖于 escape 的默认值。 | |
| SplFileObject::setCsvControl | 现在已弃用依赖于 escape 的默认值。 | |
| SplFixedArray::setSize | SplFixedArray::setSize 现在初步返回 true。 | |
| SplFixedArray::__wakeup | 此方法现已弃用,请使用 SplFixedArray::__unserialize 代替。 | |
| SplHeap::insert | SplHeap::insert 现在初步返回 true。 | |
| SplHeap::recoverFromCorruption | SplHeap::recoverFromCorruption 现在初步返回 true。 | |
| SplPriorityQueue::insert | SplPriorityQueue::insert 现在初步返回 true。 | |
| SplPriorityQueue::recoverFromCorruption | SplPriorityQueue::recoverFromCorruption 现在初步返回 true。 | |
| tidy::__construct | 执行构造函数时发生的错误现在会抛出异常,而不是静默地创建一个不可用的对象。 | |
| XMLReader::open | 传递无效编码现在将抛出 ValueError。 | |
| XMLReader::XML | 传递无效编码现在将抛出 ValueError。 | |
| XMLWriter::startDocument | 传递包含空字节的编码现在将抛出 ValueError。 | |
| XSLTProcessor::importStylesheet | 如果 stylesheet 不是 XML 对象,则现在抛出 TypeError 而不是 ValueError。 | |
| XSLTProcessor::registerPHPFunctions | 现在可以使用可调用对象作为回调,当使用 restrict 以及数组条目时。 | |
| XSLTProcessor::setParameter | 如果任何参数包含空字节,则现在抛出 ValueError,而不是静默截断。 | |
| XSLTProcessor::setParameter | 现在可以设置包含单引号和双引号的参数值。在 PHP 8.4.0 之前,这会导致警告。 | |
| 8.3.0 | DateInterval::__construct | 现在抛出 DateMalformedIntervalStringException 而不是 Exception。 |
| DateInterval::createFromDateString | 如果传递了无效字符串,则 DateInterval::createFromDateString 现在抛出 DateMalformedStringException。之前,它返回 false 并发出警告。date_interval_create_from_date_string 未更改。 | |
| DatePeriod::__construct | 现在抛出 DateMalformedPeriodStringException 而不是 Exception。 | |
| DateTime::__construct | 如果传递了无效字符串,则现在抛出 DateMalformedStringException,而不是 Exception。 | |
| DateTimeInterface::getTimestamp | 超出范围的异常现在是 DateRangeError。 | |
| DateTime::modify | 如果传递了无效字符串,则 DateTime::modify 现在抛出 DateMalformedStringException。之前,它返回 false 并发出警告。date_modify 未更改。 | |
| DateTime::sub | 现在使用 DateTime::sub 抛出 DateInvalidOperationException,而不是在尝试执行不支持的操作时发出警告。date_sub 未更改。 | |
| DateTimeImmutable::__construct | 如果传递了无效字符串,则现在抛出 DateMalformedStringException,而不是 Exception。 | |
| DateTimeImmutable::modify | 如果传递了无效字符串,则 DateTimeImmutable::modify 现在抛出 DateMalformedStringException。之前,它返回 false 并发出警告。 | |
| DateTimeImmutable::sub | 现在在尝试执行不支持的操作时抛出 DateInvalidOperationException 而不是警告。 | |
| DateTimeZone::__construct | 无效值现在返回 DateInvalidTimeZoneException 而不是通用 Exception。 | |
| DOMCharacterData::after | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMCharacterData::after | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMCharacterData::appendData | 此函数现在具有初步的 true 返回类型。 | |
| DOMCharacterData::before | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMCharacterData::replaceWith | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMChildNode::after | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMChildNode::after | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMChildNode::before | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMChildNode::replaceWith | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMDocument::append | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMDocument::createAttributeNS | 现在,在不指定前缀的情况下调用此方法将选择一个前缀,而不是假设默认命名空间。之前,这会创建一个没有前缀的属性,并错误地将命名空间应用于所有者元素,因为默认命名空间不适用于属性。 | |
| DOMDocument::createAttributeNS | 现在,使用已在所有者元素上使用不同命名空间 URI 声明的前缀调用此方法将更改新前缀,以避免创建命名空间冲突。这使行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_NAMESPACE_ERR 的 DOMException。 | |
| DOMDocument::load | 此函数现在具有初步的 bool 返回类型。 | |
| DOMDocument::loadHTML | 此函数现在具有初步的 bool 返回类型。 | |
| DOMDocument::loadHTMLFile | 此函数现在具有初步的 bool 返回类型。 | |
| DOMDocument::loadXML | 此函数现在具有初步的 bool 返回类型。 | |
| DOMDocument::prepend | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMDocument::replaceChildren | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMDocument::saveXML | 现在支持 LIBXML_NOXMLDECL。 | |
| DOMDocumentFragment::append | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMDocumentFragment::prepend | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMDocumentFragment::replaceChildren | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::after | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::after | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::append | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::before | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::prepend | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::replaceChildren | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMElement::replaceWith | 现在,在没有父节点的节点上调用此方法将不执行任何操作,以使其行为与 DOM 规范保持一致。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMParentNode::append | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMParentNode::prepend | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| DOMParentNode::replaceChildren | 现在,在没有所有者文档的节点上调用此方法可以工作。之前,这会抛出代码为 DOM_HIERARCHY_REQUEST_ERR 的 DOMException。 | |
| FFI::cast | 现在已弃用静态调用 FFI::cast。 | |
| FFI::cdef | 返回 void 的 C 函数返回 PHP null,而不是 FFI\CType::TYPE_VOID。 | |
| FFI::load | 当当前系统用户与 opcache.preload_user 配置指令中定义的用户相同时,现在允许在预加载脚本中使用 FFI::load。 | |
| FFI::new | 现在已弃用静态调用 FFI::new。 | |
| FFI::type | 现在已弃用静态调用 FFI::type。 | |
| array_pad | 在 8.3 之前,一次最多只能添加 1048576 个元素。现在,它仅受数组最大大小的限制。 | |
| array_product | 当数组值无法转换为 int 或 float 时,现在会发出 E_WARNING。之前,数组和对象会被忽略,而其他每个值都会被强制转换为 int。此外,现在会强制转换定义了数字强制转换的对象(例如 GMP),而不是忽略它们。 | |
| array_sum | 当数组值无法转换为 int 或 float 时,现在会发出 E_WARNING。之前,数组和对象会被忽略,而其他每个值都会被强制转换为 int。此外,现在会强制转换定义了数字强制转换的对象(例如 GMP),而不是忽略它们。 | |
| assert | 所有 assert. INI 设置都已弃用。 | |
| assert_options | assert_option 现已弃用。 | |
| class_alias | class_alias 现在支持创建内部类的别名。 | |
| curl_getinfo | 引入了 CURLINFO_CAINFO 和 CURLINFO_CAPATH。 | |
| dba_fetch | 现在已弃用将 dba 作为第三个参数传递给 dba_fetch。 | |
| easter_date | 在 64 位系统上,year 参数现在接受 1970 到 2,000,000,000 范围内的值。 | |
| fgetcsv | 如果最后一个字段仅包含未终止的括号,则返回空字符串,而不是包含单个空字节的字符串。 | |
| file | 对于任何无效的 flags 值,都会抛出 ValueError。 | |
| gc_status | gc_status 现在返回以下其他字段:“running”、“protected”、“full”、“buffer_size”、“application_time”、“collector_time”、“destructor_time”和“free_time”。 | |
| get_class | 现在,在没有参数的情况下调用 get_class 会发出 E_DEPRECATED 警告;之前,在类内部调用此函数会返回该类的名称。 | |
| get_parent_class | 现在,在没有参数的情况下调用 get_parent_class 会发出 E_DEPRECATED 警告;之前,在类内部调用此函数会返回该类的名称。 | |
| highlight_file | 生成的 HTML 已更改。 | |
| highlight_string | 生成的 HTML 已更改。 | |
| imagerotate | 未使用的 ignore_transparent 已完全删除。 | |
| ldap_connect | 现在已弃用使用单独的主机名和端口调用 ldap_connect。 | |
| mb_convert_case | 为希腊字母 sigma 实现了条件大小写规则,这些规则仅适用于 MB_CASE_LOWER 和 MB_CASE_TITLE 模式,不适用于 MB_CASE_LOWER_SIMPLE 和 MB_CASE_TITLE_SIMPLE。 | |
| mb_decode_mimeheader | 根据 RFC 2047 将下划线转换为空格。 | |
| mb_encode_mimeheader | 使用 Quoted-Printable 编码进行编码时,不再丢弃 NUL (0) 字节,而是将其编码为 =00。 | |
| mb_strimwidth | 现在已弃用将负宽度传递给 mb_strimwidth。 | |
| mb_strtolower | 为希腊字母 sigma 实现了条件大小写规则。 | |
| mt_srand | seed 现在可以为空。 | |
| number_format | 添加了对十进制负值的处理。 | |
| odbc_autocommit | enable 现在可以为空。 | |
| password_hash | 当由于盐生成失败而抛出 ValueError 时,password_hash 现在将底层的 Random\RandomException 设置为 Exception::$previous 异常。 | |
| pg_convert | 当字段的值或类型与 PostgreSQL 的类型不匹配时,现在会抛出 ValueError 或 TypeError 错误;之前会发出 E_WARNING。 | |
| pg_fetch_object | 当类没有构造函数且 constructor_args 不为空时,现在会抛出 ValueError 异常;之前会抛出 Exception。 | |
| pg_fetch_result | row 现在可以为空。 | |
| pg_field_is_null | row 现在可以为空。 | |
| pg_field_prtlen | row 现在可以为空。 | |
| pg_insert | 当指定的表无效时,现在会抛出 ValueError 错误;之前会发出 E_WARNING。 | |
| pg_insert | 当字段的值或类型与 PostgreSQL 的类型不匹配时,现在会抛出 ValueError 或 TypeError 错误;之前会发出 E_WARNING。 | |
| pg_trace | 添加了 trace_mode。 | |
| posix_eaccess | 检查文件的有效用户/组,这与检查真实用户/组的 posix_access 不同。 | |
| posix_getrlimit | 添加了可选的 resource 参数。 | |
| posix_isatty | 根据通常的 PHP 类型强制转换语义,现在会为整数强制转换引发类型错误 E_WARNING。 | |
| posix_ttyname | 根据通常的 PHP 类型强制转换语义,现在会为整数强制转换引发类型错误 E_WARNING。 | |
| posix_ttyname | 对于无效的文件描述符整数,现在会引发 E_WARNING。 | |
| proc_get_status | 已将“cached”条目添加到返回的数组中。在 PHP 8.3.0 之前,只有第一次调用会返回真实的退出代码。“cached”条目表示退出代码已缓存。 | |
| proc_open | 如果 command 是一个数组且至少不包含一个非空元素,则会抛出 ValueError。 | |
| range | 如果 start 和 end 都是字符串,则 range 现在将始终生成一个字节数组。之前,如果边界值之一是数字字符串,则另一个边界值会隐式转换为 int。 | |
| range | 如果 start 或 end 是一个字符串,并且由于另一个边界值是数字而隐式转换为 int,则现在会发出 E_WARNING。 | |
| range | 如果 start 或 end 是一个超过一个字节的非数字字符串,现在会发出 E_WARNING。 | |
| range | 如果 start 或 end 是空字符串,现在会发出 E_WARNING。 | |
| range | 如果 step 是一个没有小数部分的浮点数,它将被解释为整数。 | |
| range | 如果在生成递增范围时 step 为负数,现在会抛出 ValueError。 | |
| range | 如果 step 不是有限数,现在会抛出 ValueError。 | |
| range | 如果 start 或 end 是数组、对象或资源,现在会抛出 TypeError。之前它们会被隐式转换为整数。 | |
| srand | seed 现在可以为空。 | |
| str_getcsv | 如果最后一个字段仅包含未终止的括号,则返回空字符串,而不是包含单个空字节的字符串。 | |
| stream_notification_callback | 实现了对 STREAM_NOTIFY_COMPLETED 的支持,早期的 PHP 版本永远不会触发此通知。 | |
| strrchr | 添加了 before_needle 参数。 | |
| strtok | 当未提供 token 时,现在会发出 E_WARNING。 | |
| unserialize | 当输入字符串有未消耗的数据时,现在会发出 E_WARNING。 | |
| unserialize | 当传递的字符串不可反序列化时,现在会发出 E_WARNING;之前会发出 E_NOTICE。 | |
| xml_parser_get_option | 该函数现在返回布尔值选项的布尔值。 | |
| xml_parser_set_option | value 参数现在也接受布尔值。选项 XML_OPTION_CASE_FOLDING 和 XML_OPTION_SKIP_WHITE 现在是布尔值选项。 | |
| IntlBreakIterator::setText | 此方法现在在失败时返回 false;之前返回 null。 | |
| IntlChar::enumCharNames | 此方法现在在失败时返回 false;之前返回 null。 | |
| IntlDateFormatter::setTimeZone | 此函数现在在成功时返回 true;之前返回 null。 | |
| mysqli_result::fetch_object | 当类没有构造函数且 constructor_args 不为空时,现在会抛出 ValueError 异常;之前会抛出 Exception。 | |
| mysqli::poll | 当既没有传递 read 参数也没有传递 error 参数时,现在会抛出 ValueError 异常。 | |
| Phar::setStub | 使用资源和长度调用 Phar::setStub 现在已弃用。此类调用应替换为:$phar->setStub(stream_get_contents($resource)); | |
| ReflectionClass::getStaticProperties | ReflectionClass::getStaticProperties 的返回类型已从 ?array 更改为 array。 | |
| ReflectionProperty::setValue | 使用单个参数调用此方法已弃用,应改用 ReflectionClass::setStaticPropertyValue 来修改静态属性。 | |
| SQLite3::enableExceptions | 使用 enable 为 false 调用 SQLite3::enableExceptions 将触发 E_DEPRECATED 警告。 | |
| ZipArchive::addFile | 添加了 ZipArchive::FL_OPEN_FILE_NOW。 | |
| ZipArchive::addFile | 添加了 ZipArchive::LENGTH_TO_END 和 ZipArchive::LENGTH_UNCHECKED。 | |
| ZipArchive::addGlob | 添加了 ZipArchive::FL_OPEN_FILE_NOW。 | |
| ZipArchive::replaceFile | 添加了 ZipArchive::FL_OPEN_FILE_NOW。 | |
| ZipArchive::replaceFile | 添加了 ZipArchive::LENGTH_TO_END 和 ZipArchive::LENGTH_UNCHECKED。 | |
| 8.2.9 | DateTimeImmutable::createFromFormat | (空格)指定符现在也支持 NBSP(U+A0)和 NNBSP(U+202F)字符。 |
| 8.2.1 | SplFileObject::__toString | 已从 SplFileObject::fgets 的别名更改为 SplFileObject::current 的实现,当设置了 SplFileObject::READ_CSV 标志时,它会返回一个 CSV 字符串。 |
| 8.2.0 | ArrayIterator::asort | 返回类型现在为 true;之前为 bool。 |
| ArrayIterator::ksort | 返回类型现在为 true;之前为 bool。 | |
| ArrayIterator::natcasesort | 返回类型现在为 true;之前为 bool。 | |
| ArrayIterator::natsort | 返回类型现在为 true;之前为 bool。 | |
| ArrayIterator::uasort | 返回类型现在为 true;之前为 bool。 | |
| ArrayIterator::uksort | 返回类型现在为 true;之前为 bool。 | |
| ArrayObject::asort | 返回类型现在为 true;之前为 bool。 | |
| ArrayObject::ksort | 返回类型现在为 true;之前为 bool。 | |
| ArrayObject::natcasesort | 返回类型现在为 true;之前为 bool。 | |
| ArrayObject::natsort | 返回类型现在为 true;之前为 bool。 | |
| ArrayObject::uasort | 返回类型现在为 true;之前为 bool。 | |
| ArrayObject::uksort | 返回类型现在为 true;之前为 bool。 | |
| DateInterval::__construct | 只有 y 到 f、invert 和 days 将可见,包括一个新的 from_string 布尔属性。 | |
| DateInterval::createFromDateString | 使用此方法创建 DateInterval 时,只有 from_string 和 date_string 属性可见。 | |
| DatePeriod::__construct | 已添加 DatePeriod::INCLUDE_END_DATE 常量。 | |
| DateTime::createFromFormat | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| DateTimeInterface::format | 已添加格式字符 X 和 x。 | |
| DateTimeImmutable::createFromFormat | 已添加 X 和 x 格式说明符。 | |
| DateTimeImmutable::createFromFormat | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| DateTimeImmutable::getLastErrors | 在 PHP 8.2.0 之前,此函数在没有警告或错误时不会返回 false。相反,它将始终返回文档中记录的数组结构。 | |
| FilesystemIterator::__construct | 在 PHP 8.2.0 之前,始终设置 FilesystemIterator::SKIP_DOTS 且无法移除。 | |
| array_walk | 返回类型现在为 true;之前为 bool。 | |
| array_walk_recursive | 返回类型现在为 true;之前为 bool。 | |
| arsort | 返回类型现在为 true;之前为 bool。 | |
| asort | 返回类型现在为 true;之前为 bool。 | |
| curl_getinfo | 引入了 CURLINFO_PROXY_ERROR、CURLINFO_REFERER、CURLINFO_RETRY_AFTER。 | |
| curl_multi_setopt | 引入了 CURLMOPT_MAX_CONCURRENT_STREAMS。 | |
| date_parse_from_format | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| dba_fetch | dba_fetch 的可选 skip 参数现在位于末尾,与 PHP 用户空间语义一致。之前重载的签名仍然被接受,但不建议使用。 | |
| dba_open | 添加了 flags。 | |
| dba_open | handler 现在可以为空。 | |
| dba_popen | 添加了 flags。 | |
| getimagesize | 现在返回 AVIF 图像的实际图像尺寸、位数和通道;之前,尺寸报告为 0x0,并且根本没有报告位数和通道。 | |
| idate | 添加了 N(ISO-8601 星期几)和 o(ISO-8601 年)格式字符。 | |
| iterator_count | 迭代器的类型已从 Traversable 扩展到 Traversablearray。 | |
| iterator_to_array | 迭代器的类型已从 Traversable 扩展到 Traversablearray。 | |
| krsort | 返回类型现在为 true;之前为 bool。 | |
| krsort | 此函数现在使用标准 PHP 8 规则在 SORT_REGULAR 下进行数字字符串比较。 | |
| ksort | 返回类型现在为 true;之前为 bool。 | |
| ksort | 此函数现在使用标准 PHP 8 规则在 SORT_REGULAR 下进行数字字符串比较。 | |
| lcfirst | 大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。 | |
| mb_convert_encoding | mb_convert_encoding 将不再返回以下非文本编码:“Base64”、“QPrint”、“UUencode”、“HTML 实体”、“7 位”和“8 位”。 | |
| mb_convert_kana | 如果不同模式的组合无效,现在会抛出 ValueError。 | |
| mb_detect_encoding | mb_detect_encoding 将不再返回以下非文本编码:“Base64”、“QPrint”、“UUencode”、“HTML 实体”、“7 位”和“8 位”。 | |
| natcasesort | 返回类型现在为 true;之前为 bool。 | |
| natsort | 返回类型现在为 true;之前为 bool。 | |
| openlog | 该函数现在始终返回 true。之前在失败时返回 false。 | |
| pg_close | 返回类型现在为 true;之前为 bool。 | |
| pg_untrace | 返回类型现在为 true;之前为 bool。 | |
| random_bytes | 如果 CSPRNG 失败,此函数现在将抛出 Random\RandomException。之前会抛出普通的 Exception。 | |
| random_int | 如果 CSPRNG 失败,此函数现在将抛出 Random\RandomException。之前会抛出普通的 Exception。 | |
| rsort | 返回类型现在为 true;之前为 bool。 | |
| setcookie | cookie 的日期格式现在为“D, d M Y H:i:s \G\M\T”;之前为“D, d-M-Y H:i:s T”。 | |
| snmp_set_enum_print | 返回类型现在为 true;之前为 bool。 | |
| snmp_set_oid_output_format | 返回类型现在为 true;之前为 bool。 | |
| snmp_set_quick_print | 返回类型现在为 true;之前为 bool。 | |
| snmp_set_valueretrieval | 返回类型现在为 true;之前为 bool。 | |
| sort | 返回类型现在为 true;之前为 bool。 | |
| str_ireplace | 大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。 | |
| str_split | 如果字符串为空,现在会返回一个空数组。之前会返回包含单个空字符串的数组。 | |
| strcasecmp | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| strcmp | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| stripos | 大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。 | |
| stristr | 大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。 | |
| strnatcasecmp | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| strnatcmp | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| strncasecmp | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| strncmp | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| strripos | 大小写折叠不再依赖于使用 setlocale 设置的区域设置。只会进行 ASCII 大小写折叠。非 ASCII 字节将按其字节值进行比较。 | |
| strtolower | 大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。 | |
| strtoupper | 大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。 | |
| substr_compare | 此函数现在返回 -1 或 1,之前返回负数或正数。 | |
| uasort | 返回类型现在为 true;之前为 bool。 | |
| ucfirst | 大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。 | |
| ucwords | 大小写转换不再依赖于使用 setlocale 设置的区域设置。只有 ASCII 字符将被转换。 | |
| uksort | 返回类型现在为 true;之前为 bool。 | |
| usort | 返回类型现在为 true;之前为 bool。 | |
| utf8_decode | 此函数已被弃用。 | |
| utf8_encode | 此函数已被弃用。 | |
| var_export | 导出的类名现在是完全限定的;之前,省略了开头的反斜杠。 | |
| IntlCalendar::clear | 返回类型现在为 true;之前为 bool。 | |
| IntlCalendar::set | 返回类型现在为 true;之前为 bool。 | |
| IntlCalendar::setFirstDayOfWeek | 返回类型现在为 true;之前为 bool。 | |
| IntlCalendar::setLenient | 返回类型现在为 true;之前为 bool。 | |
| IntlCalendar::setRepeatedWallTimeOption | 返回类型现在为 true;之前为 bool。 | |
| IntlCalendar::setSkippedWallTimeOption | 返回类型现在为 true;之前为 bool。 | |
| ReflectionEnum::getBackingType | 返回类型现在声明为 ?ReflectionNamedType。之前,声明为 ?ReflectionType。 | |
| 8.1.14 | SplFileObject::__toString | 已从 SplFileObject::fgets 的别名更改为 SplFileObject::current 的实现,当设置了 SplFileObject::READ_CSV 标志时,它会返回一个 CSV 字符串。 |
| 8.1.8 | DateTime::createFromFormat | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 |
| DateTimeImmutable::createFromFormat | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| date_parse_from_format | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| 8.1.0 | DateTime::setTime | 双重现有小时的行为(在秋季回退 DST 转换期间)已更改。之前 PHP 会选择第二个出现(DST 转换后),而不是第一个出现(DST 转换前)。 |
| DateTimeImmutable::setTime | 双重现有小时的行为(在秋季回退 DST 转换期间)已更改。之前 PHP 会选择第二个出现(DST 转换后),而不是第一个出现(DST 转换前)。 | |
| DirectoryIterator::key | 当迭代器未初始化时,现在会抛出 Error。之前,该方法返回 false。 | |
| DOMDocument::createComment | 如果发生错误,现在会抛出 DomException。之前,返回 false。 | |
| DOMDocument::createDocumentFragment | 如果发生错误,现在会抛出 DomException。之前,返回 false。 | |
| DOMDocument::createTextNode | 如果发生错误,现在会抛出 DomException。之前,返回 false。 | |
| current | 在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。 | |
| date_sunrise | 此函数已被弃用,建议使用 date_sun_info。 | |
| date_sunset | 此函数已被弃用,建议使用 date_sun_info。 | |
| dba_popen | handler 现在可以为空。 | |
| end | 在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。 | |
| exif_imagetype | 添加了 AVIF 支持。 | |
| finfo_buffer | finfo 参数现在需要 finfo 实例;之前,需要资源。 | |
| finfo_close | finfo 参数现在需要 finfo 实例;之前,需要资源。 | |
| finfo_file | finfo 参数现在需要 finfo 实例;之前,需要资源。 | |
| finfo_open | 现在返回 finfo 实例;之前,返回资源。 | |
| finfo_set_flags | finfo 参数现在需要 finfo 实例;之前,需要资源。 | |
| fputcsv | 添加了可选的 eol 参数。 | |
| ftp_alloc | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_append | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_cdup | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_chdir | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_chmod | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_close | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_connect | 现在返回 FTP\Connection 实例;之前,返回资源。 | |
| ftp_delete | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_exec | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_fget | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_fput | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_get | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_get_option | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_login | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_mdtm | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_mkdir | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_mlsd | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_nb_continue | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_nb_fget | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_nb_fput | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_nb_get | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_nb_put | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_nlist | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_pasv | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_put | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_pwd | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_raw | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_rawlist | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_rename | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_rmdir | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_set_option | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_site | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_size | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| ftp_ssl_connect | 现在返回 FTP\Connection 实例;之前,返回资源。 | |
| ftp_systype | ftp 参数现在需要 FTP\Connection 实例;之前,需要资源。 | |
| get_html_translation_table | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
| gmp_init | 已为 num 字符串添加了对显式八进制前缀 0o 和 0o 的支持。还添加了当 base 为 0 时对这些前缀的解释。 | |
| hash | 添加了 options 参数。 | |
| hash_algos | 添加了对 MurmurHash3 和 xxHash 算法的支持。 | |
| hash_file | 添加了 options 参数。 | |
| hash_init | 添加了 options 参数。 | |
| html_entity_decode | flags 从 ENT_COMPAT 更改为 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。 | |
| htmlspecialchars_decode | flags 从 ENT_COMPAT 更改为 ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401。 | |
| imagechar | font 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。 | |
| imagecharup | font 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。 | |
| imagefilledpolygon | num_points 参数已弃用。 | |
| imagefontheight | font 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。 | |
| imagefontwidth | font 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。 | |
| imageloadfont | 现在返回 GdFont 实例;之前,返回 int。 | |
| imageopenpolygon | num_points 参数已弃用。 | |
| imagepolygon | num_points 参数已弃用。 | |
| imagestring | font 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。 | |
| imagestringup | font 参数现在既可以接受 GdFont 实例也可以接受 int;之前只接受 int。 | |
| imagetypes | 添加了 IMG_AVIF。 | |
| ini_set | value 现在可以接受任何标量类型(包括 null)。之前,只接受字符串值。 | |
| key | 在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。 | |
| ldap_add | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_add_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_add_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_bind | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_bind_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_bind_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_compare | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_connect | 现在返回 LDAP\Connection 实例;之前,返回资源。 | |
| ldap_count_entries | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_count_entries | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_count_references | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_count_references | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_delete | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_delete_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_delete_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_errno | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_error | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_exop | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_exop_passwd | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_exop_refresh | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_exop_whoami | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_first_attribute | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_first_attribute | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_first_entry | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_first_entry | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_first_entry | 现在返回 LDAP\ResultEntry 实例;之前,返回资源。 | |
| ldap_free_result | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_get_attributes | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_get_attributes | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_get_dn | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_get_dn | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_get_entries | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_get_entries | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_get_option | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_get_values | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_get_values | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_get_values_len | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_get_values_len | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_list | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_list | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_mod_add | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_mod_del | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_mod_replace | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_modify_batch | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_mod_add_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_mod_add_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_mod_del_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_mod_del_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_mod_replace_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_mod_replace_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_next_attribute | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_next_attribute | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_next_entry | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_next_entry | entry 参数现在需要 LDAP\ResultEntry 实例;之前,需要有效的 ldap 结果条目资源。 | |
| ldap_next_entry | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_parse_exop | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_parse_exop | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_parse_result | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_parse_result | result 参数现在需要 LDAP\Result 实例;之前,需要有效的 ldap 结果资源。 | |
| ldap_read | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_read | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_rename | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_rename_ext | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_rename_ext | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_sasl_bind | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_search | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_search | 现在返回 LDAP\Result 实例;之前,返回资源。 | |
| ldap_set_option | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_set_rebind_proc | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| ldap_unbind | ldap 参数现在需要 LDAP\Connection 实例;之前,需要有效的 ldap 链接资源。 | |
| mb_check_encoding | 使用 null 作为值或不带参数调用此函数已弃用。 | |
| mhash | 此函数已弃用。请改用 hash_*() 函数。 | |
| mhash_count | 此函数已弃用。请改用 hash_*() 函数。 | |
| mhash_get_block_size | 此函数已弃用。请改用 hash_*() 函数。 | |
| mhash_get_hash_name | 此函数已弃用。请改用 hash_*() 函数。 | |
| mhash_keygen_s2k | 此函数已弃用。请改用 hash_*() 函数。 | |
| next | 在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。 | |
| odbc_result_all | 此函数已被弃用。 | |
| openssl_cms_encrypt | 默认的密码算法 (cipher_algo) 现在是 AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC)。之前使用的是 PKCS7/CMS (OPENSSL_CIPHER_RC2_40)。 | |
| openssl_decrypt | tag 现在可以为空。 | |
| openssl_pkcs7_encrypt | 默认的密码算法 (cipher_algo) 现在是 AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC)。之前使用的是 PKCS7/CMS (OPENSSL_CIPHER_RC2_40)。 | |
| pg_affected_rows | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_cancel_query | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_client_encoding | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_close | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_connect | 现在返回一个 PgSql\Connection 实例;之前返回的是一个资源。 | |
| pg_connect_poll | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_connection_busy | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_connection_reset | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_connection_status | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_consume_input | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_convert | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_copy_from | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_copy_to | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_dbname | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_delete | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_end_copy | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_escape_bytea | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_escape_identifier | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_escape_literal | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_escape_string | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_execute | 现在返回一个 PgSql\Result 实例;之前返回的是一个资源。 | |
| pg_execute | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_fetch_all | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_fetch_all_columns | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_fetch_array | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_fetch_assoc | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_fetch_object | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_fetch_result | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_fetch_row | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_is_null | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_name | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_num | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_prtlen | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_size | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_table | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_type | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_field_type_oid | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_flush | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_free_result | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_get_notify | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_get_pid | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_get_result | 现在返回一个 PgSql\Result 实例;之前返回的是一个资源。 | |
| pg_get_result | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_host | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_insert | 现在返回一个 PgSql\Result 实例;之前返回的是一个资源。 | |
| pg_insert | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_last_error | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_last_notice | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_last_oid | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_lo_close | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_lo_create | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_lo_export | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_lo_import | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_lo_open | 现在返回一个 PgSql\Lob 实例;之前返回的是一个资源。 | |
| pg_lo_open | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_lo_read | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_lo_read_all | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_lo_seek | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_lo_tell | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_lo_truncate | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_lo_unlink | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_lo_write | lob 参数现在期望一个 PgSql\Lob 实例;之前期望的是一个资源。 | |
| pg_meta_data | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_num_fields | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_num_rows | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_options | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_parameter_status | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_pconnect | 现在返回一个 PgSql\Connection 实例;之前返回的是一个资源。 | |
| pg_ping | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_port | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_prepare | 现在返回一个 PgSql\Result 实例;之前返回的是一个资源。 | |
| pg_prepare | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_put_line | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_query | 现在返回一个 PgSql\Result 实例;之前返回的是一个资源。 | |
| pg_query | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_query_params | 现在返回一个 PgSql\Result 实例;之前返回的是一个资源。 | |
| pg_query_params | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_result_error | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_result_error_field | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_result_seek | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_result_status | result 参数现在期望一个 PgSql\Result 实例;之前期望的是一个资源。 | |
| pg_select | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_send_execute | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_send_prepare | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_send_query | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_send_query_params | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_set_client_encoding | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_set_error_verbosity | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_socket | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_trace | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_transaction_status | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_tty | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_untrace | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_update | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| pg_version | connection 参数现在期望一个 PgSql\Connection 实例;之前期望的是一个资源。 | |
| prev | 在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。 | |
| reset | 在对象上调用此函数已弃用。首先使用 get_mangled_object_vars 将对象转换为数组,或者改用实现 Iterator 的类(如 ArrayIterator)提供的 method。 | |
| snmp3_get | auth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。 | |
| snmp3_getnext | auth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。 | |
| snmp3_real_walk | auth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。 | |
| snmp3_walk | auth_protocol 现在接受 "SHA256" 和 "SHA512"(如果 libnetsnmp 支持)。 | |
| stream_select | microseconds 现在可以为空。 | |
| strptime | 此函数已弃用。请改用 date_parse_from_format(用于与区域设置无关的解析),或 IntlDateFormatter::parse(用于与区域设置相关的解析)。 | |
| IntlDateFormatter::create | dateType 和 timeType 参数现在是可选的。 | |
| MultipleIterator::current | 如果在无效的迭代器上调用 MultipleIterator::current,现在会抛出 RuntimeException。之前返回的是 false。 | |
| MultipleIterator::key | 如果在无效的迭代器上调用 MultipleIterator::key,现在会抛出 RuntimeException。之前返回的是 false。 | |
| mysqli_driver::$report_mode | 默认值现在是 MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT。之前是 MYSQLI_REPORT_OFF。 | |
| mysqli_result::fetch_all | 现在在链接 libmysqlclient 时也可用。 | |
| mysqli_stmt::execute | 添加了可选的 params 参数。 | |
| mysqli_stmt::next_result | 现在在链接 libmysqlclient 时也可用。 | |
| mysqli::__construct | mysqli::connect 现在在成功时返回 true 而不是 null。 | |
| mysqli::$client_info | 使用 mysql 参数调用 mysqli_get_client_info 已弃用。此函数从未需要参数,但错误地将其作为可选参数允许。 | |
| mysqli::$client_info | 面向对象的 mysqli::get_client_info 已弃用。 | |
| mysqli::init | 面向对象的 mysqli::init 方法已弃用。将对 parent::init 的调用替换为 parent::__construct。 | |
| Phar::buildFromDirectory | Phar::buildFromDirectory 不再返回 false。 | |
| Phar::buildFromIterator | Phar::buildFromIterator 不再返回 false。 | |
| PharData::buildFromDirectory | PharData::buildFromDirectory 不再返回 false。 | |
| PharData::buildFromIterator | PharData::buildFromIterator 不再返回 false。 | |
| ReflectionFunctionAbstract::isStatic | 此方法已被提升。之前,它仅在 ReflectionMethod 中定义。 | |
| ReflectionClassConstant::getName | 如果 name 属性未初始化,则抛出 Error。之前,该方法在失败时返回 false。 | |
| ReflectionExtension::__clone | 此方法不再是 final 的。 | |
| ReflectionFunctionAbstract::__clone | 此方法不再是 final 的。 | |
| ReflectionParameter::__clone | 此方法不再是 final 的。 | |
| ReflectionProperty::__clone | 此方法不再是 final 的。 | |
| ReflectionProperty::getValue | 私有和受保护的属性可以立即通过 ReflectionProperty::getValue 访问。之前,需要通过调用 ReflectionProperty::setAccessible 使它们可访问;否则会抛出 ReflectionException。 | |
| ReflectionProperty::setValue | 私有和受保护的属性可以立即通过 ReflectionProperty::setValue 访问。之前,需要通过调用 ReflectionProperty::setAccessible 使它们可访问;否则会抛出 ReflectionException。 | |
| ReflectionZendExtension::__clone | 此方法不再是 final 的。 | |
| SimpleXMLElement::current | 如果在无效的迭代器上调用 SimpleXMLElement::current,现在会抛出 Error。之前返回的是 null。 | |
| SimpleXMLElement::key | 如果在无效的迭代器上调用 SimpleXMLElement::key,现在会抛出 Error。之前返回的是 false。 | |
| SplFileObject::fputcsv | 添加了可选的 eol 参数。 | |
| SplObjectStorage::current | 如果当前位置无效,SplObjectStorage::current 现在会抛出 Error 异常。之前返回的是 false。 | |
| SQLite3Result::finalize | 如果对象未正确初始化,此方法现在会抛出 Error 异常。之前返回的是 false。 | |
| SQLite3Stmt::close | 如果对象未正确初始化,此方法现在会抛出 Error 异常。之前返回的是 false。 | |
| 8.0.21 | DateTime::createFromFormat | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 |
| DateTimeImmutable::createFromFormat | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| date_parse_from_format | 当将 NULL 字节传递到 datetime 时,现在会抛出 ValueError,之前会被静默忽略。 | |
| 8.0.5 | imageinterlace | imageinterlace 现在返回一个 bool;之前返回的是一个 int(交错图像为非零,否则为零)。 |
| 8.0.3 | DOMDocument::getElementsByTagNameNS | namespace 现在可以为空。 |
| DOMElement::getElementsByTagNameNS | namespace 现在可以为空。 | |
| DOMImplementation::createDocument | namespace 现在可以为空。 | |
| finfo::__construct | magic_database 现在可以为空。 | |
| bind_textdomain_codeset | codeset 现在可以为空。之前无法检索当前设置的编码。 | |
| bindtextdomain | directory 现在可以为空。之前无法检索当前设置的目录。 | |
| finfo_open | magic_database 现在可以为空。 | |
| imagegd | file 现在可以为空。 | |
| imagegd2 | file 现在可以为空。 | |
| SoapClient::__setLocation | location 现在可以为空。 | |
| SoapVar::__construct | typeName、typeNamespace、nodeName 和 nodeNamespace 现在可以为空。 | |
| 8.0.0 | CURLFile::__construct | mime_type 和 posted_filename 现在可以为空;之前它们的默认值为 0。 |
| DateInterval::__construct | W 可以与 D 组合。 | |
| DateTime::createFromImmutable | 该方法现在返回当前调用的类的实例。之前,它创建了一个新的 DateTime 实例。 | |
| DateTimeInterface::format | 添加了格式字符 p。 | |
| DateTimeInterface::getTimestamp | 这些函数在失败时不再返回 false。 | |
| DateTimeImmutable::createFromMutable | 该方法现在返回当前调用的类的实例。之前,它创建了一个新的 DateTimeImmutable 实例。 | |
| DateTimeZone::listIdentifiers | 在此版本之前,在失败时返回 false。 | |
| Directory::close | 不接受任何参数。之前,可以将目录句柄作为参数传递。 | |
| Directory::read | 不接受任何参数。之前,可以将目录句柄作为参数传递。 | |
| Directory::rewind | 不接受任何参数。之前,可以将目录句柄作为参数传递。 | |
| DirectoryIterator::__construct | 如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。 | |
| DOMDocument::load | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| DOMDocument::loadHTML | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| DOMDocument::loadHTMLFile | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| DOMDocument::loadXML | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| DOMImplementation::createDocument | doctype 现在可以为空。 | |
| DOMImplementation::createDocument | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| DOMImplementation::createDocumentType | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| DOMImplementation::hasFeature | 现在静态调用此函数将抛出 Error。之前,会引发 E_DEPRECATED。 | |
| FFI::cdef | lib 现在可以为空。 | |
| FFI::string | size 现在可以为空;之前,其默认值为 0。 | |
| FilesystemIterator::__construct | 如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。 | |
| abs | num 不再接受支持数字转换的内部对象。 | |
| apache_note | note_value 现在可以为空。 | |
| 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 | 如果 count 超出范围,array_fill 现在会抛出 ValueError;之前会引发 E_WARNING,并且函数返回 false。 | |
| array_filter | callback 现在可以为空。 | |
| array_filter | 如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。 | |
| array_intersect | 此函数现在只能使用一个参数调用。以前,至少需要两个参数。 | |
| array_intersect_assoc | 此函数现在只能使用一个参数调用。以前,至少需要两个参数。 | |
| array_intersect_key | 此函数现在只能使用一个参数调用。以前,至少需要两个参数。 | |
| array_key_exists | key 参数现在接受 bool、float、int、null、resource 和 string 作为参数。 | |
| array_map | 如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。 | |
| array_rand | 如果 num 超出范围,array_rand 现在会抛出 ValueError;之前会引发 E_WARNING,并且函数返回 null。 | |
| array_rand | 如果 array 为空,array_rand 现在会抛出 ValueError;之前会引发 E_WARNING,并且函数返回 null。 | |
| array_reduce | 如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。 | |
| array_splice | length 现在可以为空。 | |
| array_walk | 如果 callback 期望将第二个或第三个参数按引用传递,此函数现在会发出 E_WARNING。 | |
| assert | assert 将不再评估字符串参数,而是将它们视为任何其他参数。应使用 assert($a == $b) 而不是 assert('$a == $b')。assert.quiet_eval php.ini 指令以及 ASSERT_QUIET_EVAL 常量也已被移除,因为它们不再有任何作用。 | |
| assert | 如果 description 是 Throwable 的实例,则如果断言失败,无论 assert.exception 的值如何,都会抛出该对象。 | |
| assert | 如果 description 是 Throwable 的实例,即使设置了用户回调,也不会调用它。 | |
| assert | 在命名空间内声明名为 assert() 的函数不再允许,并且会发出 E_COMPILE_ERROR。 | |
| assert_options | 如果 option 不是有效的选项,现在会抛出 ValueError。之前返回的是 false。 | |
| bcadd | scale 现在可以为空。 | |
| bccomp | scale 现在可以为空。 | |
| bcdiv | scale 现在可以为空。 | |
| bcdiv | 现在会抛出 DivisionByZeroError 异常而不是返回 null。 | |
| bcmod | scale 现在可以为空。 | |
| bcmod | 现在会抛出 DivisionByZeroError 异常而不是返回 null。 | |
| bcmul | scale 现在可以为空。 | |
| bcpow | 当 exponent 有小数部分时,现在会抛出 ValueError 而不是截断。 | |
| bcpowmod | scale 现在可以为空。 | |
| bcpowmod | 如果 exponent 是负值,现在会抛出 ValueError 而不是返回 false。 | |
| bcpowmod | 现在会抛出 DivisionByZeroError 异常而不是返回 false。 | |
| bcscale | scale 现在可以为空。 | |
| bcsqrt | 如果 num 不是格式良好的 BCMath 数字字符串,或小于 0,则会抛出 ValueError。之前,会改为引发 E_WARNING。 | |
| bcsqrt | scale 现在需要在 0 到 2147483647 之间;之前,负缩放比例会静默地视为 0。 | |
| bcsqrt | scale 现在可以为空。 | |
| bcsub | scale 现在可以为空。 | |
| bzdecompress | use_less_memory 的类型已从 int 更改为 bool。之前,默认值为 0。 | |
| bzwrite | length 现在可以为空。 | |
| call_user_func_array | args 键现在将被解释为参数名称,而不是被静默忽略。 | |
| ceil | num 不再接受支持数字转换的内部对象。 | |
| com_event_sink | sink_interface 现在可以为空。 | |
| com_get_active_object | codepage 现在可以为空。 | |
| compact | 如果给定的字符串引用了一个未设置的变量,现在会发出 E_WARNING 级别错误。 | |
| constant | 如果常量未定义,constant 现在会抛出 Error 异常;之前会生成 E_WARNING,并返回 null。 | |
| convert_uuencode | 在此版本之前,尝试转换空字符串会无缘无故地返回 false。 | |
| count | count 现在会在传递给 value 参数的无效可计数类型上抛出 TypeError。 | |
| count_chars | 在此版本之前,该函数在失败时返回 false。 | |
| crypt | salt 不再是可选的。 | |
| curl_close | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_copy_handle | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_copy_handle | 成功时,此函数现在返回一个 CurlHandle 实例;之前返回的是一个资源。 | |
| curl_errno | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_error | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_escape | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_exec | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_getinfo | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_getinfo | option 现在可以为 null;之前,默认值为 0。 | |
| curl_init | 成功时,此函数现在返回一个 CurlHandle 实例;之前返回的是一个资源。 | |
| curl_init | url 现在可以为 null。 | |
| curl_multi_add_handle | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_add_handle | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_multi_close | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_errno | 该函数在失败时不再返回 false。 | |
| curl_multi_errno | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_exec | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_getcontent | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_multi_info_read | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_init | 成功时,此函数现在返回一个 CurlMultiHandle 实例;之前,返回一个资源。 | |
| curl_multi_remove_handle | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_remove_handle | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_multi_select | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_multi_setopt | multi_handle 现在期望一个 CurlMultiHandle 实例;之前,期望一个资源。 | |
| curl_pause | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_reset | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_setopt | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_setopt_array | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_share_close | share_handle 现在期望一个 CurlShareHandle 实例;之前,期望一个资源。 | |
| curl_share_errno | 该函数在失败时不再返回 false。 | |
| curl_share_errno | share_handle 现在期望一个 CurlShareHandle 实例;之前,期望一个资源。 | |
| curl_share_init | 此函数现在返回一个 CurlShareHandle 实例;之前,返回一个资源。 | |
| curl_share_setopt | share_handle 现在期望一个 CurlShareHandle 实例;之前,期望一个资源。 | |
| curl_unescape | handle 现在期望一个 CurlHandle 实例;之前期望的是一个资源。 | |
| curl_version | 可选参数 age 已被移除。 | |
| date | timestamp 现在可以为 null。 | |
| date_sunrise | latitude、longitude、zenith 和 utcOffset 现在可以为 null。 | |
| date_sunset | latitude、longitude、zenith 和 utcOffset 现在可以为 null。 | |
| define | 将 true 传递给 case_insensitive 现在会发出 E_WARNING。仍然允许传递 false。 | |
| deflate_add | context 现在期望一个 DeflateContext 实例;之前,期望一个资源。 | |
| deflate_init | 成功时,此函数现在返回一个 DeflateContext 实例;之前,返回一个资源。 | |
| dir | context 现在可以为 null。 | |
| dom_import_simplexml | 此函数在失败时不再返回 null。 | |
| easter_date | year 现在可以为 null。 | |
| easter_date | 当 year 超出允许范围时,现在会抛出 ValueError。之前,会发出 E_WARNING 并返回 false。 | |
| easter_days | year 现在可以为 null。 | |
| enchant_broker_describe | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_describe | 在此版本之前,该函数在失败时返回 false。 | |
| enchant_broker_dict_exists | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_free | 此函数已被弃用,建议使用 unset 对象。 | |
| enchant_broker_free | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_free_dict | 此函数已被弃用,建议使用 unset 对象。 | |
| enchant_broker_free_dict | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_broker_get_dict_path | 此函数已被弃用。 | |
| enchant_broker_get_dict_path | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_get_error | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_init | 成功时,此函数现在返回一个 EnchantBroker 实例;之前,返回一个资源。 | |
| enchant_broker_list_dicts | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_list_dicts | 在此版本之前,该函数在失败时返回 false。 | |
| enchant_broker_request_dict | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_request_dict | 成功时,此函数现在返回一个 EnchantDictionary 实例;之前,返回一个资源。 | |
| enchant_broker_request_pwl_dict | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_request_pwl_dict | 成功时,此函数现在返回一个 EnchantDictionary 实例;之前,返回一个资源。 | |
| enchant_broker_set_dict_path | 此函数已被弃用。 | |
| enchant_broker_set_dict_path | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_broker_set_ordering | broker 现在期望一个 EnchantBroker 实例;之前,期望一个资源。 | |
| enchant_dict_add | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_add_to_session | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_check | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_describe | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_describe | 在此版本之前,该函数在失败时返回 false。 | |
| enchant_dict_get_error | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_is_added | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_quick_check | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_store_replacement | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| enchant_dict_suggest | dictionary 现在期望一个 EnchantDictionary 实例;之前,期望一个资源。 | |
| error_log | destination 和 additional_headers 现在可以为 null。 | |
| error_reporting | error_level 现在可以为 null。 | |
| exec | 如果 command 为空或包含空字节,exec 现在会抛出 ValueError。之前会发出 E_WARNING 并返回 false。 | |
| exif_read_data | required_sections 现在可以为 null。 | |
| explode | 当 separator 参数被赋予空字符串("") 时,explode 现在会抛出 ValueError。之前,explode 返回 false。 | |
| fgetcsv | length 现在可以为 null。 | |
| file_get_contents | length 现在可以为空。 | |
| finfo_buffer | context 现在可以为 null。 | |
| finfo_file | context 现在可以为 null。 | |
| floatval | 从对象转换时的错误级别已从 E_NOTICE 更改为 E_WARNING。 | |
| floor | num 不再接受支持数字转换的内部对象。 | |
| fprintf | 该函数在失败时不再返回 false。 | |
| fprintf | 如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| fprintf | 如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| fprintf | 如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| fprintf | 当提供的参数少于所需参数时,抛出 ArgumentCountError;之前此函数会发出 E_WARNING。 | |
| fsockopen | timeout 现在可以为 null。 | |
| fwrite | length 现在可以为空。 | |
| get_called_class | 在类外部调用此函数,现在会抛出 Error。之前,会发出 E_WARNING 并返回 false。 | |
| get_class | 在类外部调用此函数,且不带任何参数,现在会抛出 Error。之前,会发出 E_WARNING 并返回 false。 | |
| get_class_methods | object_or_class 参数现在只接受对象或有效的类名。 | |
| get_defined_functions | exclude_disabled 参数的默认值已从 false 更改为 true。 | |
| get_headers | 关联数组类型已从 int 更改为 bool。 | |
| get_parent_class | object_or_class 参数现在只接受对象或有效的类名。 | |
| get_resources | type 现在可以为 null。 | |
| getdate | timestamp 现在可以为 null。 | |
| getenv | name 现在可以为 null。 | |
| gmdate | timestamp 现在可以为 null。 | |
| gmmktime | hour 不再是可选参数。如果您需要 Unix 时间戳,请使用 time。 | |
| gmmktime | minute、second、month、day 和 year 现在可以为 null。 | |
| gmp_binomial | 该函数在失败时不再返回 false。 | |
| gmp_export | 该函数在失败时不再返回 false。 | |
| gmp_import | 该函数在失败时不再返回 false。 | |
| gmp_random_seed | 如果 seed 无效,gmp_random_seed 现在会抛出 ValueError。之前会发出 E_WARNING 并返回 false。 | |
| gmstrftime | timestamp 现在可以为 null。 | |
| grapheme_substr | 该函数现在始终将超出范围的偏移量钳位到字符串边界。之前,在某些情况下会返回 false 而不是空字符串。 | |
| gzgets | length 现在可以为 null;之前,默认值为 1024。 | |
| gzwrite | length 现在可以为 null;之前,默认值为 0。 | |
| hash | 如果 algo 未知,hash 现在会抛出 ValueError 异常;之前,会返回 false。 | |
| hash_hkdf | 现在在错误时抛出 ValueError 异常。之前,会返回 false 并发出 E_WARNING 消息。 | |
| hash_hmac | 如果 algo 未知或是非加密哈希函数,现在会抛出 ValueError 异常;之前,会返回 false。 | |
| hash_hmac_file | 如果 algo 未知或是非加密哈希函数,现在会抛出 ValueError 异常;之前,会返回 false。 | |
| hash_init | 如果 algo 未知或是非加密哈希函数,或者 key 为空,现在会抛出 ValueError 异常。之前,会返回 false 并发出 E_WARNING 消息。 | |
| hash_pbkdf2 | 现在在错误时抛出 ValueError 异常。之前,会返回 false 并发出 E_WARNING 消息。 | |
| hash_update_file | stream_context 现在可以为 null。 | |
| header_remove | name 现在可以为 null。 | |
| html_entity_decode | encoding 现在可以为 null。 | |
| htmlentities | encoding 现在可以为 null。 | |
| http_build_query | arg_separator 现在可以为 null。 | |
| iconv_mime_decode | encoding 现在可以为 null。 | |
| iconv_mime_decode_headers | encoding 现在可以为 null。 | |
| iconv_strlen | encoding 现在可以为 null。 | |
| iconv_strpos | encoding 现在可以为 null。 | |
| iconv_strrpos | encoding 现在可以为 null。 | |
| iconv_substr | length 和 encoding 现在可以为 null。 | |
| idate | timestamp 现在可以为 null。 | |
| ignore_user_abort | enable 现在可以为 null。 | |
| imageaffine | clip 现在可以为 null。 | |
| imageaffine | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagealphablending | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageantialias | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagearc | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagebmp | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagebmp | compressed 的类型现在是 bool;之前是 int。 | |
| imagechar | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecharup | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorallocate | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorallocatealpha | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorat | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorclosest | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorclosesthwb | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolordeallocate | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorexact | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorexactalpha | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolormatch | image1 和 image2 现在期望 GdImage 实例;之前,期望资源。 | |
| imagecolorresolve | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorresolvealpha | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorset | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorsforindex | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolorsforindex | 如果 color 超出范围,imagecolorsforindex 现在会抛出 ValueError 异常;之前,会返回 false。 | |
| imagecolorstotal | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolortransparent | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecolortransparent | color 现在可以为 null。 | |
| imageconvolution | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecopy | dst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。 | |
| imagecopymerge | dst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。 | |
| imagecopymergegray | dst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。 | |
| imagecopyresampled | dst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。 | |
| imagecopyresized | dst_image 和 src_image 现在期望 GdImage 实例;之前,期望资源。 | |
| imagecreate | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefrombmp | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromgd | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromgd2 | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromgd2part | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromgif | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromjpeg | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefrompng | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromstring | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromtga | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromwbmp | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromwebp | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromxbm | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatefromxpm | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecreatetruecolor | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecrop | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecrop | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagecropauto | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagecropauto | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagedashedline | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagedestroy | 此函数现在是 NOP。 | |
| imagedestroy | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageellipse | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefill | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefilledarc | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefilledellipse | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefilledpolygon | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefilledrectangle | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefilltoborder | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefilter | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageflip | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagefttext | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegammacorrect | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegd | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegd2 | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegetclip | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegetinterpolation | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegif | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagegrabscreen | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagegrabwindow | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagegrabwindow | client_area 现在期望一个 bool;之前期望一个 int。 | |
| imageinterlace | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageinterlace | enable 现在期望一个 bool;之前期望一个 int。 | |
| imageistruecolor | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagejpeg | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagelayereffect | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageline | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageopenpolygon | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagepalettecopy | dst 和 src 现在期望 GdImage 实例;之前,期望资源。 | |
| imagepalettetotruecolor | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagepng | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagepolygon | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagerectangle | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imageresolution | resolution_x 和 resolution_y 现在可以为 null。 | |
| imagerotate | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagerotate | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagerotate | 未使用的 ignore_transparent 现在期望一个 bool;之前期望一个 int。 | |
| imagesavealpha | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagescale | 成功时,此函数现在返回一个 GDImage 实例;之前,返回一个资源。 | |
| imagescale | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesetbrush | image 和 brush 现在期望 GdImage 实例;之前,期望资源。 | |
| imagesetclip | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesetinterpolation | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesetpixel | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesetthickness | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesettile | image 和 tile 现在期望 GdImage 实例;之前,期望资源。 | |
| imagestring | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagestringup | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesx | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagesy | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagetruecolortopalette | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagettfbbox | 已添加 options 参数。 | |
| imagettftext | 已添加 options 参数。 | |
| imagewbmp | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagewbmp | foreground_color 现在可以为 null。 | |
| imagewebp | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagexbm | image 现在期望一个 GdImage 实例;之前,期望一个有效的 gd 资源。 | |
| imagexbm | foreground_color 现在可以为 null。 | |
| imagexbm | 已移除第四个参数(未使用)。 | |
| implode | 不再支持在数组之后传递 separator。 | |
| inflate_add | context 现在期望一个 InflateContext 实例;之前,期望一个资源。 | |
| inflate_get_read_len | context 现在期望一个 InflateContext 实例;之前,期望一个资源。 | |
| inflate_get_status | context 现在期望一个 InflateContext 实例;之前,期望一个资源。 | |
| inflate_init | 成功时,此函数现在返回一个 InflateContext 实例;之前,返回一个资源。 | |
| intval | 从对象转换时的错误级别已从 E_NOTICE 更改为 E_WARNING。 | |
| is_numeric | 以空格结尾的数字字符串("42 ")现在将返回 true。之前,会返回 false。 | |
| jdtounix | 此函数在失败时不再返回 false,而是抛出 ValueError。 | |
| ldap_add | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_add_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_bind_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_compare | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_control_paged_result | 此函数已被移除。 | |
| ldap_control_paged_result_response | 此函数已被移除。 | |
| ldap_delete | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_delete_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_exop_passwd | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_first_attribute | 不再接受未使用的第三个参数 ber_identifier。 | |
| ldap_list | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_mod_add | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_mod_del | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_mod_replace | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_modify_batch | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_mod_add_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_mod_del_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_mod_replace_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_next_attribute | 不再接受未使用的第三个参数 ber_identifier。 | |
| ldap_read | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_rename | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_rename_ext | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_sasl_bind | dn、password、mech、realm、authc_id、authz_id 和 props 现在可以为 null。 | |
| ldap_search | controls 现在可以为 null;之前,默认为 []。 | |
| ldap_set_rebind_proc | callback 现在可以为空。 | |
| ldap_sort | 此函数已被移除。 | |
| levenshtein | 在此版本之前,levenshtein 函数必须使用两个或五个参数调用。 | |
| levenshtein | 在此版本之前,如果某个参数字符串的长度超过 255 个字符,levenshtein 函数将返回 -1。 | |
| libxml_disable_entity_loader | 此函数已被弃用。 | |
| libxml_use_internal_errors | use_errors 参数现在可以为 null。之前,其默认值为 false。 | |
| localtime | timestamp 现在可以为 null。 | |
| max | max 函数现在在失败时抛出 ValueError 异常;之前,它会返回 false 并发出 E_WARNING 错误。 | |
| max | 由于字符串到数字的比较方式发生了变化,max 函数在这种情况下不再根据参数顺序返回不同的值。 | |
| mb_check_encoding | value 和 encoding 参数现在可以为 null。 | |
| mb_chr | encoding 现在可以为 null。 | |
| mb_convert_encoding | 当 to_encoding 参数传递无效编码时,mb_convert_encoding 函数现在将抛出 ValueError 异常。 | |
| mb_convert_encoding | 当 from_encoding 参数传递无效编码时,mb_convert_encoding 函数现在将抛出 ValueError 异常。 | |
| mb_convert_encoding | from_encoding 参数现在可以为 null。 | |
| mb_convert_kana | encoding 现在可以为 null。 | |
| mb_decode_numericentity | encoding 现在可以为 null。 | |
| mb_detect_order | encoding 现在可以为 null。 | |
| mb_encode_mimeheader | charset 和 transfer_encoding 参数现在可以为 null。 | |
| mb_encode_numericentity | encoding 现在可以为 null。 | |
| mb_encoding_aliases | 如果编码未知,现在将抛出 ValueError 异常;之前会发出 E_WARNING 错误,并且函数返回 false。 | |
| mb_ereg | 此函数现在在成功时返回 true。之前,如果在字符串中找到模式的匹配项并且传递了 matches 参数,则它会返回匹配字符串的字节长度。如果省略可选参数 matches 或匹配字符串的长度为 0,则此函数返回 1。 | |
| mb_ereg_match | options 参数现在可以为 null。 | |
| mb_ereg_replace | options 参数现在可以为 null。 | |
| mb_ereg_replace_callback | options 参数现在可以为 null。 | |
| mb_ereg_search | pattern 和 options 参数现在可以为 null。 | |
| mb_ereg_search_init | pattern 和 options 参数现在可以为 null。 | |
| mb_ereg_search_pos | pattern 和 options 参数现在可以为 null。 | |
| mb_ereg_search_regs | pattern 和 options 参数现在可以为 null。 | |
| mb_eregi | 此函数现在在成功时返回 true。之前,如果在字符串中找到模式的匹配项并且传递了 matches 参数,则它会返回匹配字符串的字节长度。如果省略可选参数 matches 或匹配字符串的长度为 0,则此函数返回 1。 | |
| mb_eregi_replace | options 参数现在可以为 null。 | |
| mb_get_info | "func_overload" 和 "func_overload_list" 类型不再受支持。 | |
| mb_http_input | type 现在可以为 null。 | |
| mb_http_output | encoding 现在可以为 null。 | |
| mb_internal_encoding | encoding 现在可以为 null。 | |
| mb_internal_encoding | 如果 encoding 是无效编码,现在将抛出 ValueError 异常。之前会发出 E_WARNING 错误。 | |
| mb_language | language 参数现在可以为 null。 | |
| mb_ord | encoding 现在可以为 null。 | |
| mb_parse_str | 第二个参数不再是可选的。 | |
| mb_regex_encoding | encoding 现在可以为 null。 | |
| mb_regex_set_options | 如果提供了 options 参数且不为 null,则返回之前的选项。以前,会返回当前选项。 | |
| mb_regex_set_options | options 参数现在可以为 null。 | |
| mb_regex_set_options | "e" 选项现在会抛出 ValueError 异常。 | |
| mb_scrub | encoding 现在可以为 null。 | |
| mb_send_mail | additional_params 参数现在可以为 null。 | |
| mb_str_split | encoding 现在可以为 null。 | |
| mb_str_split | 该函数在失败时不再返回 false。 | |
| mb_strcut | encoding 现在可以为 null。 | |
| mb_strimwidth | encoding 现在可以为 null。 | |
| mb_stripos | needle 参数现在可以接受空字符串。 | |
| mb_stripos | encoding 现在可以为 null。 | |
| mb_stristr | needle 参数现在可以接受空字符串。 | |
| mb_stristr | encoding 现在可以为 null。 | |
| mb_strlen | encoding 现在可以为 null。 | |
| mb_strpos | needle 参数现在可以接受空字符串。 | |
| mb_strpos | encoding 现在可以为 null。 | |
| mb_strrchr | needle 参数现在可以接受空字符串。 | |
| mb_strrchr | encoding 现在可以为 null。 | |
| mb_strrichr | needle 参数现在可以接受空字符串。 | |
| mb_strrichr | encoding 现在可以为 null。 | |
| mb_strripos | needle 参数现在可以接受空字符串。 | |
| mb_strripos | encoding 现在可以为 null。 | |
| mb_strrpos | needle 参数现在可以接受空字符串。 | |
| mb_strrpos | 不再支持将编码作为第三个参数而不是偏移量传递。 | |
| mb_strrpos | encoding 现在可以为 null。 | |
| mb_strstr | needle 参数现在可以接受空字符串。 | |
| mb_strstr | encoding 现在可以为 null。 | |
| mb_strwidth | encoding 现在可以为 null。 | |
| mb_substitute_character | 不再支持将空字符串传递给 substitute_character 参数;应改为传递 "none"。 | |
| mb_substitute_character | encoding 现在可以为 null。 | |
| mb_substr | encoding 现在可以为 null。 | |
| mb_substr_count | encoding 现在可以为 null。 | |
| metaphone | 该函数在失败时返回 false。 | |
| mhash | key 参数现在可以为 null。 | |
| min | min 函数现在在失败时抛出 ValueError 异常;之前,它会返回 false 并发出 E_WARNING 错误。 | |
| min | 由于字符串到数字的比较方式发生了变化,min 函数在这种情况下不再根据参数顺序返回不同的值。 | |
| mktime | hour 不再是可选参数。如果您需要 Unix 时间戳,请使用 time。 | |
| mktime | minute、second、month、day 和 year 现在可以为 null。 | |
| msg_get_queue | 成功时,此函数现在返回 SysvMessageQueue 实例;之前,它返回一个资源。 | |
| msg_receive | queue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。 | |
| msg_remove_queue | queue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。 | |
| msg_send | queue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。 | |
| msg_set_queue | queue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。 | |
| msg_stat_queue | queue 参数现在期望一个 SysvMessageQueue 实例;之前,它期望一个资源。 | |
| number_format | 在此版本之前,number_format 函数接受一个、两个或四个参数(但不接受三个)。 | |
| ob_implicit_flush | enable 参数现在期望一个布尔值;之前,它期望一个整数。 | |
| odbc_columns | schema、table 和 column 参数现在可以为 null。 | |
| odbc_error | odbc 参数现在可以为 null。 | |
| odbc_errormsg | odbc 参数现在可以为 null。 | |
| odbc_exec | flags 参数已移除。 | |
| odbc_execute | 已移除未使用的 flags 参数。 | |
| odbc_fetch_row | row 现在可以为空。 | |
| odbc_procedurecolumns | 在此版本之前,该函数只能使用一个或五个参数调用。 | |
| odbc_procedures | 在此版本之前,该函数只能使用一个或四个参数调用。 | |
| odbc_tables | schema、table 和 types 参数现在可以为 null。 | |
| opendir | context 现在可以为 null。 | |
| openssl_csr_export | csr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_csr_export_to_file | csr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_csr_get_public_key | 成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。 | |
| openssl_csr_get_public_key | csr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_csr_get_subject | csr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_csr_new | 成功时,此函数现在返回 OpenSSLCertificateSigningRequest 实例;之前,它返回 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_csr_new | private_key 参数现在接受 OpenSSLAsymmetricKey 实例;之前,它接受 OpenSSL key 类型的资源。 | |
| openssl_csr_sign | 成功时,此函数现在返回 OpenSSLCertificate 实例;之前,它返回 OpenSSL X.509 类型的资源。 | |
| openssl_csr_sign | csr 参数现在接受 OpenSSLCertificateSigningRequest 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_csr_sign | ca_certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_csr_sign | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_dh_compute_key | private_key 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。 | |
| openssl_free_key | 此函数现在已弃用,因为它不再有任何作用。 | |
| openssl_free_key | key 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。 | |
| openssl_open | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_open | cipher_algo 参数不再是可选参数。 | |
| openssl_pkcs7_decrypt | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_pkcs7_encrypt | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_pkcs7_sign | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_pkcs7_sign | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_pkcs7_verify | signers_certificates_filename、untrusted_certificates_filename、content 和 output_filename 参数现在可以为 null。 | |
| openssl_pkcs12_export | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_pkcs12_export | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_pkcs12_export_to_file | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 CSR 类型的资源。 | |
| openssl_pkcs12_export_to_file | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_pkey_export | key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_pkey_export_to_file | key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_pkey_free | 此函数现在已弃用,因为它不再有任何作用。 | |
| openssl_pkey_free | key 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。 | |
| openssl_pkey_get_details | key 参数现在接受 OpenSSLAsymmetricKey;之前,它接受 OpenSSL key 类型的资源。 | |
| openssl_pkey_get_private | 成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。 | |
| openssl_pkey_get_private | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_pkey_get_private | passphrase 参数现在可以为 null。 | |
| openssl_pkey_get_public | 成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。 | |
| openssl_pkey_get_public | public_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_pkey_new | 成功时,此函数现在返回 OpenSSLAsymmetricKey 实例;之前,它返回 OpenSSL key 类型的资源。 | |
| openssl_private_decrypt | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_private_encrypt | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_public_decrypt | public_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_public_encrypt | public_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_random_pseudo_bytes | strong_result 参数现在可以为 null。 | |
| openssl_seal | public_key 参数现在接受 OpenSSLAsymmetricKey 实例数组;之前,它接受 OpenSSL key 类型的资源数组。 | |
| openssl_seal | cipher_algo 参数不再是可选参数。 | |
| openssl_seal | iv 参数现在可以为 null。 | |
| openssl_sign | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_spki_new | private_key 参数现在接受 OpenSSLAsymmetricKey 实例;之前,它接受 OpenSSL key 类型的资源。 | |
| openssl_verify | public_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_x509_check_private_key | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_check_private_key | private_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| openssl_x509_checkpurpose | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_checkpurpose | untrusted_certificates_file 参数现在可以为 null。 | |
| openssl_x509_export | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_export_to_file | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_fingerprint | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_free | 此函数现在已弃用,因为它不再有任何作用。 | |
| openssl_x509_free | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_parse | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_read | 成功时,此函数现在返回 OpenSSLCertificate 实例;之前,它返回 OpenSSL X.509 类型的资源。 | |
| openssl_x509_read | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_verify | certificate 参数现在接受 OpenSSLCertificate 实例;之前,它接受 OpenSSL X.509 类型的资源。 | |
| openssl_x509_verify | public_key 参数现在接受 OpenSSLAsymmetricKey 或 OpenSSLCertificate 实例;之前,它接受 OpenSSL key 或 OpenSSL X.509 类型的资源。 | |
| pack | 该函数在失败时不再返回 false。 | |
| parse_str | result 参数不再是可选的。 | |
| parse_url | parse_url 函数现在将区分不存在和为空的查询和片段。 | |
| passthru | 如果 command 为空或包含空字节,passthru 函数现在将抛出 ValueError 异常。之前,它会发出 E_WARNING 错误并返回 false。 | |
| password_hash | password_hash 函数在失败时不再返回 false,如果密码哈希算法无效,则会抛出 ValueError 异常,如果密码哈希由于未知错误而失败,则会抛出 Error 异常。 | |
| password_hash | algo 参数现在可以为 null。 | |
| pcntl_async_signals | enable 现在可以为 null。 | |
| pcntl_getpriority | process_id 参数现在可以为 null。 | |
| pcntl_setpriority | process_id 参数现在可以为 null。 | |
| pfsockopen | timeout 现在可以为 null。 | |
| pg_client_encoding | connection 参数现在可以为 null。 | |
| pg_close | connection 参数现在可以为 null。 | |
| pg_dbname | connection 参数现在可以为 null。 | |
| pg_end_copy | connection 参数现在可以为 null。 | |
| pg_fetch_all | pg_fetch_all 函数现在将为零行结果集返回空数组,而不是 false。 | |
| pg_host | connection 参数现在可以为 null。 | |
| pg_last_error | connection 参数现在可以为 null。 | |
| pg_lo_write | length 现在可以为 null。 | |
| pg_options | connection 参数现在可以为 null。 | |
| pg_ping | connection 参数现在可以为 null。 | |
| pg_port | connection 参数现在可以为 null。 | |
| pg_trace | connection 参数现在可以为 null。 | |
| pg_tty | connection 参数现在可以为 null。 | |
| pg_untrace | connection 参数现在可以为 null。 | |
| pg_version | connection 参数现在可以为 null。 | |
| phpversion | extension 参数现在可以为 null。 | |
| printf | 该函数在失败时不再返回 false。 | |
| printf | 如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| printf | 如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| printf | 如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| printf | 当提供的参数少于所需参数时,抛出 ArgumentCountError;之前此函数会发出 E_WARNING。 | |
| readdir | dir_handle 参数现在可以为 null。 | |
| readline_info | var_name 和 value 参数现在可以为 null。 | |
| readline_read_history | filename 参数现在可以为 null。 | |
| readline_write_history | filename 参数现在可以为 null。 | |
| rewinddir | dir_handle 参数现在可以为 null。 | |
| round | num 不再接受支持数字转换的内部对象。 | |
| sapi_windows_vt100_support | enable 现在可以为空。 | |
| scandir | context 现在可以为 null。 | |
| sem_acquire | semaphore 参数现在期望一个 SysvSemaphore 实例;之前,它期望一个资源。 | |
| sem_get | 成功时,此函数现在返回 SysvSemaphore 实例;之前,它返回一个资源。 | |
| sem_get | auto_release 参数的类型已从 int 更改为 bool。 | |
| sem_release | semaphore 参数现在期望一个 SysvSemaphore 实例;之前,它期望一个资源。 | |
| sem_remove | semaphore 参数现在期望一个 SysvSemaphore 实例;之前,它期望一个资源。 | |
| session_cache_expire | value 参数现在可以为 null。 | |
| session_cache_limiter | value 参数现在可以为 null。 | |
| session_id | id 参数现在可以为 null。 | |
| session_module_name | module 参数现在可以为 null。 | |
| session_name | name 现在可以为 null。 | |
| session_save_path | path 参数现在可以为 null。 | |
| session_set_cookie_params | path、domain、secure 和 httponly 参数现在可以为 null。 | |
| set_error_handler | errcontext 参数已移除,并且不再传递给用户回调函数。 | |
| shm_attach | 成功时,此函数现在返回 SysvSharedMemory 实例;之前,它返回一个资源。 | |
| shm_attach | size 参数现在可以为 null。 | |
| shm_detach | shm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。 | |
| shm_get_var | shm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。 | |
| shm_has_var | shm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。 | |
| shm_put_var | shm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。 | |
| shm_remove | shm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。 | |
| shm_remove_var | shm 参数现在期望一个 SysvSharedMemory 实例;之前,它期望一个资源。 | |
| shmop_close | 此函数已弃用,因为它不再有任何作用。 | |
| shmop_close | shmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。 | |
| shmop_delete | shmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。 | |
| shmop_open | 成功时,此函数现在返回一个 Shmop 实例;之前,它返回一个资源。 | |
| shmop_open | 如果 mode 无效或 size 小于或等于零,则会抛出 ValueError 异常;之前会发出 E_WARNING 错误,并且函数返回 false。 | |
| shmop_read | shmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。 | |
| shmop_read | 如果偏移量或大小超出范围,则会抛出 ValueError;以前会发出 E_WARNING,并返回 false。 | |
| shmop_size | shmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。 | |
| shmop_write | 在 PHP 8.0.0 之前,失败时返回 false。 | |
| shmop_write | shmop 参数现在期望一个 Shmop 实例;之前,它期望一个资源。 | |
| sleep | 该函数在秒数为负时抛出 ValueError;以前,会引发 E_WARNING,并且函数返回 false。 | |
| socket_accept | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| socket_addrinfo_bind | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| socket_addrinfo_bind | address 现在是 AddressInfo 实例;以前,它是一个资源。 | |
| socket_addrinfo_connect | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| socket_addrinfo_connect | address 现在是 AddressInfo 实例;以前,它是一个资源。 | |
| socket_addrinfo_explain | address 现在是 AddressInfo 实例;以前,它是一个资源。 | |
| socket_addrinfo_lookup | 成功时,此函数现在返回一个 AddressInfo 实例数组;以前,返回一个资源数组。 | |
| socket_addrinfo_lookup | service 现在可以为 null。 | |
| socket_bind | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_clear_error | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_clear_error | socket 现在可以为 null。 | |
| socket_close | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_connect | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_connect | port 现在可以为 null。 | |
| socket_create | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| socket_create_listen | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| socket_create_pair | pair 现在是对 Socket 实例数组的引用;以前,是对资源数组的引用。 | |
| socket_export_stream | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_get_option | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_getpeername | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_getsockname | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_import_stream | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| socket_last_error | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_last_error | socket 现在可以为 null。 | |
| socket_listen | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_read | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_recv | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_recvfrom | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_recvmsg | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_send | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_sendmsg | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_sendto | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_sendto | port 现在可以为 null。 | |
| socket_set_block | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_set_nonblock | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_set_option | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_shutdown | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_write | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_write | length 现在可以为空。 | |
| socket_wsaprotocol_info_export | socket 现在是 Socket 实例;以前,它是一个资源。 | |
| socket_wsaprotocol_info_import | 成功时,此函数现在返回一个 Socket 实例;以前,返回一个资源。 | |
| soundex | 在此版本之前,使用空字符串调用该函数会无缘无故返回 false。 | |
| spl_autoload | file_extensions 现在可以为 null。 | |
| spl_autoload_extensions | file_extensions 现在可以为 null。 | |
| spl_autoload_functions | 返回值已更新为始终为数组;以前,如果未激活自动加载队列,则此函数返回 false。 | |
| spl_autoload_register | callback 现在可以为 null。 | |
| sprintf | 该函数在失败时不再返回 false。 | |
| sprintf | 如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| sprintf | 如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| sprintf | 如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| sprintf | 当提供的参数少于所需参数时,抛出 ArgumentCountError;之前此函数会发出 E_WARNING。 | |
| str_split | 如果 length 小于 1,则现在会抛出 ValueError;以前,会引发 E_WARNING 级别错误,并且函数返回 false。 | |
| str_word_count | characters 现在可以为 null。 | |
| strcspn | length 现在可以为空。 | |
| stream_context_create | options 和 params 现在可以为 null。 | |
| stream_context_get_default | options 现在可以为 null。 | |
| stream_copy_to_stream | length 现在可以为 null。 | |
| stream_get_contents | length 现在可以为 null。 | |
| stream_set_chunk_size | 如果 size 小于 1 或大于 PHP_INT_MAX,则现在会抛出 ValueError。以前,会发出 E_WARNING 级别错误,并返回 false。 | |
| stream_socket_accept | timeout 现在可以为 null。 | |
| stream_socket_client | timeout 和 context 现在可以为 null。 | |
| stream_socket_enable_crypto | session_stream 现在可以为 null。 | |
| stream_socket_server | context 现在可以为 null。 | |
| strftime | timestamp 现在可以为 null。 | |
| strip_tags | allowed_tags 现在可以为 null。 | |
| stripos | needle 参数现在可以接受空字符串。 | |
| stripos | 不再支持将 int 作为 needle 传递。 | |
| stristr | needle 参数现在可以接受空字符串。 | |
| stristr | 不再支持将 int 作为 needle 传递。 | |
| strpos | needle 参数现在可以接受空字符串。 | |
| strpos | 不再支持将 int 作为 needle 传递。 | |
| strrchr | needle 参数现在可以接受空字符串。 | |
| strrchr | 不再支持将 int 作为 needle 传递。 | |
| strripos | needle 参数现在可以接受空字符串。 | |
| strripos | 不再支持将 int 作为 needle 传递。 | |
| strrpos | needle 参数现在可以接受空字符串。 | |
| strrpos | 不再支持将 int 作为 needle 传递。 | |
| strspn | length 现在可以为空。 | |
| strstr | needle 参数现在可以接受空字符串。 | |
| strstr | 不再支持将 int 作为 needle 传递。 | |
| strtotime | baseTimestamp 现在可以为 null。 | |
| substr | length 现在可以为 null。当 length 显式设置为 null 时,函数返回以字符串结尾的子字符串,而以前返回空字符串。 | |
| substr | 该函数返回空字符串,而以前返回 false。 | |
| substr_compare | length 现在可以为空。 | |
| substr_count | length 现在可以为空。 | |
| substr_replace | length 现在可以为空。 | |
| touch | mtime 和 atime 现在可以为 null。 | |
| trigger_error | 如果指定了无效的 error_level,则该函数现在会抛出 ValueError。以前,它返回 false。 | |
| uasort | 如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。 | |
| uksort | 如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。 | |
| umask | mask 现在可以为 null。 | |
| unixtojd | timestamp 现在可以为 null。 | |
| usort | 如果 callback 期望将参数按引用传递,此函数现在会发出 E_WARNING。 | |
| vfprintf | 该函数在失败时不再返回 false。 | |
| vfprintf | 如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vfprintf | 如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vfprintf | 如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vfprintf | 当给定的参数少于需要时抛出 ValueError;以前,此函数会发出 E_WARNING。 | |
| vprintf | 该函数在失败时不再返回 false。 | |
| vprintf | 如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vprintf | 如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vprintf | 如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vprintf | 当给定的参数少于需要时抛出 ValueError;以前,此函数会发出 E_WARNING。 | |
| vsprintf | 该函数在失败时不再返回 false。 | |
| vsprintf | 如果参数数量为零,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vsprintf | 如果 [width] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vsprintf | 如果 [precision] 小于零或大于 PHP_INT_MAX,则抛出 ValueError;之前此函数会发出 E_WARNING。 | |
| vsprintf | 当给定的参数少于需要时抛出 ValueError;以前,此函数会发出 E_WARNING。 | |
| wordwrap | 如果 break 为空字符串,则会抛出 ValueError;以前在这种情况下,它会发出 E_WARNING 并返回 false。 | |
| xml_get_current_byte_index | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_get_current_column_number | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_get_current_line_number | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_get_error_code | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_parse | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_parse_into_struct | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_parser_create | 此函数现在返回一个 XMLParser 实例;以前,返回一个资源,或在失败时返回 false。 | |
| xml_parser_create | encoding 现在可以为 null。 | |
| xml_parser_create_ns | 此函数现在返回一个 XMLParser 实例;以前,返回一个资源,或在失败时返回 false。 | |
| xml_parser_create_ns | encoding 现在可以为 null。 | |
| xml_parser_free | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_parser_get_option | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_parser_get_option | 如果 option 无效,则现在会抛出 ValueError。 | |
| xml_parser_set_option | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_parser_set_option | 如果 option 无效,则现在会抛出 ValueError。 | |
| xml_set_character_data_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_default_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_element_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_end_namespace_decl_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_external_entity_ref_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_notation_decl_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_object | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_processing_instruction_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_start_namespace_decl_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| xml_set_unparsed_entity_decl_handler | parser 现在需要一个 XMLParser 实例;以前,需要一个有效的 xml 资源。 | |
| zip_close | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::close。 | |
| zip_entry_close | 此函数已弃用,建议使用对象 API。 | |
| zip_entry_compressedsize | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。 | |
| zip_entry_compressionmethod | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。 | |
| zip_entry_filesize | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。 | |
| zip_entry_name | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。 | |
| zip_entry_open | 此函数已弃用,建议使用对象 API。 | |
| zip_entry_read | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::getFromIndex。 | |
| zip_open | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::open。 | |
| zip_read | 此函数已弃用,建议使用对象 API,请参阅 ZipArchive::statIndex。 | |
| GlobIterator::__construct | 如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。 | |
| IntlCalendar::setMinimalDaysInFirstWeek | 现在在输入无效时抛出 ValueError。以前,返回 false。 | |
| IntlTimeZone::getIDForWindowsID | region 现在可以为 null。 | |
| LimitIterator::__construct | 如果 offset 小于 0,则现在会抛出 ValueError;以前会抛出 RuntimeException。 | |
| LimitIterator::__construct | 如果 limit 小于 -1,则现在会抛出 ValueError;以前会抛出 RuntimeException。 | |
| Locale::getDisplayLanguage | displayLocale 现在可以为 null。 | |
| Locale::getDisplayName | displayLocale 现在可以为 null。 | |
| Locale::getDisplayRegion | displayLocale 现在可以为 null。 | |
| Locale::getDisplayScript | displayLocale 现在可以为 null。 | |
| Locale::getDisplayVariant | displayLocale 现在可以为 null。 | |
| mysqli_result::fetch_object | constructor_args 现在接受 [] 用于具有 0 个参数的构造函数;以前会抛出异常。 | |
| mysqli_result::field_seek | 此函数现在始终返回 true。以前,它在失败时返回 false。 | |
| mysqli_stmt::close | 此函数现在始终返回 true。以前,它在失败时返回 false。 | |
| mysqli_stmt::__construct | query 现在可以为 null。 | |
| mysqli::begin_transaction | name 现在可以为 null。 | |
| mysqli::close | 此函数现在始终返回 true。以前,它在失败时返回 false。 | |
| mysqli::commit | name 现在可以为 null。 | |
| mysqli::debug | 此函数现在始终返回 true。以前,它在失败时返回 false。 | |
| mysqli::rollback | name 现在可以为 null。 | |
| NumberFormatter::create | pattern 现在可以为 null。 | |
| PDOStatement::fetchAll | 此方法现在始终返回一个数组,而以前在失败时可能会返回 false。 | |
| Phar::addFile | localName 现在可以为 null。 | |
| Phar::buildFromIterator | baseDirectory 现在可以为 null。 | |
| Phar::compress | extension 现在可以为 null。 | |
| Phar::convertToData | format、compression 和 extension 现在可以为 null。 | |
| Phar::convertToExecutable | format、compression 和 extension 现在可以为 null。 | |
| Phar::createDefaultStub | index 和 webIndex 现在可以为 null。 | |
| Phar::decompress | extension 现在可以为 null。 | |
| Phar::getMetadata | 已添加参数 unserializeOptions。 | |
| Phar::setDefaultStub | webIndex 现在可以为 null。 | |
| Phar::setSignatureAlgorithm | privateKey 现在可以为 null。 | |
| Phar::webPhar | fileNotFoundScript 和 rewrite 现在可以为 null。 | |
| PharData::addFile | localName 现在可以为 null。 | |
| PharData::buildFromIterator | baseDirectory 现在可以为 null。 | |
| PharData::compress | extension 现在可以为 null。 | |
| PharData::convertToData | format、compression 和 extension 现在可以为 null。 | |
| PharData::convertToExecutable | format、compression 和 localName 现在可以为 null。 | |
| PharData::decompress | extension 现在可以为 null。 | |
| PharData::setDefaultStub | webIndex 现在可以为 null。 | |
| PharData::setSignatureAlgorithm | privateKey 现在可以为 null。 | |
| PharFileInfo::getMetadata | 已添加参数 unserializeOptions。 | |
| PharFileInfo::isCompressed | compression 现在可以为 null。 | |
| RecursiveDirectoryIterator::__construct | 如果 directory 是空字符串,现在会抛出 ValueError;之前抛出的是 RuntimeException。 | |
| RecursiveIteratorIterator::getSubIterator | level 现在可以为 null。 | |
| ReflectionClass::getConstants | 已添加 filter。 | |
| ReflectionClass::getReflectionConstants | 已添加 filter。 | |
| ReflectionFunction::invokeArgs | args 键现在将被解释为参数名称,而不是被静默忽略。 | |
| ReflectionFunction::isDisabled | 此函数已弃用,因为 ReflectionFunction 无法再为禁用的函数构造。 | |
| ReflectionMethod::getClosure | object 现在可以为 null。 | |
| ReflectionMethod::invokeArgs | args 键现在将被解释为参数名称,而不是被静默忽略。 | |
| ReflectionParameter::getClass | 此函数已弃用,建议使用 ReflectionParameter::getType 代替。 | |
| ReflectionParameter::getDefaultValue | 此方法现在允许获取内置函数和内置类方法的参数的默认值。以前,会抛出 ReflectionException。 | |
| ReflectionParameter::getDefaultValueConstantName | 此方法现在允许获取内置函数和内置类方法的默认值的常量名称。以前,会抛出 ReflectionException。 | |
| ReflectionParameter::isArray | 此函数已弃用,建议使用 ReflectionParameter::getType 代替。 | |
| ReflectionParameter::isCallable | 此函数已弃用,建议使用 ReflectionParameter::getType 代替。 | |
| ReflectionProperty::getValue | object 现在可以为 null。 | |
| ReflectionProperty::isInitialized | object 现在可以为 null。 | |
| ReflectionType::__toString | ReflectionType::__toString 已取消弃用。 | |
| SimpleXMLElement::asXML | filename 参数现在可以为 null。 | |
| SoapClient::__doRequest | oneWay 的类型现在为 bool;以前是 int。 | |
| SoapClient::__setCookie | value 现在可以为 null。 | |
| SoapServer::handle | request 现在可以为 null。 | |
| SplFileInfo::getFileInfo | class 现在可以为 null。 | |
| SplFileInfo::getPathInfo | class 现在可以为 null。 | |
| SplFileInfo::openFile | context 现在可以为 null。 | |
| SplFixedArray::__construct | 如果 size 为负数,则现在会抛出 ValueError;以前会抛出 InvalidArgumentException。 | |
| tidy::__construct | filename、config、encoding 和 useIncludePath 现在可以为 null。 | |
| tidy::parseFile | config 和 encoding 现在可以为 null。 | |
| tidy::parseString | config 和 encoding 现在可以为 null。 | |
| tidy::repairFile | tidy::repairFile 现在是静态方法。 | |
| tidy::repairFile | config 和 encoding 现在可以为 null。 | |
| tidy::repairString | tidy::repairString 现在是静态方法。 | |
| tidy::repairString | config 和 encoding 现在可以为 null。 | |
| tidy::repairString | 此函数不再接受 useIncludePath 参数。 | |
| XMLReader::getAttribute | 此函数不再返回 false。 | |
| XMLReader::getAttributeNs | 此函数不再返回 false。 | |
| XMLReader::lookupNamespace | 此函数不再返回 false。 | |
| XMLReader::next | name 现在可以为 null。 | |
| XMLReader::open | XMLReader::open 现在声明为静态方法,但仍然可以在 XMLReader 实例上调用。 | |
| XMLReader::XML | XMLReader::XML 现在声明为静态方法,但仍然可以在 XMLReader 实例上调用。 | |
| XMLWriter::endAttribute | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endCdata | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endComment | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endDocument | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endDtd | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endDtdAttlist | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endDtdElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endDtdEntity | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::endPi | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::flush | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::flush | 此函数不再返回 false。 | |
| XMLWriter::fullEndElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::openMemory | 此函数现在在成功时返回一个 XMLWriter 实例。以前,在这种情况下会返回一个资源。 | |
| XMLWriter::openUri | 此函数现在在成功时返回一个 XMLWriter 实例。以前,在这种情况下会返回一个资源。 | |
| XMLWriter::outputMemory | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::setIndent | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::setIndentString | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startAttribute | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startAttributeNs | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startAttributeNs | prefix 现在可以为 null。 | |
| XMLWriter::startCdata | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startComment | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startDocument | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startDtd | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startDtdAttlist | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startDtdElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startDtdEntity | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startElementNs | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::startPi | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::text | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeAttribute | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeAttributeNs | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeCdata | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeComment | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeDtd | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeDtdAttlist | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeDtdElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeDtdEntity | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeDtdEntity | publicId、systemId 和 notationData 现在可以为空。 | |
| XMLWriter::writeElement | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeElementNs | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writePi | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| XMLWriter::writeRaw | writer 现在需要一个 XMLWriter 实例;以前,需要一个资源。 | |
| ZipArchive::addEmptyDir | 添加了 flags 参数。 | |
| ZipArchive::addFile | 添加了 flags 参数。 | |
| ZipArchive::addFromString | 添加了 flags 参数。 | |
| ZipArchive::addGlob | options 中添加了 "flags" 参数。 | |
| ZipArchive::addGlob | options 中添加了 "comp_method"、"comp_flags"、"enc_method" 和 "enc_password" 参数。 | |
| ZipArchive::getStatusString | 此方法可以在归档文件关闭时调用。 | |
| ZipArchive::getStatusString | 此方法不再在失败时返回 false。 | |
| ZipArchive::setEncryptionIndex | password 现在可以为空。 | |
| ZipArchive::setEncryptionName | password 现在可以为空。 | |
| 7.4.12 | jdtounix | 儒略日的上限已扩展。以前,无论架构如何,它都是 2465342。 |
| tidyNode::isHtml | 此函数已修复以具有合理的行为。以前,几乎所有节点都被报告为 HTML 节点。 | |
| 7.4.4 | proc_open | 在 options 参数中添加了 create_new_console 选项。 |
| 7.4.3 | curl_setopt | 引入了 CURLOPT_HTTP09_ALLOWED。 |
| 7.4.2 | dba_open | lmdb 驱动程序现在支持额外的 map_size 参数。 |
| dba_popen | lmdb 驱动程序现在支持额外的 map_size 参数。 | |
| 7.4.0 | DatePeriod::__construct | recurrences 现在必须大于 0。 |
| array_merge | 此函数现在可以不带任何参数调用。以前,至少需要一个参数。 | |
| array_merge_recursive | 此函数现在可以不带任何参数调用。以前,至少需要一个参数。 | |
| base_convert | 传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。 | |
| bindec | 传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。 | |
| chr | 该函数不再静默接受不受支持的代码点,并将这些代码点转换为 0。 | |
| curl_version | 可选的 age 参数已弃用;如果传递值,则忽略该值。 | |
| current | SPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。 | |
| end | SPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。 | |
| fgetcsv | escape 参数现在还可以接受空字符串以禁用专有转义机制。 | |
| fputcsv | escape 参数现在还可以接受空字符串以禁用专有转义机制。 | |
| get_declared_classes | 以前,get_declared_classes 始终在子类之前返回父类。这种情况不再存在。get_declared_classes 返回值的顺序没有保证。 | |
| get_magic_quotes_gpc | 此函数已被弃用。 | |
| get_magic_quotes_runtime | 此函数已被弃用。 | |
| gzread | 此函数现在在失败时返回 false;以前返回 0。 | |
| gzwrite | 此函数现在在失败时返回 false;以前返回 0。 | |
| hash_algos | 添加了对 crc32c 的支持。 | |
| hexdec | 传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。 | |
| idn_to_ascii | variant 的默认值现在是 INTL_IDNA_VARIANT_UTS46,而不是已弃用的 INTL_IDNA_VARIANT_2003。 | |
| idn_to_utf8 | variant 的默认值现在是 INTL_IDNA_VARIANT_UTS46,而不是已弃用的 INTL_IDNA_VARIANT_2003。 | |
| imagecropauto | 捆绑的 libgd 中 imagecropauto() 的行为已与系统 libgd 的行为同步:IMG_CROP_DEFAULT 不再回退到 IMG_CROP_SIDES,并且阈值裁剪现在使用与系统 libgd 相同的算法。 | |
| imagecropauto | mode 的默认值已更改为 IMG_CROP_AUTO。以前,默认值为 -1,对应于 IMG_CROP_DEFAULT,但现在传递 -1 已弃用。 | |
| imagefilter | 添加了散射支持 (IMG_FILTER_SCATTER)。 | |
| implode | 传递数组后面的分隔符(即使用旧签名)已弃用。 | |
| key | SPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。 | |
| ldap_control_paged_result | 此函数已被弃用。 | |
| ldap_control_paged_result_response | 此函数已被弃用。 | |
| money_format | 此函数已弃用。请改用 NumberFormatter::formatCurrency。 | |
| next | SPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。 | |
| octdec | 传递无效字符现在将生成弃用通知。结果仍将计算为无效字符不存在的情况。 | |
| openssl_random_pseudo_bytes | 该函数不再在失败时返回 false,而是抛出异常。 | |
| password_hash | algo 参数现在期望一个字符串,但为了向后兼容性,仍然接受整数。 | |
| password_hash | sodium 扩展为 Argon2 密码提供了替代实现。 | |
| password_needs_rehash | algo 参数现在期望一个字符串,但为了向后兼容性,仍然接受整数。 | |
| preg_replace_callback | 添加了 flags 参数。 | |
| preg_replace_callback_array | 添加了 flags 参数。 | |
| prev | SPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。 | |
| proc_open | proc_open 现在还可以为命令接受数组。 | |
| proc_open | 在 options 参数中添加了 create_process_group 选项。 | |
| reset | SPL 类的实例现在被视为没有属性的空对象,而不是使用与该函数同名的 Iterator 方法。 | |
| stat | 在 Windows 上,设备号现在是包含文件的卷的序列号,inode 号是与文件关联的标识符。 | |
| stat | 符号链接的大小、atime、mtime 和 ctime 统计信息始终是目标的统计信息。以前,Windows 上的 NTS 构建并非如此。 | |
| str_getcsv | escape 参数现在将空字符串解释为禁用专有转义机制的信号。以前,空字符串被视为默认参数值。 | |
| strip_tags | allowed_tags 现在还可以接受数组。 | |
| unserialize | 添加了 options 的 max_depth 元素以设置反序列化期间允许的结构的最大深度。 | |
| Locale::lookup | defaultLocale 现在可以为空。 | |
| mysqli::__construct | 所有参数现在都可以为空。 | |
| mysqli::real_connect | 所有参数现在都可以为空。 | |
| SplFileObject::fgetcsv | escape 参数现在还可以接受空字符串以禁用专有转义机制。 | |
| SplFileObject::fputcsv | escape 参数现在还可以接受空字符串以禁用专有转义机制。 | |
| SplFileObject::fwrite | 该函数现在在失败时返回 false 而不是零。 | |
| SplFileObject::getCsvControl | 转义字符现在可以是空字符串。 | |
| SplFileObject::setCsvControl | escape 参数现在还可以接受空字符串以禁用专有转义机制。 | |
| SQLite3Stmt::bindParam | param 现在也支持 @param 表示法。 | |
| SQLite3Stmt::bindValue | param 现在也支持 @param 表示法。 | |
| 7.3.24 | jdtounix | 儒略日的上限已扩展。以前,无论架构如何,它都是 2465342。 |
| tidyNode::isHtml | 此函数已修复以具有合理的行为。以前,几乎所有节点都被报告为 HTML 节点。 | |
| 7.3.15 | curl_setopt | 引入了 CURLOPT_HTTP09_ALLOWED。 |
| 7.3.14 | dba_open | lmdb 驱动程序现在支持额外的 map_size 参数。 |
| dba_popen | lmdb 驱动程序现在支持额外的 map_size 参数。 | |
| 7.3.6 | DatePeriod::__construct | recurrences 现在必须大于 0。 |
| SplFileObject::__toString | 从 SplFileObject::current 的别名更改为 SplFileObject::fgets 的别名。 | |
| 7.3.5 | substr_compare | offset 现在可以等于 haystack 的长度。 |
| 7.3.0 | DateTimeImmutable::createFromFormat | 添加了 v 格式说明符。 |
| apache_request_headers | 此函数在 FPM SAPI 中可用。 | |
| array_push | 此函数现在只能使用一个参数调用。以前,至少需要两个参数。 | |
| array_unshift | 此函数现在只能使用一个参数调用。以前,至少需要两个参数。 | |
| assert | 在命名空间内声明名为 assert() 的函数已弃用。此类声明现在发出 E_DEPRECATED。 | |
| bcmul | bcmul 现在返回具有请求精度的数字。以前,返回的数字可能省略了尾随的小数零。 | |
| bcpow | bcpow 现在返回具有请求精度的数字。以前,返回的数字可能省略了尾随的小数零。 | |
| bcscale | bcscale 现在可用于获取当前的比例因子;当用作设置器时,它现在返回旧的比例值。以前,比例是强制性的,并且 bcscale 始终返回 true。 | |
| compact | 如果给定字符串引用未设置的变量,则 compact 现在会发出 E_NOTICE 级别的错误。以前,此类字符串会被静默跳过。 | |
| curl_getinfo | 引入了 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T、CURLINFO_CONTENT_LENGTH_UPLOAD_T、CURLINFO_HTTP_VERSION、CURLINFO_PROTOCOL、CURLINFO_PROXY_SSL_VERIFYRESULT、CURLINFO_SCHEME、CURLINFO_SIZE_DOWNLOAD_T、CURLINFO_SIZE_UPLOAD_T、CURLINFO_SPEED_DOWNLOAD_T、CURLINFO_SPEED_UPLOAD_T、CURLINFO_APPCONNECT_TIME_T、CURLINFO_CONNECT_TIME_T、CURLINFO_FILETIME_T、CURLINFO_NAMELOOKUP_TIME_T、CURLINFO_PRETRANSFER_TIME_T、CURLINFO_REDIRECT_TIME_T、CURLINFO_STARTTRANSFER_TIME_T、CURLINFO_TOTAL_TIME_T。 | |
| curl_setopt | 引入了 CURLOPT_ABSTRACT_UNIX_SOCKET、CURLOPT_KEEP_SENDING_ON_ERROR、CURLOPT_PRE_PROXY、CURLOPT_PROXY_CAINFO、CURLOPT_PROXY_CAPATH、CURLOPT_PROXY_CRLFILE、CURLOPT_PROXY_KEYPASSWD、CURLOPT_PROXY_PINNEDPUBLICKEY、CURLOPT_PROXY_SSLCERT、CURLOPT_PROXY_SSLCERTTYPE、CURLOPT_PROXY_SSL_CIPHER_LIST、CURLOPT_PROXY_SSLKEY、CURLOPT_PROXY_SSLKEYTYPE、CURLOPT_PROXY_SSL_OPTIONS、CURLOPT_PROXY_SSL_VERIFYHOST、CURLOPT_PROXY_SSL_VERIFYPEER、CURLOPT_PROXY_SSLVERSION、CURLOPT_PROXY_TLSAUTH_PASSWORD、CURLOPT_PROXY_TLSAUTH_TYPE、CURLOPT_PROXY_TLSAUTH_USERNAME、CURLOPT_SOCKS5_AUTH、CURLOPT_SUPPRESS_CONNECT_HEADERS、CURLOPT_DISALLOW_USERNAME_IN_URL、CURLOPT_DNS_SHUFFLE_ADDRESSES、CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS、CURLOPT_HAPROXYPROTOCOL、CURLOPT_PROXY_TLS13_CIPHERS、CURLOPT_SSH_COMPRESSION、CURLOPT_TIMEVALUE_LARGE 和 CURLOPT_TLS13_CIPHERS。 | |
| define | case_insensitive 已弃用,将在 8.0.0 版中删除。 | |
| ftp_fget | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_fput | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_get | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_nb_fget | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_nb_fput | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_nb_get | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_nb_put | mode 参数现在是可选的。以前它是强制性的。 | |
| ftp_put | mode 参数现在是可选的。以前它是强制性的。 | |
| getallheaders | 此函数在 FPM SAPI 中可用。 | |
| imagecreatefromstring | 现在支持 WEBP(如果使用的 libgd 支持)。 | |
| is_countable | 添加了 is_countable。 | |
| json_decode | 添加了 JSON_THROW_ON_ERROR 标志。 | |
| json_encode | 添加了 JSON_THROW_ON_ERROR 标志。 | |
| ldap_add | 添加了对控件的支持 | |
| ldap_compare | 添加了对控件的支持 | |
| ldap_delete | 添加了对控件的支持 | |
| ldap_exop | 添加了对控件的支持 | |
| ldap_exop_passwd | 添加了对控件的支持 | |
| ldap_list | 添加了对控件的支持 | |
| ldap_mod_add | 添加了对控件的支持 | |
| ldap_mod_del | 添加了对控件的支持 | |
| ldap_mod_replace | 添加了对控件的支持 | |
| ldap_modify_batch | 添加了对控件的支持 | |
| ldap_mod_add_ext | 添加了对控件的支持 | |
| ldap_mod_del_ext | 添加了对控件的支持 | |
| ldap_mod_replace_ext | 添加了对控件的支持 | |
| ldap_parse_result | 添加了对控件的支持 | |
| ldap_read | 添加了对控件的支持 | |
| ldap_rename | 添加了对控件的支持 | |
| ldap_rename_ext | 添加了对控件的支持 | |
| ldap_search | 添加了对控件的支持 | |
| list | 添加了对数组解构中引用赋值的支持。 | |
| mb_convert_case | 添加了对 MB_CASE_FOLD、MB_CASE_UPPER_SIMPLE、MB_CASE_LOWER_SIMPLE、MB_CASE_TITLE_SIMPLE 和 MB_CASE_FOLD_SIMPLE 作为 mode 的支持。 | |
| password_hash | 添加了使用 PASSWORD_ARGON2ID 的 Argon2id 密码的支持。 | |
| preg_quote | 现在引用了 # 字符 | |
| session_get_cookie_params | 在返回的数组中添加了 "samesite" 条目。 | |
| session_set_cookie_params | 添加了一个支持 lifetime_or_options 数组的替代签名。此签名还支持设置 SameSite cookie 属性。 | |
| setcookie | 添加了一个支持 options 数组的替代签名。此签名还支持设置 SameSite cookie 属性。 | |
| setrawcookie | 添加了一个支持 options 数组的替代签名。此签名还支持设置 SameSite cookie 属性。 | |
| stripos | 传递整数作为 needle 已弃用。 | |
| stristr | 传递整数作为 needle 已弃用。 | |
| strpos | 传递整数作为 needle 已弃用。 | |
| strrchr | 传递整数作为 needle 已弃用。 | |
| strripos | 传递整数作为 needle 已弃用。 | |
| strrpos | 传递整数作为 needle 已弃用。 | |
| strstr | 传递整数作为 needle 已弃用。 | |
| unlink | 在 Windows 上,现在可以解除正在使用的句柄文件的链接,而以前会失败。但是,在关闭所有句柄之前,仍然无法重新创建已解除链接的文件。 | |
| var_export | 现在将 stdClass 对象导出为强制转换为对象的数组((object)array(...)),而不是使用不存在的方法 stdClass::__setState。实际效果是 stdClass 现在可以导出,并且生成的代码甚至可以在早期版本的 PHP 上运行。 | |
| xml_parser_get_option | options 现在支持 XML_OPTION_SKIP_TAGSTART 和 XML_OPTION_SKIP_WHITE。 | |
| xml_set_external_entity_ref_handler | 如果扩展已针对 libxml 构建,则不再忽略处理程序的返回值。以前,返回值被忽略,并且解析从未停止。 | |
| 7.2.19 | DatePeriod::__construct | recurrences 现在必须大于 0。 |
| SplFileObject::__toString | 从 SplFileObject::current 的别名更改为 SplFileObject::fgets 的别名。 | |
| 7.2.18 | substr_compare | offset 现在可以等于 haystack 的长度。 |
| 7.2.12 | DateInterval::format | F 和 f 格式现在将始终为正。 |
| xml_parser_get_option | options 现在支持 XML_OPTION_SKIP_TAGSTART 和 XML_OPTION_SKIP_WHITE。 | |
| 7.2.0 | array_unique | 如果 flags 是 SORT_STRING,则以前数组已被复制并且非唯一元素已被删除(之后没有打包数组),但现在通过添加唯一元素来构建新数组。这可能导致不同的数字索引。 |
| assert | 使用字符串作为断言已弃用。当 assert.active 和 zend.assertions 都设置为 1 时,它现在会发出 E_DEPRECATED 通知。 | |
| bcmod | num1 和 num2 不再截断为整数,因此现在 bcmod 的行为遵循 fmod 而不是 % 运算符。 | |
| bcmod | 添加了 scale 参数。 | |
| count | count 现在将在传递给 value 参数的无效可计数类型上产生警告。 | |
| date_parse | 返回数组的 zone 元素现在表示秒而不是分钟,并且其符号已反转。例如 -120 现在是 7200。 | |
| date_parse_from_format | 返回数组的 zone 元素现在表示秒而不是分钟,并且其符号已反转。例如 -120 现在是 7200。 | |
| date_sun_info | 关于本地午夜而不是本地正午的计算已修复,这会稍微更改结果。 | |
| exif_read_data | file 参数现在同时支持本地文件和流资源。 | |
| exif_read_data | 添加了对以下 EXIF 格式的支持:三星 大疆 松下 索尼 宾得 美能达 适马/福唯视 艾克发 京瓷 理光 爱普生 | |
| exif_thumbnail | file 参数现在同时支持本地文件和流资源。 | |
| get_class | 在此版本之前,object 的默认值为 null,并且它与不传递任何值具有相同的效果。现在,null 已从 object 的默认值中删除,并且不再是有效的输入。 | |
| gettype | 现在将关闭的资源报告为“resource (closed)”。以前,关闭的资源的返回值是“unknown type”。 | |
| hash_copy | 接受并返回 HashContext 而不是 resource。 | |
| hash_final | 接受 HashContext 而不是 resource。 | |
| hash_hmac | 禁用了非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。 | |
| hash_hmac_file | 禁用了非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。 | |
| hash_init | 禁用了使用 HASH_HMAC 的非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。 | |
| hash_init | 返回 HashContext 而不是 resource。 | |
| hash_pbkdf2 | 禁用了非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。 | |
| hash_update | 接受 HashContext 而不是 resource。 | |
| hash_update_file | 接受 HashContext 而不是 resource。 | |
| hash_update_stream | 接受 HashContext 而不是 resource。 | |
| idn_to_ascii | INTL_IDNA_VARIANT_2003 已弃用;请改用 INTL_IDNA_VARIANT_UTS46。 | |
| idn_to_utf8 | INTL_IDNA_VARIANT_2003 已弃用;请改用 INTL_IDNA_VARIANT_UTS46。 | |
| imageantialias | imageantialias 现在普遍可用。以前,只有在使用捆绑版本的 GD 库编译 PHP 时才可用。 | |
| imagegd | imagegd 现在允许输出真彩色图像。以前,这些图像已隐式转换为调色板。 | |
| imagelayereffect | 添加了 IMG_EFFECT_MULTIPLY(需要系统 libgd >= 2.1.1 或捆绑的 libgd)。 | |
| imagetypes | 添加了 IMG_BMP。 | |
| is_object | is_object 现在对于没有类定义的反序列化对象(类为 __PHP_Incomplete_Class)返回 true。之前返回的是 false。 | |
| json_decode | associative 现在可以为空。 | |
| json_decode | 添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 标记。 | |
| json_encode | 添加了 JSON_INVALID_UTF8_IGNORE 和 JSON_INVALID_UTF8_SUBSTITUTE 标记。 | |
| additional_headers 参数现在也接受数组。 | ||
| mb_check_encoding | 此函数现在也接受数组作为值。以前,只支持字符串。 | |
| mb_convert_encoding | 此函数现在也接受数组作为字符串。以前,只支持字符串。 | |
| mb_parse_str | 不带第二个参数调用 mb_parse_str 已弃用。 | |
| mb_send_mail | additional_headers 参数现在也接受数组。 | |
| mt_rand | mt_rand 修复了一个取模偏差错误。这意味着使用特定种子生成的序列在 64 位机器上的 PHP 7.1 中可能会有所不同。 | |
| number_format | number_format 已更改为无法返回 -0,之前在 num 为 -0.01 等情况下可能会返回 -0。 | |
| openssl_pkcs7_verify | 添加了 output_filename 参数。 | |
| 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 现在可以为空。 | |
| proc_nice | 此函数现在可在 Windows 上使用。 | |
| rand | rand 修复了一个取模偏差错误。这意味着使用特定种子生成的序列在 64 位机器上的 PHP 7.1 中可能会有所不同。 | |
| read_exif_data | 此函数别名已弃用。 | |
| session_abort | 此函数的返回类型现在是 bool。以前,它是 void。 | |
| session_module_name | 现在明确禁止将模块名称设置为“user”。以前,这是被静默忽略的。 | |
| session_name | session_name 检查会话状态,以前它只检查 cookie 状态。因此,旧的 session_name 允许在 session_start 之后调用 session_name,这可能会导致 PHP 崩溃并可能导致错误行为。 | |
| session_reset | 此函数的返回类型现在是 bool。以前,它是 void。 | |
| session_set_cookie_params | 成功时返回 true,失败时返回 false。以前,该函数返回 void。 | |
| session_unset | 此函数的返回类型现在是 bool。以前,它是 void。 | |
| session_write_close | 此函数的返回类型现在是 bool。以前,它是 void。 | |
| set_error_handler | errcontext 已弃用。现在使用此参数会发出 E_DEPRECATED 通知。 | |
| unpack | float 和 double 类型都支持大端和小端。 | |
| utf8_decode | 此函数已从 XML 扩展移至 PHP 的核心。在以前的版本中,只有在安装了 XML 扩展时才可用。 | |
| utf8_encode | 此函数已从 XML 扩展移至 PHP 的核心。在以前的版本中,只有在安装了 XML 扩展时才可用。 | |
| PDOStatement::debugDumpParams | PDOStatement::debugDumpParams 现在返回发送到数据库的 SQL,包括完整的原始查询(包括用其绑定值替换的占位符)。注意,这只有在启用模拟预处理语句时才可用。 | |
| ReflectionClass::getMethods | filter 现在可以为空。 | |
| ReflectionClass::getProperties | filter 现在可以为空。 | |
| SQLite3::openBlob | 添加了 flags 参数,允许写入 BLOB;以前只支持读取。 | |
| 7.1.24 | xml_parser_get_option | options 现在支持 XML_OPTION_SKIP_TAGSTART 和 XML_OPTION_SKIP_WHITE。 |
| 7.1.5 | IntlDateFormatter::format | 添加了对向 datetime 参数提供通用 DateTimeInterface 对象的支持。以前,只支持正确的 DateTime 对象。 |
| 7.1.4 | PDO::sqliteCreateFunction | 添加了 flags 参数。 |
| SQLite3::createFunction | 添加了 flags 参数。 | |
| 7.1.2 | dns_get_record | 添加了对 CAA 记录类型的支持。 |
| fopen | 添加了“e”选项。 | |
| 7.1.1 | get_defined_functions | 添加了 exclude_disabled 参数。 |
| pack | 添加了“e”、“E”、“g”和“G”代码以启用 float 和 double 的字节序支持。 | |
| 7.1.0 | DateInterval::format | 添加了 F 和 f 格式字符。 |
| DateTime::setTime | 添加了 microsecond 参数。 | |
| DateTimeImmutable::__construct | 从现在起,微秒将填充实际值。而不是“00000”。 | |
| DateTimeImmutable::setTime | 添加了 microsecond 参数。 | |
| DateTimeZone::listIdentifiers | countryCode 现在可以为空。 | |
| array_rand | 内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。 | |
| curl_multi_setopt | 引入了 CURLMOPT_PUSHFUNCTION。 | |
| exif_imagetype | 添加了 WebP 支持。 | |
| file_get_contents | 添加了对负偏移量的支持。 | |
| get_headers | 添加了 context 参数。 | |
| getenv | 现在可以省略名称以检索所有环境变量的关联数组。 | |
| getimagesize | 添加了 WebP 支持。 | |
| getopt | 添加了 rest_index 参数。 | |
| grapheme_extract | 添加了对负偏移量的支持。 | |
| grapheme_stripos | 添加了对负偏移量的支持。 | |
| grapheme_strpos | 添加了对负偏移量的支持。 | |
| hash_algos | 添加了对 sha512/224、sha512/256、sha3-224、sha3-256、sha3-384 和 sha3-512 的支持。 | |
| iconv_strpos | 添加了对负偏移量的支持。 | |
| json_decode | 空 JSON 键("")可以编码为空对象属性,而不是使用键值 _empty_。 | |
| json_encode | 添加了 JSON_UNESCAPED_LINE_TERMINATORS 标记。 | |
| json_encode | 在编码浮点值时使用 serialize_precision 而不是 precision。 | |
| list | 现在可以在列表中指定键。这使得能够解构具有非整数或非顺序键的数组。 | |
| long2ip | ip 的参数类型已从字符串更改为 int。 | |
| mb_ereg | 如果没有任何匹配,mb_ereg 现在会将匹配项设置为一个空数组。以前,在这种情况下 matches 不会被修改。 | |
| mb_ereg_replace | 该函数检查字符串对于当前编码是否有效。 | |
| mb_ereg_replace | e 修饰符已弃用。 | |
| mb_ereg_replace_callback | 该函数检查字符串对于当前编码是否有效。 | |
| mb_ereg_search_setpos | 添加了对负偏移量的支持。 | |
| mb_eregi | 如果没有任何匹配,mb_eregi 现在会将匹配项设置为一个空数组。以前,在这种情况下 matches 不会被修改。 | |
| mb_eregi_replace | 该函数检查字符串对于当前编码是否有效。 | |
| mb_eregi_replace | e 修饰符已弃用。 | |
| mb_regex_set_options | “e”选项现在会发出 E_DEPRECATED。 | |
| mb_strimwidth | 添加了对负起始位置和宽度的支持。 | |
| mb_stripos | 添加了对负偏移量的支持。 | |
| mb_strpos | 添加了对负偏移量的支持。 | |
| mt_rand | rand 已成为 mt_rand 的别名。 | |
| mt_rand | mt_rand 已更新为使用修复后的正确版本的梅森旋转算法。要回退到旧的行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。 | |
| mt_srand | srand 已成为 mt_srand 的别名。 | |
| mt_srand | mt_rand 已更新为使用修复后的正确版本的梅森旋转算法。要回退到旧的行为,请使用 mt_srand 并将 MT_RAND_PHP 作为第二个参数。 | |
| openssl_csr_new | options 现在也支持 curve_name。 | |
| openssl_decrypt | 添加了 tag 和 aad 参数。 | |
| openssl_encrypt | 添加了 tag、aad 和 tag_length 参数。 | |
| openssl_pkey_new | 添加了 options 参数的 curve_name 键,以便可以基于椭圆曲线算法创建 EC 密钥。 | |
| output_add_rewrite_var | 从 PHP 7.1.0 开始,使用专用输出缓冲区,url_rewriter.tags 仅用于输出函数,并且 url_rewriter.hosts 可用。在 PHP 7.1.0 之前,由 output_add_rewrite_var 设置的重写变量与透明会话 ID 支持共享输出缓冲区(请参阅 session.trans_sid_tags)。 | |
| output_reset_rewrite_vars | 在 PHP 7.1.0 之前,由 output_add_rewrite_var 设置的重写变量使用相同的 Session 模块 trans sid 输出缓冲区。从 PHP 7.1.0 开始,使用专用输出缓冲区,并且 output_reset_rewrite_vars 仅删除由 output_add_rewrite_var 定义的重写变量。 | |
| pcntl_signal | 从 PHP 7.1.0 开始,处理程序回调将获得第二个参数,其中包含特定信号的 siginfo。仅当操作系统具有 siginfo_t 结构时才提供此数据。如果操作系统未实现 siginfo_t,则提供 NULL。 | |
| pcntl_signal_get_handler | 已添加 pcntl_signal_get_handler。 | |
| pg_fetch_all | 添加了 mode 参数。 | |
| pg_last_notice | 添加了 mode 参数。 | |
| pg_select | 添加了 mode 参数。 | |
| rand | rand 已成为 mt_rand 的别名。 | |
| session_start | session_start 现在返回 false,并且在无法启动会话时不再初始化 $_SESSION。 | |
| shuffle | 内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。 | |
| srand | srand 已成为 mt_srand 的别名。 | |
| str_shuffle | 内部随机化算法已更改为使用梅森旋转随机数生成器,而不是 libc rand 函数。 | |
| stripos | 添加了对负偏移量的支持。 | |
| strpos | 添加了对负偏移量的支持。 | |
| substr_count | 添加了对负偏移量和长度的支持。length 现在也可以为 0。 | |
| tempnam | 当回退到系统的临时目录时,tempnam 现在会发出通知。 | |
| unpack | 添加了可选的 offset。 | |
| unserialize | options 的 allowed_classes 元素现在是严格类型的,即,如果给定的不是数组或 bool,unserialize 将返回 false 并发出 E_WARNING。 | |
| ReflectionType::__toString | ReflectionType::__toString 已弃用。 | |
| SessionHandler::gc | 在此版本之前,该函数在成功时返回 true。 | |
| SessionHandlerInterface::gc | 在此版本之前,该函数在成功时返回 true。 | |
| 7.0.16 | dns_get_record | 添加了对 CAA 记录类型的支持。 |
| fopen | 添加了“e”选项。 | |
| 7.0.15 | get_defined_functions | 添加了 exclude_disabled 参数。 |
| pack | 添加了“e”、“E”、“g”和“G”代码以启用 float 和 double 的字节序支持。 | |
| 7.0.11 | iconv_substr | 如果字符串等于 offset 字符串长度,则将返回空字符串。在此版本之前,在这种情况下返回 false。 |
| 7.0.10 | imagetypes | 添加了 IMG_WEBP。 |
| SplFileObject::getCsvControl | 将转义字符添加到返回的数组中。 | |
| SQLite3::__construct | 文件名现在可以为空以使用私有的临时磁盘数据库。 | |
| 7.0.9 | getenv | 添加了 local_only 参数。 |
| 7.0.7 | curl_multi_setopt | 引入了 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE、CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE、CURLMOPT_MAX_HOST_CONNECTIONS、CURLMOPT_MAX_PIPELINE_LENGTH 和 CURLMOPT_MAX_TOTAL_CONNECTIONS。 |
| curl_setopt | 引入了 CURL_HTTP_VERSION_2、CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE、CURL_HTTP_VERSION_2TLS、CURL_REDIR_POST_301、CURL_REDIR_POST_302、CURL_REDIR_POST_303、CURL_REDIR_POST_ALL、CURL_VERSION_KERBEROS5、CURL_VERSION_PSL、CURL_VERSION_UNIX_SOCKETS、CURLAUTH_NEGOTIATE、CURLAUTH_NTLM_WB、CURLFTP_CREATE_DIR、CURLFTP_CREATE_DIR_NONE、CURLFTP_CREATE_DIR_RETRY、CURLHEADER_SEPARATE、CURLHEADER_UNIFIED、CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE、CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE、CURLMOPT_MAX_HOST_CONNECTIONS、CURLMOPT_MAX_PIPELINE_LENGTH、CURLMOPT_MAX_TOTAL_CONNECTIONS、CURLOPT_CONNECT_TO、CURLOPT_DEFAULT_PROTOCOL、CURLOPT_DNS_INTERFACE、CURLOPT_DNS_LOCAL_IP4、CURLOPT_DNS_LOCAL_IP6、CURLOPT_EXPECT_100_TIMEOUT_MS、CURLOPT_HEADEROPT、CURLOPT_LOGIN_OPTIONS、CURLOPT_PATH_AS_IS、CURLOPT_PINNEDPUBLICKEY、CURLOPT_PIPEWAIT、CURLOPT_PROXY_SERVICE_NAME、CURLOPT_PROXYHEADER、CURLOPT_SASL_IR、CURLOPT_SERVICE_NAME、CURLOPT_SSL_ENABLE_ALPN、CURLOPT_SSL_ENABLE_NPN、CURLOPT_SSL_FALSESTART、CURLOPT_SSL_VERIFYSTATUS、CURLOPT_STREAM_WEIGHT、CURLOPT_TCP_FASTOPEN、CURLOPT_TFTP_NO_OPTIONS、CURLOPT_UNIX_SOCKET_PATH、CURLOPT_XOAUTH2_BEARER、CURLPROTO_SMB、CURLPROTO_SMBS、CURLPROXY_HTTP_1_0、CURLSSH_AUTH_AGENT 和 CURLSSLOPT_NO_REVOKE。 | |
| 7.0.0 | define | 允许数组值。 |
| dirname | 添加了可选的 levels 参数。 | |
| getrusage | 此函数现在在 Windows 上受支持。 |