Open TysonAndre opened 7 years ago
Looking at similar projects, nikic/php-parser also uses token_get_all - in that issue, a user wanted to enable short_open_tags to parse a project using short open tags https://github.com/nikic/PHP-Parser/issues/290
I'm considered proposing an RFC adding new flags such as TOKEN_ENABLE_SHORT_OPEN_TAG/TOKEN_DISABLE_SHORT_OPEN_TAG for token_get_all as a php ast - it seems doable to temporarily override it (move from CG(short_tags) to a new setting SCNG(short_tags) in Zend/zend_language_scanner.l)
<?php
in migration scriptsmemory_limit
) during a call to token_get_all()
This seems to be related to the options used to build PHP See https://secure.php.net/manual/en/ini.core.php#ini.short-open-tag and https://secure.php.net/manual/en/language.basic-syntax.phptags.php
This also causes two test failures in programStructure21.php.tree and programStructure13.php.tree, and causes that test to save a different
.tree
to disk (Which may then get accidentally be configured)ini_get('short_open_tag') === 1
. This was seen in my PHP build from source, which used travis/compile.sh (ini_get() returned that even when started with--no-php-ini
, but didn't when-d short_open_tag=0
was provided)Impact:
<?
, not<?=
)Possible Remediations:
<?
(Might do the wrong thing for non-PHP)short_open_tag
is disabled via ini setting (checkable via ini_get()) (Or optionally restart binary under the hood)