#34782 [Opn]: token_get_all gives wrong result

From: Date: Sat, 08 Oct 2005 06:06:09 +0000
Subject: #34782 [Opn]: token_get_all gives wrong result
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-86235@lists.php.net to get a copy of this message
ID: 34782 User updated by: linus at mccabe dot nu Reported By: linus at mccabe dot nu Status: Open Bug Type: Scripting Engine problem Operating System: * PHP Version: 5.0.5 New Comment: I should also add that this is not reproducable with cli version of php (probably because it's always a new process?). Only with apache module have I seen this behaviour and once it get's into 'error mode' it usually stays that way. /Linus Previous Comments: ------------------------------------------------------------------------ [2005-10-08 08:03:04] linus at mccabe dot nu I tried with php5-win32-latest: Apache/2.0.52 (Win32) PHP/5.1.0RC2-dev Same behaviour... ------------------------------------------------------------------------ [2005-10-07 21:56:48] sniper@php.net Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-10-07 18:06:53] linus at mccabe dot nu Description: ------------ This is bug 29761, I'd like to see it reopened. (it might also be 33093, not sure) Create the two php files in 'reproduce code'. Point your browser to 'test.php'. First time you should get the expected result, second the actual result. If you have many apache threads, you might need to refresh a few times until the error occurs. I've tested and reproduced this on: * Windows XP: Apache/2.0.52 (Win32) PHP/5.0.5 * Linux: Apache/1.3.33 (Debian GNU/Linux) PHP/4.3.10-15 (yes, error.php is supposed to have a parser error) thanks for your time /Linus Reproduce code: --------------- error.php: <?php print('abc' ; ?> test.php: <?php header('Content-Type: text/plain'); $first = token_get_all('<?php $a=$b;'); print_r($first); require('error.php'); ?> Expected result: ---------------- Array ( [0] => Array ( [0] => 366 [1] => <?php ) [1] => Array ( [0] => 309 [1] => $a ) [2] => = [3] => Array ( [0] => 309 [1] => $b ) [4] => ; ) <br /> <b>Parse error</b>: parse error, unexpected ';' in <b>C:\Program Files\Apache Group\Apache2\htdocs\error.php</b> on line <b>4</b><br /> Actual result: -------------- Array ( [0] => < [1] => ? [2] => Array ( [0] => 307 [1] => php ) [3] => Array ( [0] => 369 [1] => ) [4] => Array ( [0] => 309 [1] => $a ) [5] => = [6] => Array ( [0] => 309 [1] => $b ) [7] => ; ) <br /> <b>Parse error</b>: parse error, unexpected ';' in <b>C:\Program Files\Apache Group\Apache2\htdocs\error.php</b> on line <b>4</b><br /> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=34782&edit=1

« previous php.bugs (#86235) next »