Re: Zend Multibyte support

From: 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 >> > >

« previous php.internals (#56019) next »