为什么这段代码会导致PHP 7.0错误而不是5.6

问题描述 投票:0回答:1

我刚刚将我的开发服务器更新为PHP 7,我收到的错误是我没有使用PHP 7获取MAMP。这是代码:

$GLOBALS['PLACEHOLDERS'] = array(
                        "search"=>
                            array(
                                "%PAGE.NAME%", 
                                "%PAGE.TITLE%", 
                                "%PAGE.DESCRIPTION%",
                                "%PAGE.REFERENCE%", 
                                "%PAGE.ADMINTOOLBAR%",
                                "%PAGE.ADMININCLUDES%",
                                "%ROOT%"
                            ),
                        "replace"=>
                            array(
                                "<?= \$_SESSION['PAGE']['name']; ?>",
                                "<?= \$_SESSION['PAGE']['name']; ?>",
                                "<?= \$_SESSION['PAGE']['description']; ?>",
                                "<?= str_replace(array('/', '.php'), array('_', ''), \$_SESSION['PAGE']['reference']); ?>",
                                "<? base_renderAdminToolbar(); ?>",
                                "<? base_renderAdminIncludes(); ?>",
                                "<?= ROOT; ?>"
                            )
                        );

我得到了一个

 PHP Parse error:  syntax error, unexpected '$_SESSION' (T_VARIABLE), expecting identifier (T_STRING) in /home/vjukebox/public_html/_engine/config.php on line 124

第124行是我的开发服务器上的第一个"<?= \$_SESSION['PAGE']['name']; ?>",行,但是这个代码在开发服务器上的MAMP和PHP 5.6上的PHP 7上找到了。

syntax-error mamp php-7 php-5.6
1个回答
0
投票

在php.ini中启用short_open_tags解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.