为什么此代码会在 PHP 7.0 而不是 5.6 上导致错误
why does this code cause error on PHP 7.0 but not 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 7 和开发服务器上的 PHP 5.6 上有效。
在 php.ini 中启用 short_open_tags 解决了问题。
我刚刚将我的开发服务器更新为 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 7 和开发服务器上的 PHP 5.6 上有效。
在 php.ini 中启用 short_open_tags 解决了问题。