#34782 [Opn->Fbk]: token_get_all gives wrong result
| From: | sniper@php.net | Date: | Fri, 07 Oct 2005 19:56:49 +0000 |
| Subject: | #34782 [Opn->Fbk]: token_get_all gives wrong result | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-86212@lists.php.net to get a copy of this message | ||
ID: 34782
Updated by: sniper@php.net
Reported By: linus at mccabe dot nu
-Status: Open
+Status: Feedback
Bug Type: Scripting Engine problem
-Operating System: Linux & Windows
+Operating System: *
PHP Version: 5.0.5
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[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