ID: 44889
User updated by: mikec at resnet dot net dot nz
Reported By: mikec at resnet dot net dot nz
Status: Open
Bug Type: Scripting Engine problem
Operating System: Linux and Win32
PHP Version: 5.3CVS-2008-05-02 (snap)
New Comment:
First Seen On:
PHP Version 5.2.5 on Fedora Core 6
Reproduced on (and actual/expected results from):
PHP 5.3.0-dev (cli) (built: May 2 2008 00:17:56)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies
From snaps: php5.3-win32-200805020430.zip
Running on Windows Vista 32bit
Previous Comments:
------------------------------------------------------------------------
[2008-05-02 07:18:30] mikec at resnet dot net dot nz
Description:
------------
First noticed when including a file containing only "<?php", without a
trailing new line character. I expected this would output nothing, but
instead it outputted "<?php" to the browser.
This only occurs with 'short_open_tag' set to 'off', when set to 'on'
including the same file outputs nothing, as expected.
The tokenizer expects a character after the long open tag, I suggest
that this be extended to check for the end of the input too.
Reproduce code:
---------------
var_dump(ini_get('short_open_tag'));
print_r(token_get_all('<?php'));
print_r(token_get_all('<?'));
Expected result:
----------------
string(0) ""
Array
(
[0] => Array
(
[0] => 368
[1] => <?php
[2] => 1
)
)
Array
(
[0] => Array
(
[0] => 311
[1] => <?
[2] => 1
)
)
Actual result:
--------------
string(0) ""
Array
(
[0] => Array
(
[0] => 311
[1] => <?
[2] => 1
)
[1] => Array
(
[0] => 311
[1] => php
[2] => 1
)
)
Array
(
[0] => Array
(
[0] => 311
[1] => <?
[2] => 1
)
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=44889&edit=1