Re: Zend Multibyte support

From: Date: Thu, 03 Nov 2011 09:16:35 +0000
Subject: Re: Zend Multibyte support
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-56020@lists.php.net to get a copy of this message
I suppose PHP can't autodetect SJIS encoding and needs a hint for 5.4 $ php -d zend.multibyte=1 -d zend.script_encoding=SJIS sjis.php 5.3 must be compiled with --enable-zend-multibyte, then $ php -d mbstring.script_encoding=SJIS for 5.3 (I've just tested 5.4 but not 5.3. Just don't have 5.3 compiled with --enable-zend-multibyte). Thanks. Dmitry. On 11/03/2011 12:12 PM, Yasuo Ohgaki wrote:
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 (#56020) next »