mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
85 lines
3.2 KiB
Plaintext
85 lines
3.2 KiB
Plaintext
PHP 8.6 INTERNALS UPGRADE NOTES
|
|
|
|
1. Internal API changes
|
|
|
|
2. Build system changes
|
|
|
|
3. Module changes
|
|
|
|
4. OpCode changes
|
|
|
|
5. SAPI changes
|
|
|
|
========================
|
|
1. Internal API changes
|
|
========================
|
|
|
|
. ZSTR_INIT_LITERAL(), zend_string_starts_with_literal(), and
|
|
zend_string_starts_with_literal_ci() now support strings containing NUL
|
|
bytes. Passing non-literal char* is no longer supported.
|
|
. The misnamed ZVAL_IS_NULL() has been removed. Use Z_ISNULL() instead.
|
|
. New zend_class_entry.ce_flags2 and zend_function.fn_flags2 fields were
|
|
added, given the primary flags were running out of bits.
|
|
. The zval_is_true() alias of zend_is_true() has been removed. Call
|
|
zend_is_true() directly instead.
|
|
. The _zval_get_*() compatibility macros for PHP 7.2 have been removed
|
|
call the variant without the leading underscore instead.
|
|
Affected: _zval_get_long, _zval_get_double, _zval_get_string,
|
|
_zval_get_long_func, _zval_get_double_func, _zval_get_string_func
|
|
. CHECK_ZVAL_NULL_PATH() and CHECK_NULL_PATH() have been removed, use
|
|
zend_str_has_nul_byte(Z_STR_P(...)) and zend_char_has_nul_byte()
|
|
respectively.
|
|
. ZEND_LTOA() (and ZEND_LTOA_BUF_LEN) has been removed, as it was
|
|
unsafe. Directly use ZEND_LONG_FMT with a function from the
|
|
printf family.
|
|
. The zval_dtor() alias of zval_ptr_dtor_nogc() has been removed.
|
|
Call zval_ptr_dtor_nogc() directly instead.
|
|
. The internal zend_copy_parameters_array() function is no longer exposed.
|
|
. The zend_make_callable() function has been removed, if a callable zval
|
|
needs to be obtained use the zend_get_callable_zval_from_fcc() function
|
|
instead. If this was used to store a callable, then an FCC should be
|
|
stored instead.
|
|
. The zend_active_function{_ex}() functions now return a const zend_function
|
|
pointer.
|
|
. The zend_get_call_trampoline_func() API now takes the __call or
|
|
__callStatic zend_function* instead of a CE and a boolean argument.
|
|
. The zend_set_hash_symbol() API has been removed.
|
|
. Added zend_hash_str_lookup().
|
|
. The WRONG_PARAM_COUNT and ZEND_WRONG_PARAM_COUNT() macros have been
|
|
removed. Call zend_wrong_param_count(); followed by RETURN_THROWS();
|
|
instead.
|
|
. PHP_HAVE_STREAMS macro removed from <php.h>.
|
|
. zend_function.arg_info is now always a zend_arg_info*. Before, it was a
|
|
zend_internal_arg_info on internal functions, unless the
|
|
ZEND_ACC_USER_ARG_INFO flag was set.
|
|
|
|
========================
|
|
2. Build system changes
|
|
========================
|
|
|
|
========================
|
|
3. Module changes
|
|
========================
|
|
|
|
- ext/xml:
|
|
. Removed the XML_ExpatVersion() libxml compatibility wrapper,
|
|
as it was unused.
|
|
. Removed the XML_GetCurrentByteCount() libxml compatibility wrapper,
|
|
as it was unused and could return the wrong result.
|
|
|
|
- ext/mbstring:
|
|
. Added GB18030-2022 to default encoding list for zh-CN.
|
|
|
|
- ext/standard:
|
|
. _php_error_log() now has a formal return type of zend_result.
|
|
. _php_error_log() now accepts zend_string* values instead of char*.
|
|
. _php_error_log_ex() has been removed.
|
|
|
|
========================
|
|
4. OpCode changes
|
|
========================
|
|
|
|
========================
|
|
5. SAPI changes
|
|
========================
|