【问题标题】:why does this code cause error on PHP 7.0 but not 5.6为什么此代码在 PHP 7.0 上导致错误,但在 5.6 上却没有
【发布时间】:2018-05-30 02:58:37
【问题描述】:

我刚刚将我的开发服务器更新到 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 行是第一行 "&lt;?= \$_SESSION['PAGE']['name']; ?&gt;", 在我的开发服务器上,但此代码在 MAMP 上的 PHP 7 和开发服务器上的 PHP 5.6 上有效。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      相关资源
      最近更新 更多