Skip to content

Remove long-deprecated mbstring INI settings #12445

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove deprecated INI setting mbstring.http_output
  • Loading branch information
alexdowad committed Oct 15, 2023
commit c4b706459c1e328dbdb88ad2dafc63a81bd03398
3 changes: 2 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
19 changes: 0 additions & 19 deletions ext/mbstring/mbstring.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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)

Expand Down
7 changes: 0 additions & 7 deletions ext/mbstring/tests/ini_encoding.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ internal_encoding=
input_encoding=
output_encoding=
mbstring.internal_encoding=Shift_JIS
mbstring.http_output=Shift_JIS
--FILE--
<?php
echo "Getting INI\n";
Expand All @@ -20,15 +19,13 @@ var_dump(ini_get('output_encoding'));

var_dump(ini_get('mbstring.internal_encoding'));
var_dump(mb_internal_encoding());
var_dump(ini_get('mbstring.http_output'));

echo "Setting INI\n";
var_dump(ini_set('default_charset', 'UTF-8'));
var_dump(ini_set('internal_encoding', 'UTF-8'));
var_dump(ini_set('input_encoding', 'UTF-8'));
var_dump(ini_set('output_encoding', 'UTF-8'));
var_dump(ini_set('mbstring.internal_encoding', 'UTF-8'));
var_dump(ini_set('mbstring.http_output', 'UTF-8'));

echo "Getting INI\n";
var_dump(ini_get('default_charset'));
Expand All @@ -38,7 +35,6 @@ var_dump(ini_get('output_encoding'));

var_dump(ini_get('mbstring.internal_encoding'));
var_dump(mb_internal_encoding());
var_dump(ini_get('mbstring.http_output'));
?>
--EXPECT--
Getting INI
Expand All @@ -48,19 +44,16 @@ 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"
string(5) "UTF-8"
string(5) "UTF-8"
string(5) "UTF-8"
string(5) "UTF-8"
string(5) "UTF-8"
7 changes: 0 additions & 7 deletions ext/mbstring/tests/ini_encoding2.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ internal_encoding=EUC-JP
input_encoding=
output_encoding=
mbstring.internal_encoding=
mbstring.http_output=
--FILE--
<?php
echo "Getting INI\n";
Expand All @@ -20,15 +19,13 @@ var_dump(ini_get('output_encoding'));

var_dump(ini_get('mbstring.internal_encoding'));
var_dump(mb_internal_encoding());
var_dump(ini_get('mbstring.http_output'));

echo "Setting INI\n";
var_dump(ini_set('default_charset', 'UTF-8'));
var_dump(ini_set('internal_encoding', 'UTF-8'));
var_dump(ini_set('input_encoding', 'UTF-8'));
var_dump(ini_set('output_encoding', 'UTF-8'));
var_dump(ini_set('mbstring.internal_encoding', 'UTF-8'));
var_dump(ini_set('mbstring.http_output', 'UTF-8'));

echo "Getting INI\n";
var_dump(ini_get('default_charset'));
Expand All @@ -38,7 +35,6 @@ var_dump(ini_get('output_encoding'));

var_dump(ini_get('mbstring.internal_encoding'));
var_dump(mb_internal_encoding());
var_dump(ini_get('mbstring.http_output'));
?>
--EXPECT--
Getting INI
Expand All @@ -48,19 +44,16 @@ 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"
string(5) "UTF-8"
string(5) "UTF-8"
string(5) "UTF-8"
string(5) "UTF-8"
string(5) "UTF-8"
3 changes: 0 additions & 3 deletions ext/mbstring/tests/ini_mbstring_invalid.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
9 changes: 3 additions & 6 deletions ext/mbstring/tests/mb_get_info.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -22,16 +21,14 @@ 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"]=>
string(5) "UTF-8"
["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"]=>
Expand Down Expand Up @@ -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"
Expand Down
2 changes: 0 additions & 2 deletions ext/mbstring/tests/mb_internal_encoding_basic2.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"
Expand Down
10 changes: 0 additions & 10 deletions php.ini-development
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
10 changes: 0 additions & 10 deletions php.ini-production
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down