php - LAMP 服务器无法正确执行 PHP 脚本

标签 php html linux apache server

我有一个在物理机上运行的 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>

当我在浏览器中打开我的服务器时,我得到的只是:

Bug in PHP

$_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/

相关文章:

如果不适合窗口/父级大小,则 CSS 分三部分换行

android - android模拟器不启动,avd

php - SQLSTATE[23000] : Integrity constraint violation: 1062

javascript - 替换 <svg> 中的 <use> 元素的属性后单击事件停止工作 (Win7/IE11)

html - 悬停在元素上时的工具提示

linux - dotnet-install.sh 不在 Ubuntu 上添加 dotnet 命令

linux - 为子文件夹中的文件设置文件权限

php - 更改下拉列表时使用ajax过滤laravel中的数据

php - CMultiFileUpload 类不在数据库 yii 上插入图像名称

php - 将日期和数字添加到同一个数组中