为什么& lt; ?PHP标签正在关闭$user ->


why <?php tag is closing on $user ->

在标题中,在我的html5文档中,php脚本结束得太早,由于误读->作为结束标签。我不知道为什么?我用的是adobedreamweaver。

<?php
define('IN_PHPBB', true);
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user -> session_begin();
$auth -> acl($user = data);
$user -> setup();
?>

它不只是突出显示错误,删除空格没有区别。将session_begin()更改为session_start()仍然没有。我可以看到

session_start(); $auth->acl($user = data); $user->setup(); ?> 

在我的网站。

问题是,我的文件是一个。html文件;>感谢回复

简而言之:它不是。PHP终止于?>(或%>,如果你使用asp样式标签)。

长版本:浏览一下你的文档,试着在周围放置各种echo语句,以确保你在你认为的地方退出。如果可以的话,使用纯文本查看器编辑文件,以确保编辑器没有对您隐藏任何内容。

确保您的include执行正确。如果无法找到该文件,或者该文件没有创建user对象,则下一行将失败,PHP将终止。

对,是空格:

//replace
$user -> session_begin();
//with
$user->session_begin();

->为空格的所有其他位置