Re: Zend Multibyte support
| From: | Yasuo Ohgaki | Date: | Thu, 03 Nov 2011 08:12:47 +0000 |
| Subject: | Re: Zend Multibyte support | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-56019@lists.php.net to get a copy of this message | ||
Hi Dimity & Rui,
I was trying to see if PHP 5.4 and trunk was also affected by this bug report.
--with-zend-multibyte and --enable-debug reports LEAK with run-test.php
https://bugs.php.net/bug.php?id=60194
So I configured as "./configure --enable-debug"
Sorry for being a lazy reader. I could turn on zend.multibyte with
"--enable-mbstring".
Now I see PHP 5.3 doesn't have dependency to mbstring, but PHP 5.4+ has.
I haven't read the last sentence.Thanks.
It looks like php-src-5.4 doesn't has leaks as PHP 5.3 does.
(I haven't completed the test, since it seems zend.multibyte is NOT working)
$ TEST_PHP_EXECUTABLE=./sapi/cli/php ./run-tests.php -m -c ./php.ini
=====================================================================
PHP : ./sapi/cli/php
PHP_SAPI : cli
PHP_VERSION : 5.4.0RC1-dev
ZEND_VERSION: 2.4.0
PHP_OS : Linux - Linux dev.inter.es-i.jp 2.6.35.14-2m.mo7.x86_64
#1 SMP Mon Sep 12 11:09:50 JST 2011 x86_64
INI actual : /home/yohgaki/ext/svn/oss/php.net/php-src-5.4/php.ini
More .INIs :
CWD : /home/yohgaki/ext/svn/oss/php.net/php-src-5.4
Extra dirs :
VALGRIND : valgrind-3.6.1
=====================================================================
TIME START 2011-11-03 16:36:57
=====================================================================
PASS EXPECT [tests/run-test/test001.phpt]
PASS EXPECTF [tests/run-test/test002.phpt]
PASS EXPECTREGEX [tests/run-test/test003.phpt]
.....
However, I got the same parse error, as Rui mentioned, with SJIS source script.
sjis.php
----
<?php
echo '表';
----
(You cannot copy&paste, since this would be UTF-8. If you need
file, let me know. I'll directly mail you.)
表 is valid SJIS char code and has \ as second byte.
Since PHP complains with parse error, it seems zend.multibyte is not working on
PHP 5.4.
$ ./sapi/cli/php -i | grep multibyte
zend.multibyte => On => On
$ ./sapi/cli/php /usr/local/apache2.0/htdocs/sjis.php
PHP Parse error: syntax error, unexpected ''�\';'
(T_ENCAPSED_AND_WHITESPACE) in /usr/local/apache2.0/htdocs/sjis.php on
line 2
It seems like working with zend.multibyte=Off.
Regards,
--
Yasuo Ohgaki
yohgaki@ohgaki.net
On Thu, Nov 3, 2011 at 4:09 PM, Dmitry Stogov <dmitry@zend.com> wrote:
> Hi Yasuo,
>
> how did you see that "Zend Multibyte Support" weren't enabled?
>
> $ sapi/cli/php -d zend.multibyte=1 -i | grep -i multibyte
>
> Zend Multibyte Support => provided by mbstring
> zend.multibyte => On => On ******
> Multibyte Support => enabled
> Multibyte string engine => libmbfl
> Multibyte (japanese) regex support => enabled
> Multibyte regex (oniguruma) backtrack check => On
> Multibyte regex (oniguruma) version => 4.7.1
>
> Thanks. Dmitry.
>
>
> On 11/03/2011 04:32 AM, Yasuo Ohgaki wrote:
>>
>> Hi all,
>>
>> I noticed that "Zend Multibyte Support" won't be on with
>>
>> ./sapi/cli/php -d zend.multibyte=1
>> nor
>> zend.multibyte=on (in php.ini)
>>
>> This happens both php-src and php-src-5.4.
>>
>> According to php.ini-production from php-src:
>> ; If enabled, scripts may be written in encodings that are incompatible
>> with
>> ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
>> ; encodings. To use this feature, mbstring extension must be enabled.
>> ; Default: Off
>> ;zend.multibyte = Off
>>
>> I thought it became runtime option.
>> Is this a bug or am I missing something?
>>
>> --
>> Yasuo Ohgaki
>> yohgaki@ohgaki.net
>>
>
>