会话数据在本地测试服务器上工作,但一旦上传到互联网就无法工作

时间:2013-07-18 10:32:24

标签: php session session-variables

我正在使用easyphp服务器在本地工作时遇到网站问题。我现在已将它上传到网络服务器,之前它都在工作,现在我收到了php错误,例如:

Call to undefined function session_status() in /home/site/public_html/index.php on line 2

它只是索引页面上的一个简单脚本,但所有其他页面都遇到了相同的会话错误问题,但它在本地工作,这使得它甚至变得奇怪。

    <?php
    if (session_status() !== PHP_SESSION_ACTIVE) {session_start();}
    if (isset($_SESSION['key'])) {$sessionkey = $_SESSION['key'];}else {$sessionkey = '';}
    if ($sessionkey == 'sbhjbKA2bsbhjbKA209bhjbKA2bsbhjbKA209KaXff19u0bsbhjbKA209KaXff19u9Ka'){
         echo '<link rel="stylesheet" href="./css/template/template.css" />';
    include 'connectmysqli.php';
    include 'menu.php';

    }
    else
    {echo '<h1 style="font-family:Verdana, Geneva, sans-serif; color:red;">Access Denied !</h1>';}
    ?>

3 个答案:

答案 0 :(得分:9)

在PHP 5.4中引入了

session_status。检查服务器的PHP版本。

顺便说一句,你可以不用那个电话,我会说。只需随时拨打session_start即可。如果您的代码充满了它,只需创建一个函数存根。

答案 1 :(得分:2)

推荐的PHP版本&gt; = 5.4.0

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

对于PHP的版本&lt;的 5.4.0

if(session_id() == '') {
    session_start();
}

source

答案 2 :(得分:1)

它需要PHP 5.4 ..

如果您使用xampp,您可以使用此链接检查php vervion“phpinfo()”