我有一个在物理机上运行的 LAMP(Ubuntu) 服务器。我的目标是在服务器上托管一个网站。现在,我的所有文件都位于/var/www/html 目录中,并且在某些 HTML 文件中,我运行 PHP 脚本来检查用户是否已登录,如下所示:
<div class="collapse navbar-collapse" id = "navCollapse">
<ul class="nav navbar-nav navbar-right">
<li class="active link-nav"><a href="/">Home</a></li>
<li class="link-nav"><a href="/pages/categories/">Categories</a></li>
<li class="link-nav"><a href="/pages/about/">About</a></li>
<!-- This part -->
<?php
if($_SESSION['loggedin'] != 1){
echo '<li class="link-nav">
<a href="#login" data-toggle="modal"> Log In</a>
</li>
<li class="link-nav">
<a href="#register" data-toggle="modal"> Register</a>
</li>';
}else{
echo "<li class = 'link-nav'><a href="logout.php"> Log Out </a>";
}
?>
<!-- End of PHP -->
</ul>
</div>
当我在浏览器中打开我的服务器时,我得到的只是:
$_SESSION['loggedin']
变量已设置,但登录和注销按钮均显示。此外,两组字符串之间的文本也显示在页面上。
当我使用 XAMPP 在本地计算机上显示此内容时,不会发生这种情况。
关于如何解决这个问题有什么想法吗? 提前致谢!
最佳答案
该行无效。通过正确的错误报告,您将看到该错误。测试时,打开错误报告会很有帮助,这样您就可以看到有用的错误:)
echo "<li class = 'link-nav'><a href="logout.php"> Log Out </a>";
您不能在不转义双引号的情况下使用它们!
而是这样写:
echo '<li class="link-nav"><a href="logout.php">Log Out</a>';
看看是否有效。
关于php - LAMP 服务器无法正确执行 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28183856/