#22331 [Ana]: mbstring configuration variables are marked PHP_INI_ALL, but this is false.
| From: | hirokawa@php.net | Date: | Fri, 21 Mar 2003 01:13:42 +0000 |
| Subject: | #22331 [Ana]: mbstring configuration variables are marked PHP_INI_ALL, but this is false. | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969352280@lists.php.net to get a copy of this message | ||
ID: 22331
Updated by: hirokawa@php.net
Reported By: vigna at dsi dot unimi dot it
Status: Analyzed
Bug Type: Documentation problem
Operating System: Linux
-PHP Version: 4.2.2
+PHP Version: 4.3.0
Assigned To: hirokawa
New Comment:
On my linux box with php-4.3.1, the abobe small script works fine.
Please check it again with php-4.3.1.
<?php
print mb_http_output()."\n";
print ini_set("mbstring.http_output", "EUC-JP") === false ? "FALSE"
:
"TRUE";
print "\n".mb_http_output()."\n";
// it returns:
// SJIS
// TRUE
// EUC-JP
?>
Previous Comments:
------------------------------------------------------------------------
[2003-03-02 11:05:46] vigna at dsi dot unimi dot it
For func_overload you are right--I misread.
For what matters your example: you're right too. The problem is that I
was checking using what's written in the docs, i.e., that ini_set()
would return false on failure:
php -q
<?php
print mb_http_output()."\n";
print ini_set("mbstring.http_output", "EUC-JP") === false;
print "\n".mb_http_output()."\n";
?>
pass
1
EUC-JP
BTW, this is really with PHP 4.2.2.
So either the first or the second statement are returning the wrong
value.
------------------------------------------------------------------------
[2003-03-01 01:25:39] hirokawa@php.net
I can not get the result with you.
I can change mbstring.http_output (and some others) in a script.
This is a sample script,
<?php
print mb_http_output()."\n"; // default output encoding.
mb_http_output("EUC-JP"); // set new encoding.
// or ini_set("mbstring.http_output","EUC-JP");
print mb_http_output()."\n"; // output: "EUC-JP".
?>
And, mbstring.func_overload is defined as PHP_INI_SYSTEM
in the php manual, and is not defined as PHP_INI_ALL.
------------------------------------------------------------------------
[2003-02-28 04:54:16] moriyoshi@php.net
Assigning this task to Rui Hirokawa for fear it'd be forgotten. (Rui,
feel free to reassign to me if you think it better)
------------------------------------------------------------------------
[2003-02-20 07:22:07] vigna at dsi dot unimi dot it
Sorry: apparently they cannot even be modified in .htaccess--that was a
mistake.
------------------------------------------------------------------------
[2003-02-20 07:17:34] vigna at dsi dot unimi dot it
The documentation states that the
mbstring.func_overload
mbstring.internal_encoding
mbstring.http_input
mbstring.http_output
mbstring.substitute_character
are PHP_INI_ALL. This is completely false--it is impossible to set them
in a script (except maybe for internal_encoding, but the effect is not
completely clear if you already have strings floating around).
Apparently, all of them can be set using .htaccess except for
func_overload, which must be set in php.ini.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22331&edit=1