3

我有一个网站的问题,我一直在使用 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>';}
    ?>
4

3 回答 3

10

session_status在 PHP 5.4 中引入。检查服务器的 PHP 版本。

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

于 2013-07-18T10:36:32.493 回答
3

PHP >= 5.4.0版本的推荐方式

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

对于 PHP < 5.4.0的版本

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

资源

于 2016-10-17T12:44:23.267 回答
1

它需要 PHP 5.4 ..

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

于 2014-01-20T08:44:13.720 回答