Bug #78604 [Com]: token_get_all() does not properly tokenize FOO<?php with short_open_tag=0
| From: | tandre@php.net | Date: | Sat, 28 Sep 2019 14:50:10 +0000 |
| Subject: | Bug #78604 [Com]: token_get_all() does not properly tokenize FOO<?php with short_open_tag=0 | ||
| References: | 1 | Groups: | php.bugs php.qa |
| Request: | Send a blank email to php-bugs+get-222935@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78604&edit=1
ID: 78604
Comment by: tandre@php.net
Reported by: tandre@php.net
Summary: token_get_all() does not properly tokenize FOO<?php
with short_open_tag=0
Status: Open
Type: Bug
Package: Testing related
PHP Version: 7.4.0RC2
Block user comment: N
Private report: N
New Comment:
Evaluation is also affected
» php --no-php-ini -d short_open_tag=0 -a
Interactive shell
php > eval('?>FOO<?php');
FOO<?php
Previous Comments:
------------------------------------------------------------------------
[2019-09-28 14:09:51] tandre@php.net
Description:
------------
Note that this happened for me when php was configured with short tags, both for the latest php 7.4
and 8.0 (e.g. this is what travis/compile.sh would do)
ext/tokenizer/tests/php_tag_only.phpt would fail if php.ini had short_open_tags=0
tested with php 7.4 NTS, ZTS, and php 8.0 NTS (compiled within the last month)
Test script:
---------------
» php --no-php-ini -d short_open_tag=0 -a
Interactive shell
php > var_export(token_get_all('FOO<?php'));
array (
0 =>
array (
0 => 313,
1 => 'FOO<?php',
2 => 1,
),
)
php > echo PHP_VERSION;
7.4.0-dev
Expected result:
----------------
Outputs two tokens, one for FOO, and one for <?php
Actual result:
--------------
Outputs a single token with FOO<?php
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78604&edit=1