dongxia026531 2018-03-14 15:56
浏览 68

致命错误:未捕获错误:找不到类“会话”

Fatal error: Uncaught Error: Class 'session' not found in C:\var\www\html\tools\inc\constants.php:122 Stack trace: #0 C:\var\www\html\tools\config.php(92): require_once() #1 C:\var\www\html\tools\header.php(1): require_once('C:\var\www\html...') #2 C:\var\www\html\tools\index.php(1): require_once('C:\var\www\html...') #3 {main} thrown in C:\var\www\html\tools\inc\constants.php on line 122

The code in question: lines 121-138

if(php_sapi_name() !== 'cli'){
  $session = new session();

  session_set_save_handler(array($session, 'open'),
                           array($session, 'close'),
                           array($session, 'read'),
                           array($session, 'write'),
                           array($session, 'destroy'),
                           array($session, 'gc'));
  register_shutdown_function('session_write_close');
  session_start();
}
if(DEBUG){
  ini_set('xdebug.var_display_max_depth',-1);
  ini_set('xdebug.var_display_max_data',-1);
  ini_set('xdebug.var_display_max_children',-1);
  set_time_limit(240);
}

I don't know how to fix it and I couldn't find anything online. I'm running php7 and I thought that there would be no issues. Is there anyway to fix this? I've tried calling other sessions and etc.

Another file that's called:

<?php
class session implements \SessionHandlerInterface {

    public function __construct() {
      // session_set_save_handler(
      //       array(&$this, 'open'),
      //       array(&$this, 'close'),
      //       array(&$this, 'read'),
      //       array(&$this, 'write'),
      //       array(&$this, 'destroy'),
      //       array(&$this, 'gc')
      //   );
      // session_start();
      // register_shutdown_function('session_write_close');
    }

    public function open($savePath, $session_name) {
      $db = new database(TRUE);
      $db->query("INSERT INTO session
                  SET session_id = :sessionName,
                  session_data = ''
                  ON DUPLICATE KEY 
                  UPDATE session_lastaccesstime = NOW()");
      $db->bind(':sessionName',$session_name);
      $db->execute();
      return true;
    }

    public function close() {
        return true;
    }

    public function read($id) {
      $db = new database(TRUE);
      $db->query("SELECT * FROM session WHERE session_id = :id");
      $db->bind(':id',$id);
      if ($db->execute()) {
        $result = $db->single(\PDO::FETCH_ASSOC);
        return $result["session_data"].'';
      }
      return '';
    }

    public function write($id, $data) {
      if ($data == null) {
        return true;
      }
      $db = new database(TRUE);
      $db->query("INSERT INTO session 
        SET session_id = ?, 
        session_data = ?
        ON DUPLICATE KEY UPDATE session_data = ?");
      $db->bind(1,$id);
      $db->bind(2,$data);
      $db->bind(3,$data);
      $db->execute();
      return true;
      //session_write_close();
    }

    public function destroy($id) {
      $db = new database(TRUE);
      $db->query("DELETE FROM session WHERE session_id = :id");
      $db->bind(':id',$id);
      $db->execute();
      return true;
    }

    public function gc($maxlifetime) {
      $db = new database(TRUE);
      $db->query("DELETE FROM session 
        WHERE session_lastaccesstime < DATE_SUB(NOW(),
        INTERVAL " . $lifetime . " SECOND)");
      $db->execute();
      return true;
    }
}

I tried loading in the class via placing

require_once("inc/classes/session.php")

right after the if statement, but that just opened up more issues and more classes not being called. I'll link to the GitHub so you can see what really is going on.

https://github.com/nfreader/newSS13tools

</div>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
    • ¥20 关于URL获取的参数,无法执行二选一查询
    • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
    • ¥15 marlin编译错误,如何解决?
    • ¥15 有偿四位数,节约算法和扫描算法
    • ¥15 VUE项目怎么运行,系统打不开
    • ¥50 pointpillars等目标检测算法怎么融合注意力机制
    • ¥20 Vs code Mac系统 PHP Debug调试环境配置
    • ¥60 大一项目课,微信小程序
    • ¥15 求视频摘要youtube和ovp数据集