Req #44889 [Opn->Csd]: T_OPEN_TAG doesn't match <?php without any trailing characters

From: Date: Mon, 23 Feb 2015 09:58:13 +0000
Subject: Req #44889 [Opn->Csd]: T_OPEN_TAG doesn't match <?php without any trailing characters
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-190905@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=44889&edit=1

 ID:                 44889
 Updated by:         jpauli@php.net
 Reported by:        mikec at resnet dot net dot nz
 Summary:            T_OPEN_TAG doesn't match <?php without any trailing
                     characters
-Status:             Open
+Status:             Closed
 Type:               Feature/Change Request
-Package:            Feature/Change Request
+Package:            *General Issues
 Operating System:   *
 PHP Version:        5.3CVS-2008-05-02 (snap)
-Assigned To:        
+Assigned To:        jpauli
 Block user comment: N
 Private report:     N

 New Comment:

Thank you for your bug report. This issue has already been fixed
in the latest released version of PHP, which you can download at 
http://www.php.net/downloads.php

This can't be reproduced on latest 5.5 nor 5.6.
closing


Previous Comments:
------------------------------------------------------------------------
[2015-01-09 01:16:32] ajf@php.net

Can't reproduce for PHP 5.6:

$ php
<?php
var_dump(ini_get('short_open_tag'));
print_r(token_get_all('<?php'));
print_r(token_get_all('<?'));
string(0) ""
Array
(
    [0] => Array
        (
            [0] => 314
            [1] => <?php
            [2] => 1
        )

)
Array
(
    [0] => Array
        (
            [0] => 314
            [1] => <?
            [2] => 1
        )

)

oa-res-26-240:~ ajf$ php -v
PHP 5.6.3 (cli) (built: Nov 18 2014 15:15:01) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies

------------------------------------------------------------------------
[2010-09-02 06:44:50] daniel at danielnorton dot com

The descriptions of the behavior is different from what I see. With 
'short_open_tag' set to 'On', I get this error:

PHP Parse error:  parse error in min.php on line 1

I get the same behavior when 'short_open_tag' is set to 'Off'.

PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies

------------------------------------------------------------------------
[2008-05-02 07:29:57] mikec at resnet dot net dot nz

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

------------------------------------------------------------------------
[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 https://bugs.php.net/bug.php?id=44889&edit=1


Thread (5 messages)

« previous php.bugs (#190905) next »