致命错误:未捕获错误:在C:\ var \ www \ html \ tools \ inc \ constants.php中找不到类'会话':122堆栈跟踪:#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}抛出C:\ var \ www \ html \ tools \第122行的inc \ constants.php
有问题的代码:第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);
}
我不知道如何修复它,我在网上找不到任何东西。我正在运行php7,我认为没有问题。有没有什么办法解决这一问题?我试过打电话给其他会议等等。
另一个名为的文件:
<?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;
}
}
我尝试通过放置
来加载课程在if语句之后require_once( “INC /类/ session.php文件”)
,但这只是打开了更多的问题,而更多的类没有被调用。我将链接到GitHub,以便您可以看到实际发生的事情。