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

时间:2017-12-15 21:33:38

标签: syntax-error mamp php-7 php-5.6

我刚刚将我的开发服务器更新为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上找到了。

1 个答案:

答案 0 :(得分:0)

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