PHP $ _SESSION停止执行

时间:2014-02-08 17:37:25

标签: php macos apache session

我试图让我的OS X localhost PHP脚本发送邮件,所以我跟着this tutorial。完成文章后我能够发送mail( ),但现在会话出错了。

我有一个用于处理以下内容的页面:

<!-- ... -->
<?php include( 'search-form.php' ); ?>
<?php include( 'site-navigation.php' ); ?>
    </body>
</html>

现在,页面呈现在site-navigation.php包含处停止。我能够找到确切的行停止执行,它是下面的if语句:

site-navigation.php:

        <section>
            <h2>Site Navigation</h2>

            <nav>
                <ul>
                    <li>
                        <a href="index.php">Home</a>
                    </li>
<?php
if( isset( $_SESSION['uid'] ) ) :
?>
                    <li>
                        <a href="view-user.php?uid=<?= $_SESSION['uid']; ?>">User Profile</a>
                    </li>
                    <li>
                        <a href="logout.php">Logout</a>
                    </li>
<?
endif;
?>
                </ul>
            </nav>
        </section>

评论说允许执行继续进行,但是我可以做些什么来使它像以前一样停止工作?我真的不想完全重新安装,但如果必须,那就这样吧。

我唯一的猜测是,当我将php.ini.default复制到php.ini时,它覆盖了一些我不知道的设置。这些设置可以是什么?

1 个答案:

答案 0 :(得分:0)

我发现了问题所在。看来短标签不起作用。

更改:

<?
endif;
?>

要:

<?php
endif;
?>

允许执行继续。现在,我只需要弄清楚如何让短标签再次运行。或者,更好的是,修复我的代码,使其没有这些未被注意到的异常。

感谢@Wrikken帮助我解决问题。