From 57d204224bafb72fb1b21c60d167df9b6e764c36 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 15 Oct 2023 18:47:32 +0200 Subject: [PATCH 1/3] Remove deprecated INI setting mbstring.http_input --- NEWS | 3 ++ ext/mbstring/mbstring.c | 28 ++----------------- ext/mbstring/mbstring.h | 1 - ext/mbstring/tests/ini_encoding.phpt | 7 ----- ext/mbstring/tests/ini_encoding2.phpt | 7 ----- ext/mbstring/tests/ini_mbstring_invalid.phpt | 5 ---- ext/mbstring/tests/mb_get_info.phpt | 9 ++---- ext/mbstring/tests/mb_http_input_001.phpt | 2 -- .../tests/mb_internal_encoding_basic2.phpt | 2 -- ext/mbstring/tests/mb_parse_str_multi.phpt | 6 +--- php.ini-development | 8 ------ php.ini-production | 8 ------ 12 files changed, 9 insertions(+), 77 deletions(-) diff --git a/NEWS b/NEWS index 30a30efef6cee..7ec38d0f1e030 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,9 @@ DOM: Intl: . Added IntlDateFormatter::PATTERN constant. (David Carlier) +MBString: + . Long-deprecated INI setting mbstring.http_input has been removed. (Alex Dowad) + Opcache: . Added large shared segments support for FreeBSD. (David Carlier) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index a374539c2903b..c87ff288f37bb 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -738,25 +738,6 @@ static int _php_mb_ini_mbstring_http_input_set(const char *new_value, size_t new return SUCCESS; } -/* {{{ static PHP_INI_MH(OnUpdate_mbstring_http_input) */ -static PHP_INI_MH(OnUpdate_mbstring_http_input) -{ - if (new_value) { - php_error_docref("ref.mbstring", E_DEPRECATED, "Use of mbstring.http_input is deprecated"); - } - - if (!new_value || !ZSTR_LEN(new_value)) { - const char *encoding = php_get_input_encoding(); - MBSTRG(http_input_set) = 0; - _php_mb_ini_mbstring_http_input_set(encoding, strlen(encoding)); - return SUCCESS; - } - - MBSTRG(http_input_set) = 1; - return _php_mb_ini_mbstring_http_input_set(ZSTR_VAL(new_value), ZSTR_LEN(new_value)); -} -/* }}} */ - static int _php_mb_ini_mbstring_http_output_set(const char *new_value) { const mbfl_encoding *encoding = php_mb_get_encoding_or_pass(new_value); if (!encoding) { @@ -930,7 +911,6 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes) PHP_INI_BEGIN() PHP_INI_ENTRY("mbstring.language", "neutral", PHP_INI_ALL, OnUpdate_mbstring_language) PHP_INI_ENTRY("mbstring.detect_order", NULL, PHP_INI_ALL, OnUpdate_mbstring_detect_order) - PHP_INI_ENTRY("mbstring.http_input", NULL, PHP_INI_ALL, OnUpdate_mbstring_http_input) PHP_INI_ENTRY("mbstring.http_output", NULL, PHP_INI_ALL, OnUpdate_mbstring_http_output) STD_PHP_INI_ENTRY("mbstring.internal_encoding", NULL, PHP_INI_ALL, OnUpdate_mbstring_internal_encoding, internal_encoding_name, zend_mbstring_globals, mbstring_globals) PHP_INI_ENTRY("mbstring.substitute_character", NULL, PHP_INI_ALL, OnUpdate_mbstring_substitute_character) @@ -967,10 +947,8 @@ static void mbstring_internal_encoding_changed_hook(void) { _php_mb_ini_mbstring_http_output_set(encoding); } - if (!MBSTRG(http_input_set)) { - const char *encoding = php_get_input_encoding(); - _php_mb_ini_mbstring_http_input_set(encoding, strlen(encoding)); - } + const char *encoding = php_get_input_encoding(); + _php_mb_ini_mbstring_http_input_set(encoding, strlen(encoding)); } /* {{{ module global initialize handler */ @@ -1015,7 +993,6 @@ ZEND_TSRMLS_CACHE_UPDATE(); mbstring_globals->last_used_encoding = NULL; mbstring_globals->internal_encoding_set = 0; mbstring_globals->http_output_set = 0; - mbstring_globals->http_input_set = 0; mbstring_globals->all_encodings_list = NULL; } /* }}} */ @@ -1152,7 +1129,6 @@ PHP_RSHUTDOWN_FUNCTION(mbstring) MBSTRG(internal_encoding_set) = 0; MBSTRG(http_output_set) = 0; - MBSTRG(http_input_set) = 0; MBSTRG(outconv_enabled) = false; MBSTRG(outconv_state) = 0; diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 7256605bd2462..27641d96395b8 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -109,7 +109,6 @@ ZEND_BEGIN_MODULE_GLOBALS(mbstring) /* Whether an explicit internal_encoding / http_output / http_input encoding was set. */ bool internal_encoding_set; bool http_output_set; - bool http_input_set; #ifdef HAVE_MBREGEX zend_long regex_retry_limit; #endif diff --git a/ext/mbstring/tests/ini_encoding.phpt b/ext/mbstring/tests/ini_encoding.phpt index 9a18c9ae20160..97305eae67f1b 100644 --- a/ext/mbstring/tests/ini_encoding.phpt +++ b/ext/mbstring/tests/ini_encoding.phpt @@ -9,7 +9,6 @@ internal_encoding= input_encoding= output_encoding= mbstring.internal_encoding=Shift_JIS -mbstring.http_input=Shift_JIS mbstring.http_output=Shift_JIS --FILE-- --EXPECT-- @@ -53,7 +49,6 @@ string(0) "" string(9) "Shift_JIS" string(4) "SJIS" string(9) "Shift_JIS" -string(9) "Shift_JIS" Setting INI string(9) "Shift_JIS" string(0) "" @@ -61,7 +56,6 @@ string(0) "" string(0) "" string(9) "Shift_JIS" string(9) "Shift_JIS" -string(9) "Shift_JIS" Getting INI string(5) "UTF-8" string(5) "UTF-8" @@ -70,4 +64,3 @@ string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_encoding2.phpt b/ext/mbstring/tests/ini_encoding2.phpt index c9076883378dc..e7c5ac0e0c7c3 100644 --- a/ext/mbstring/tests/ini_encoding2.phpt +++ b/ext/mbstring/tests/ini_encoding2.phpt @@ -9,7 +9,6 @@ internal_encoding=EUC-JP input_encoding= output_encoding= mbstring.internal_encoding= -mbstring.http_input= mbstring.http_output= --FILE-- --EXPECT-- @@ -53,7 +49,6 @@ string(0) "" string(0) "" string(6) "EUC-JP" string(0) "" -string(0) "" Setting INI string(0) "" string(6) "EUC-JP" @@ -61,7 +56,6 @@ string(0) "" string(0) "" string(0) "" string(0) "" -string(0) "" Getting INI string(5) "UTF-8" string(5) "UTF-8" @@ -70,4 +64,3 @@ string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_mbstring_invalid.phpt b/ext/mbstring/tests/ini_mbstring_invalid.phpt index afeb59f28b287..adcc97ff48edb 100644 --- a/ext/mbstring/tests/ini_mbstring_invalid.phpt +++ b/ext/mbstring/tests/ini_mbstring_invalid.phpt @@ -6,7 +6,6 @@ mbstring mbstring.language=UNKNOWN_LANGUAGE mbstring.internal_encoding=UNKNOWN_ENCODING mbstring.detect_order=UTF-8,DETECT_ORDER,ASCII -mbstring.http_input=UTF-8,HTTP_INPUT,ASCII mbstring.http_output=HTTP_OUTPUT mbstring.http_output_conv_mimetypes=UNKNOWN_MIME_TYPE_OUTPUT mbstring.substitute_character=U+3000,NON_EXISTING_CHARACTER,JIS+7E7E @@ -19,10 +18,6 @@ mbstring.strict_detection=BOOL_STRICT_DETECTION --EXPECT-- Warning: PHP Startup: INI setting contains invalid encoding "DETECT_ORDER" in Unknown on line 0 -Deprecated: PHP Startup: Use of mbstring.http_input is deprecated in Unknown on line 0 - -Warning: PHP Startup: INI setting contains invalid encoding "HTTP_INPUT" in Unknown on line 0 - Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0 Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 diff --git a/ext/mbstring/tests/mb_get_info.phpt b/ext/mbstring/tests/mb_get_info.phpt index a2328b1e19b94..b2af5c1d17af6 100644 --- a/ext/mbstring/tests/mb_get_info.phpt +++ b/ext/mbstring/tests/mb_get_info.phpt @@ -6,7 +6,6 @@ mbstring mbstring.encoding_translation=1 mbstring.language=Korean mbstring.internal_encoding=UTF-8 -mbstring.http_input=ISO-8859-1 mbstring.http_output=ISO-8859-15 mbstring.http_output_conv_mimetypes=abc mbstring.detect_order=UTF-8,ISO-8859-15,ISO-8859-1,ASCII @@ -23,8 +22,6 @@ foreach (array_keys($result) as $key) { } ?> --EXPECT-- -Deprecated: PHP Startup: Use of mbstring.http_input is deprecated in Unknown on line 0 - Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0 Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 @@ -32,7 +29,7 @@ array(13) { ["internal_encoding"]=> string(5) "UTF-8" ["http_input"]=> - string(10) "ISO-8859-1" + string(5) "UTF-8" ["http_output"]=> string(11) "ISO-8859-15" ["http_output_conv_mimetypes"]=> @@ -67,8 +64,8 @@ array(13) { } string(5) "UTF-8" string(5) "UTF-8" -string(10) "ISO-8859-1" -string(10) "ISO-8859-1" +string(5) "UTF-8" +string(5) "UTF-8" string(11) "ISO-8859-15" string(11) "ISO-8859-15" string(3) "abc" diff --git a/ext/mbstring/tests/mb_http_input_001.phpt b/ext/mbstring/tests/mb_http_input_001.phpt index 3f9430e106b2f..a70797fb5aa97 100644 --- a/ext/mbstring/tests/mb_http_input_001.phpt +++ b/ext/mbstring/tests/mb_http_input_001.phpt @@ -10,8 +10,6 @@ var_dump(mb_http_input('L')); var_dump(mb_http_input('l')); ?> --EXPECT-- -Warning: PHP Startup: INI setting contains invalid encoding "-1" in Unknown on line 0 - Warning: PHP Startup: INI setting contains invalid encoding "-1" in Unknown on line 0 bool(false) bool(false) diff --git a/ext/mbstring/tests/mb_internal_encoding_basic2.phpt b/ext/mbstring/tests/mb_internal_encoding_basic2.phpt index 52342622a6e44..b9c1232f107a9 100644 --- a/ext/mbstring/tests/mb_internal_encoding_basic2.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_basic2.phpt @@ -19,7 +19,6 @@ var_dump(ini_get('default_charset')); var_dump(ini_get('input_encoding')); var_dump(ini_get('output_encoding')); var_dump(ini_get('internal_encoding')); -var_dump(ini_get('mbstring.http_input')); var_dump(ini_get('mbstring.http_output')); var_dump(ini_get('mbstring.internal_encoding')); @@ -37,7 +36,6 @@ string(10) "ISO-8859-1" string(10) "ISO-8859-1" string(0) "" string(0) "" -string(0) "" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" diff --git a/ext/mbstring/tests/mb_parse_str_multi.phpt b/ext/mbstring/tests/mb_parse_str_multi.phpt index 1efb437f4a443..b966d63114e19 100644 --- a/ext/mbstring/tests/mb_parse_str_multi.phpt +++ b/ext/mbstring/tests/mb_parse_str_multi.phpt @@ -3,12 +3,9 @@ mb_parse_str() with multiple candidate encodings --EXTENSIONS-- mbstring --INI-- -mbstring.http_input=UTF-8,SJIS,EUC-JP,ISO-8859-1,ISO-2022-JP +input_encoding=UTF-8,SJIS,EUC-JP,ISO-8859-1,ISO-2022-JP --FILE-- --EXPECTF-- -Deprecated: PHP Startup: Use of mbstring.http_input is deprecated in %s on line %d Query: e38386e382b9e383883d616263 e38386e382b9e38388=>616263 Query: 82a082a282a43d9356 diff --git a/php.ini-development b/php.ini-development index 445bedf26b01b..74b3bda5a74ff 100644 --- a/php.ini-development +++ b/php.ini-development @@ -1648,14 +1648,6 @@ zend.assertions = 1 ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding ;mbstring.internal_encoding = -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_translation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < input_encoding < mbstring.http_input -; https://php.net/mbstring.http-input -;mbstring.http_input = - ; Use of this INI entry is deprecated, use global output_encoding instead. ; http output encoding. ; mb_output_handler must be registered as output buffer to function. diff --git a/php.ini-production b/php.ini-production index 20e48837cd03f..c313ac6683c24 100644 --- a/php.ini-production +++ b/php.ini-production @@ -1650,14 +1650,6 @@ zend.assertions = -1 ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding ;mbstring.internal_encoding = -; Use of this INI entry is deprecated, use global input_encoding instead. -; http input encoding. -; mbstring.encoding_translation = On is needed to use this setting. -; If empty, default_charset or input_encoding or mbstring.input is used. -; The precedence is: default_charset < input_encoding < mbstring.http_input -; https://php.net/mbstring.http-input -;mbstring.http_input = - ; Use of this INI entry is deprecated, use global output_encoding instead. ; http output encoding. ; mb_output_handler must be registered as output buffer to function. From c4b706459c1e328dbdb88ad2dafc63a81bd03398 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 15 Oct 2023 19:06:23 +0200 Subject: [PATCH 2/3] Remove deprecated INI setting mbstring.http_output --- NEWS | 3 ++- ext/mbstring/mbstring.c | 19 ------------------- ext/mbstring/tests/ini_encoding.phpt | 7 ------- ext/mbstring/tests/ini_encoding2.phpt | 7 ------- ext/mbstring/tests/ini_mbstring_invalid.phpt | 3 --- ext/mbstring/tests/mb_get_info.phpt | 9 +++------ .../tests/mb_internal_encoding_basic2.phpt | 2 -- php.ini-development | 10 ---------- php.ini-production | 10 ---------- 9 files changed, 5 insertions(+), 65 deletions(-) diff --git a/NEWS b/NEWS index 7ec38d0f1e030..63b30f418b007 100644 --- a/NEWS +++ b/NEWS @@ -14,7 +14,8 @@ Intl: . Added IntlDateFormatter::PATTERN constant. (David Carlier) MBString: - . Long-deprecated INI setting mbstring.http_input has been removed. (Alex Dowad) + . Long-deprecated INI settings mbstring.http_input and mbstring.http_output + have been removed. (Alex Dowad) Opcache: . Added large shared segments support for FreeBSD. (David Carlier) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index c87ff288f37bb..b3499e6e4bb9e 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -749,24 +749,6 @@ static int _php_mb_ini_mbstring_http_output_set(const char *new_value) { return SUCCESS; } -/* {{{ static PHP_INI_MH(OnUpdate_mbstring_http_output) */ -static PHP_INI_MH(OnUpdate_mbstring_http_output) -{ - if (new_value) { - php_error_docref("ref.mbstring", E_DEPRECATED, "Use of mbstring.http_output is deprecated"); - } - - if (new_value == NULL || ZSTR_LEN(new_value) == 0) { - MBSTRG(http_output_set) = 0; - _php_mb_ini_mbstring_http_output_set(php_get_output_encoding()); - return SUCCESS; - } - - MBSTRG(http_output_set) = 1; - return _php_mb_ini_mbstring_http_output_set(ZSTR_VAL(new_value)); -} -/* }}} */ - /* {{{ static _php_mb_ini_mbstring_internal_encoding_set */ static int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, size_t new_value_length) { @@ -911,7 +893,6 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes) PHP_INI_BEGIN() PHP_INI_ENTRY("mbstring.language", "neutral", PHP_INI_ALL, OnUpdate_mbstring_language) PHP_INI_ENTRY("mbstring.detect_order", NULL, PHP_INI_ALL, OnUpdate_mbstring_detect_order) - PHP_INI_ENTRY("mbstring.http_output", NULL, PHP_INI_ALL, OnUpdate_mbstring_http_output) STD_PHP_INI_ENTRY("mbstring.internal_encoding", NULL, PHP_INI_ALL, OnUpdate_mbstring_internal_encoding, internal_encoding_name, zend_mbstring_globals, mbstring_globals) PHP_INI_ENTRY("mbstring.substitute_character", NULL, PHP_INI_ALL, OnUpdate_mbstring_substitute_character) diff --git a/ext/mbstring/tests/ini_encoding.phpt b/ext/mbstring/tests/ini_encoding.phpt index 97305eae67f1b..7556b988e0ab2 100644 --- a/ext/mbstring/tests/ini_encoding.phpt +++ b/ext/mbstring/tests/ini_encoding.phpt @@ -9,7 +9,6 @@ internal_encoding= input_encoding= output_encoding= mbstring.internal_encoding=Shift_JIS -mbstring.http_output=Shift_JIS --FILE-- --EXPECT-- Getting INI @@ -48,14 +44,12 @@ string(0) "" string(0) "" string(9) "Shift_JIS" string(4) "SJIS" -string(9) "Shift_JIS" Setting INI string(9) "Shift_JIS" string(0) "" string(0) "" string(0) "" string(9) "Shift_JIS" -string(9) "Shift_JIS" Getting INI string(5) "UTF-8" string(5) "UTF-8" @@ -63,4 +57,3 @@ string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_encoding2.phpt b/ext/mbstring/tests/ini_encoding2.phpt index e7c5ac0e0c7c3..ac21bc2fd4e40 100644 --- a/ext/mbstring/tests/ini_encoding2.phpt +++ b/ext/mbstring/tests/ini_encoding2.phpt @@ -9,7 +9,6 @@ internal_encoding=EUC-JP input_encoding= output_encoding= mbstring.internal_encoding= -mbstring.http_output= --FILE-- --EXPECT-- Getting INI @@ -48,14 +44,12 @@ string(0) "" string(0) "" string(0) "" string(6) "EUC-JP" -string(0) "" Setting INI string(0) "" string(6) "EUC-JP" string(0) "" string(0) "" string(0) "" -string(0) "" Getting INI string(5) "UTF-8" string(5) "UTF-8" @@ -63,4 +57,3 @@ string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_mbstring_invalid.phpt b/ext/mbstring/tests/ini_mbstring_invalid.phpt index adcc97ff48edb..3dd89c06dd6fb 100644 --- a/ext/mbstring/tests/ini_mbstring_invalid.phpt +++ b/ext/mbstring/tests/ini_mbstring_invalid.phpt @@ -6,7 +6,6 @@ mbstring mbstring.language=UNKNOWN_LANGUAGE mbstring.internal_encoding=UNKNOWN_ENCODING mbstring.detect_order=UTF-8,DETECT_ORDER,ASCII -mbstring.http_output=HTTP_OUTPUT mbstring.http_output_conv_mimetypes=UNKNOWN_MIME_TYPE_OUTPUT mbstring.substitute_character=U+3000,NON_EXISTING_CHARACTER,JIS+7E7E mbstring.encoding_translation=BOOL_TRANSLATION @@ -18,8 +17,6 @@ mbstring.strict_detection=BOOL_STRICT_DETECTION --EXPECT-- Warning: PHP Startup: INI setting contains invalid encoding "DETECT_ORDER" in Unknown on line 0 -Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0 - Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 Warning: PHP Startup: Unknown encoding "UNKNOWN_ENCODING" in ini setting in Unknown on line 0 diff --git a/ext/mbstring/tests/mb_get_info.phpt b/ext/mbstring/tests/mb_get_info.phpt index b2af5c1d17af6..ce4bd1d67fb03 100644 --- a/ext/mbstring/tests/mb_get_info.phpt +++ b/ext/mbstring/tests/mb_get_info.phpt @@ -6,7 +6,6 @@ mbstring mbstring.encoding_translation=1 mbstring.language=Korean mbstring.internal_encoding=UTF-8 -mbstring.http_output=ISO-8859-15 mbstring.http_output_conv_mimetypes=abc mbstring.detect_order=UTF-8,ISO-8859-15,ISO-8859-1,ASCII mbstring.substitute_character=123 @@ -22,8 +21,6 @@ foreach (array_keys($result) as $key) { } ?> --EXPECT-- -Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0 - Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 array(13) { ["internal_encoding"]=> @@ -31,7 +28,7 @@ array(13) { ["http_input"]=> string(5) "UTF-8" ["http_output"]=> - string(11) "ISO-8859-15" + string(5) "UTF-8" ["http_output_conv_mimetypes"]=> string(3) "abc" ["mail_charset"]=> @@ -66,8 +63,8 @@ string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(11) "ISO-8859-15" -string(11) "ISO-8859-15" +string(5) "UTF-8" +string(5) "UTF-8" string(3) "abc" string(3) "abc" string(11) "ISO-2022-KR" diff --git a/ext/mbstring/tests/mb_internal_encoding_basic2.phpt b/ext/mbstring/tests/mb_internal_encoding_basic2.phpt index b9c1232f107a9..f49dff9f232d3 100644 --- a/ext/mbstring/tests/mb_internal_encoding_basic2.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_basic2.phpt @@ -19,7 +19,6 @@ var_dump(ini_get('default_charset')); var_dump(ini_get('input_encoding')); var_dump(ini_get('output_encoding')); var_dump(ini_get('internal_encoding')); -var_dump(ini_get('mbstring.http_output')); var_dump(ini_get('mbstring.internal_encoding')); var_dump(mb_internal_encoding()); //default internal encoding @@ -35,7 +34,6 @@ string(10) "ISO-8859-1" string(10) "ISO-8859-1" string(10) "ISO-8859-1" string(0) "" -string(0) "" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" diff --git a/php.ini-development b/php.ini-development index 74b3bda5a74ff..656fbc43ff4d9 100644 --- a/php.ini-development +++ b/php.ini-development @@ -1648,16 +1648,6 @@ zend.assertions = 1 ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding ;mbstring.internal_encoding = -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; https://php.net/mbstring.http-output -;mbstring.http_output = - ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. diff --git a/php.ini-production b/php.ini-production index c313ac6683c24..c3c39af16749d 100644 --- a/php.ini-production +++ b/php.ini-production @@ -1650,16 +1650,6 @@ zend.assertions = -1 ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding ;mbstring.internal_encoding = -; Use of this INI entry is deprecated, use global output_encoding instead. -; http output encoding. -; mb_output_handler must be registered as output buffer to function. -; If empty, default_charset or output_encoding or mbstring.http_output is used. -; The precedence is: default_charset < output_encoding < mbstring.http_output -; To use an output encoding conversion, mbstring's output handler must be set -; otherwise output encoding conversion cannot be performed. -; https://php.net/mbstring.http-output -;mbstring.http_output = - ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. From e1441233e8650186163025fd0f894f78f1ee2e38 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 15 Oct 2023 19:11:52 +0200 Subject: [PATCH 3/3] Remove deprecated INI setting mbstring.internal_encoding --- NEWS | 4 +-- ext/mbstring/mbstring.c | 23 -------------- ext/mbstring/mbstring.h | 1 - ext/mbstring/tests/bug48697.phpt | 4 +-- ext/mbstring/tests/ini_encoding.phpt | 7 ----- ext/mbstring/tests/ini_encoding2.phpt | 7 ----- ext/mbstring/tests/ini_mbstring_invalid.phpt | 5 ---- ext/mbstring/tests/internal_encoding.phpt | 30 ------------------- ext/mbstring/tests/mb_get_info.phpt | 2 -- .../tests/mb_internal_encoding_basic2.phpt | 2 -- .../mb_internal_encoding_ini_basic2.phpt | 25 ---------------- ...nternal_encoding_ini_invalid_encoding.phpt | 27 ----------------- .../tests/strings/htmlentities25.phpt | 2 -- php.ini-development | 14 ++------- php.ini-production | 14 ++------- 15 files changed, 9 insertions(+), 158 deletions(-) delete mode 100644 ext/mbstring/tests/mb_internal_encoding_ini_basic2.phpt delete mode 100644 ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt diff --git a/NEWS b/NEWS index 63b30f418b007..be1ba9340e5a0 100644 --- a/NEWS +++ b/NEWS @@ -14,8 +14,8 @@ Intl: . Added IntlDateFormatter::PATTERN constant. (David Carlier) MBString: - . Long-deprecated INI settings mbstring.http_input and mbstring.http_output - have been removed. (Alex Dowad) + . Long-deprecated INI settings mbstring.http_input, mbstring.http_output, + and mbstring.internal_encoding have been removed. (Alex Dowad) Opcache: . Added large shared segments support for FreeBSD. (David Carlier) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index b3499e6e4bb9e..9a299daeb3bd3 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -778,28 +778,6 @@ static int _php_mb_ini_mbstring_internal_encoding_set(const char *new_value, siz } /* }}} */ -/* {{{ static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) */ -static PHP_INI_MH(OnUpdate_mbstring_internal_encoding) -{ - if (new_value) { - php_error_docref("ref.mbstring", E_DEPRECATED, "Use of mbstring.internal_encoding is deprecated"); - } - - if (OnUpdateString(entry, new_value, mh_arg1, mh_arg2, mh_arg3, stage) == FAILURE) { - return FAILURE; - } - - if (new_value && ZSTR_LEN(new_value)) { - MBSTRG(internal_encoding_set) = 1; - return _php_mb_ini_mbstring_internal_encoding_set(ZSTR_VAL(new_value), ZSTR_LEN(new_value)); - } else { - const char *encoding = php_get_internal_encoding(); - MBSTRG(internal_encoding_set) = 0; - return _php_mb_ini_mbstring_internal_encoding_set(encoding, strlen(encoding)); - } -} -/* }}} */ - /* {{{ static PHP_INI_MH(OnUpdate_mbstring_substitute_character) */ static PHP_INI_MH(OnUpdate_mbstring_substitute_character) { @@ -893,7 +871,6 @@ static PHP_INI_MH(OnUpdate_mbstring_http_output_conv_mimetypes) PHP_INI_BEGIN() PHP_INI_ENTRY("mbstring.language", "neutral", PHP_INI_ALL, OnUpdate_mbstring_language) PHP_INI_ENTRY("mbstring.detect_order", NULL, PHP_INI_ALL, OnUpdate_mbstring_detect_order) - STD_PHP_INI_ENTRY("mbstring.internal_encoding", NULL, PHP_INI_ALL, OnUpdate_mbstring_internal_encoding, internal_encoding_name, zend_mbstring_globals, mbstring_globals) PHP_INI_ENTRY("mbstring.substitute_character", NULL, PHP_INI_ALL, OnUpdate_mbstring_substitute_character) STD_PHP_INI_BOOLEAN("mbstring.encoding_translation", "0", diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 27641d96395b8..d7aedfb29b19d 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -70,7 +70,6 @@ MBSTRING_API bool php_mb_check_encoding(const char *input, size_t length, const MBSTRING_API const mbfl_encoding* mb_guess_encoding_for_strings(const unsigned char **strings, size_t *str_lengths, size_t n, const mbfl_encoding **elist, unsigned int elist_size, bool strict, bool order_significant); ZEND_BEGIN_MODULE_GLOBALS(mbstring) - char *internal_encoding_name; const mbfl_encoding *internal_encoding; const mbfl_encoding *current_internal_encoding; const mbfl_encoding *http_output_encoding; diff --git a/ext/mbstring/tests/bug48697.phpt b/ext/mbstring/tests/bug48697.phpt index 8218b95336fcb..c30bf66eba47f 100644 --- a/ext/mbstring/tests/bug48697.phpt +++ b/ext/mbstring/tests/bug48697.phpt @@ -4,7 +4,6 @@ Bug #48697 (mb_internal_encoding() value gets reset by parse_str() or mb_parse_s mbstring --FILE-- --EXPECTF-- -Deprecated: ini_set(): Use of mbstring.internal_encoding is deprecated in %s on line %d -string(11) "ISO-8859-15" +string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_encoding.phpt b/ext/mbstring/tests/ini_encoding.phpt index 7556b988e0ab2..9566471f69616 100644 --- a/ext/mbstring/tests/ini_encoding.phpt +++ b/ext/mbstring/tests/ini_encoding.phpt @@ -8,7 +8,6 @@ default_charset=Shift_JIS internal_encoding= input_encoding= output_encoding= -mbstring.internal_encoding=Shift_JIS --FILE-- --EXPECT-- @@ -42,18 +38,15 @@ string(9) "Shift_JIS" string(0) "" string(0) "" string(0) "" -string(9) "Shift_JIS" string(4) "SJIS" Setting INI string(9) "Shift_JIS" string(0) "" string(0) "" string(0) "" -string(9) "Shift_JIS" Getting INI string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_encoding2.phpt b/ext/mbstring/tests/ini_encoding2.phpt index ac21bc2fd4e40..65d64d18a1a38 100644 --- a/ext/mbstring/tests/ini_encoding2.phpt +++ b/ext/mbstring/tests/ini_encoding2.phpt @@ -8,7 +8,6 @@ default_charset= internal_encoding=EUC-JP input_encoding= output_encoding= -mbstring.internal_encoding= --FILE-- --EXPECT-- @@ -42,18 +38,15 @@ string(0) "" string(6) "EUC-JP" string(0) "" string(0) "" -string(0) "" string(6) "EUC-JP" Setting INI string(0) "" string(6) "EUC-JP" string(0) "" string(0) "" -string(0) "" Getting INI string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" string(5) "UTF-8" -string(5) "UTF-8" diff --git a/ext/mbstring/tests/ini_mbstring_invalid.phpt b/ext/mbstring/tests/ini_mbstring_invalid.phpt index 3dd89c06dd6fb..4b5ee08e51f26 100644 --- a/ext/mbstring/tests/ini_mbstring_invalid.phpt +++ b/ext/mbstring/tests/ini_mbstring_invalid.phpt @@ -4,7 +4,6 @@ Invalid values for MBString INI settings mbstring --INI-- mbstring.language=UNKNOWN_LANGUAGE -mbstring.internal_encoding=UNKNOWN_ENCODING mbstring.detect_order=UTF-8,DETECT_ORDER,ASCII mbstring.http_output_conv_mimetypes=UNKNOWN_MIME_TYPE_OUTPUT mbstring.substitute_character=U+3000,NON_EXISTING_CHARACTER,JIS+7E7E @@ -16,7 +15,3 @@ mbstring.strict_detection=BOOL_STRICT_DETECTION ?> --EXPECT-- Warning: PHP Startup: INI setting contains invalid encoding "DETECT_ORDER" in Unknown on line 0 - -Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 - -Warning: PHP Startup: Unknown encoding "UNKNOWN_ENCODING" in ini setting in Unknown on line 0 diff --git a/ext/mbstring/tests/internal_encoding.phpt b/ext/mbstring/tests/internal_encoding.phpt index 5ea7abab3a73c..8c7e89a7042d3 100644 --- a/ext/mbstring/tests/internal_encoding.phpt +++ b/ext/mbstring/tests/internal_encoding.phpt @@ -10,23 +10,11 @@ internal_encoding=iso-8859-1 var_dump(mb_internal_encoding()); var_dump(mb_strlen("\xc3\xb6")); -ini_set('mbstring.internal_encoding', 'utf-8'); - -var_dump(mb_internal_encoding()); -var_dump(mb_strlen("\xc3\xb6")); - -// mbstring.internal_encoding is set, this has no effect ini_set('internal_encoding', 'iso-8859-2'); var_dump(mb_internal_encoding()); var_dump(mb_strlen("\xc3\xb6")); -// mbstring.internal_encoding is unset, pick up internal_encoding again -ini_set('mbstring.internal_encoding', ''); - -var_dump(mb_internal_encoding()); -var_dump(mb_strlen("\xc3\xb6")); - mb_internal_encoding('utf-8'); var_dump(mb_internal_encoding()); @@ -38,31 +26,13 @@ ini_set('internal_encoding', 'iso-8859-3'); var_dump(mb_internal_encoding()); var_dump(mb_strlen("\xc3\xb6")); -// mbstring.internal_encoding is unset, pick up internal_encoding again -ini_set('mbstring.internal_encoding', ''); - -var_dump(mb_internal_encoding()); -var_dump(mb_strlen("\xc3\xb6")); - ?> --EXPECTF-- string(10) "ISO-8859-1" int(2) - -Deprecated: ini_set(): Use of mbstring.internal_encoding is deprecated in %s on line %d -string(5) "UTF-8" -int(1) -string(5) "UTF-8" -int(1) - -Deprecated: ini_set(): Use of mbstring.internal_encoding is deprecated in %s on line %d string(10) "ISO-8859-2" int(2) string(5) "UTF-8" int(1) string(5) "UTF-8" int(1) - -Deprecated: ini_set(): Use of mbstring.internal_encoding is deprecated in %s on line %d -string(10) "ISO-8859-3" -int(2) diff --git a/ext/mbstring/tests/mb_get_info.phpt b/ext/mbstring/tests/mb_get_info.phpt index ce4bd1d67fb03..b2d20f453a558 100644 --- a/ext/mbstring/tests/mb_get_info.phpt +++ b/ext/mbstring/tests/mb_get_info.phpt @@ -5,7 +5,6 @@ mbstring --INI-- mbstring.encoding_translation=1 mbstring.language=Korean -mbstring.internal_encoding=UTF-8 mbstring.http_output_conv_mimetypes=abc mbstring.detect_order=UTF-8,ISO-8859-15,ISO-8859-1,ASCII mbstring.substitute_character=123 @@ -21,7 +20,6 @@ foreach (array_keys($result) as $key) { } ?> --EXPECT-- -Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 array(13) { ["internal_encoding"]=> string(5) "UTF-8" diff --git a/ext/mbstring/tests/mb_internal_encoding_basic2.phpt b/ext/mbstring/tests/mb_internal_encoding_basic2.phpt index f49dff9f232d3..c2ec923a5272b 100644 --- a/ext/mbstring/tests/mb_internal_encoding_basic2.phpt +++ b/ext/mbstring/tests/mb_internal_encoding_basic2.phpt @@ -19,7 +19,6 @@ var_dump(ini_get('default_charset')); var_dump(ini_get('input_encoding')); var_dump(ini_get('output_encoding')); var_dump(ini_get('internal_encoding')); -var_dump(ini_get('mbstring.internal_encoding')); var_dump(mb_internal_encoding()); //default internal encoding var_dump(mb_internal_encoding('UTF-8')); //change internal encoding to UTF-8 @@ -33,7 +32,6 @@ string(0) "" string(10) "ISO-8859-1" string(10) "ISO-8859-1" string(10) "ISO-8859-1" -string(0) "" string(10) "ISO-8859-1" bool(true) string(5) "UTF-8" diff --git a/ext/mbstring/tests/mb_internal_encoding_ini_basic2.phpt b/ext/mbstring/tests/mb_internal_encoding_ini_basic2.phpt deleted file mode 100644 index aecee5e91c9fd..0000000000000 --- a/ext/mbstring/tests/mb_internal_encoding_ini_basic2.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -Test INI mbstring.internal_encoding basic - encoding when valid specified ---EXTENSIONS-- -mbstring ---INI-- -mbstring.internal_encoding=ISO-8859-7 ---FILE-- - ---EXPECT-- -Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 -*** Testing INI mbstring.internal_encoding : basic functionality *** -ISO-8859-7 -ISO-8859-7 -UTF-8 -ISO-8859-7 diff --git a/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt b/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt deleted file mode 100644 index 7670ffc6b9de4..0000000000000 --- a/ext/mbstring/tests/mb_internal_encoding_ini_invalid_encoding.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -Test INI mbstring.internal_encoding basic - invalid encoding specified in INI ---EXTENSIONS-- -mbstring ---INI-- -mbstring.internal_encoding=BAD ---FILE-- - ---EXPECT-- -Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 - -Warning: PHP Startup: Unknown encoding "BAD" in ini setting in Unknown on line 0 -*** Testing INI mbstring.internal_encoding: invalid encoding specified in INI *** -UTF-8 -BAD -UTF-8 -BAD diff --git a/ext/standard/tests/strings/htmlentities25.phpt b/ext/standard/tests/strings/htmlentities25.phpt index 50760cfb3eece..a9d225949b814 100644 --- a/ext/standard/tests/strings/htmlentities25.phpt +++ b/ext/standard/tests/strings/htmlentities25.phpt @@ -3,7 +3,6 @@ htmlentities() should not be influenced by mb_internal_encoding() --INI-- default_charset= internal_encoding= -mbstring.internal_encoding=ISO-8859-1 --EXTENSIONS-- mbstring --FILE-- @@ -13,5 +12,4 @@ var_dump(htmlentities('äöü')); ?> --EXPECT-- -Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0 string(18) "äöü" diff --git a/php.ini-development b/php.ini-development index 656fbc43ff4d9..5a5ab65d2a8c8 100644 --- a/php.ini-development +++ b/php.ini-development @@ -1641,15 +1641,7 @@ zend.assertions = 1 ; https://php.net/mbstring.language ;mbstring.language = Japanese -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are +; enable automatic encoding translation. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. @@ -1692,8 +1684,8 @@ zend.assertions = 1 [exif] ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. ; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and +; given by corresponding encode setting. +; For the decode settings you can distinguish between motorola and ; intel byte order. A decode setting cannot be empty. ; https://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15 diff --git a/php.ini-production b/php.ini-production index c3c39af16749d..d9d5e33490b8b 100644 --- a/php.ini-production +++ b/php.ini-production @@ -1643,15 +1643,7 @@ zend.assertions = -1 ; https://php.net/mbstring.language ;mbstring.language = Japanese -; Use of this INI entry is deprecated, use global internal_encoding instead. -; internal/script encoding. -; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) -; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. -; The precedence is: default_charset < internal_encoding < iconv.internal_encoding -;mbstring.internal_encoding = - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are +; enable automatic encoding translation. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. @@ -1694,8 +1686,8 @@ zend.assertions = -1 [exif] ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. ; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and +; given by corresponding encode setting. +; For the decode settings you can distinguish between motorola and ; intel byte order. A decode setting cannot be empty. ; https://php.net/exif.encode-unicode ;exif.encode_unicode = ISO-8859-15