我试图让会话保存它变量并在 IIS 服务器(FAST CGI)上的服务器 php 版本 7.3.1 上运行的下一页上使用它,它在我的机器上使用 php 7.4 工作正常。无论是使用 Apche 还是 IIS,系统都可以正常工作。我无法访问服务器端的 php.ini
我试过的。
if (session_id() == '' || !isset($_SESSION) || session_status() === PHP_SESSION_NONE) {
// session isn't started
session_start();
if (isset($_SESSION['session_id'])) {
$session_id = $_SESSION['session_id'];
$page = $_SERVER['REQUEST_URI'];
$user_id = $_SESSION['username'];
$sql = "SELECT COUNT(*) AS page_count FROM mst_log WHERE session_id = ? AND page = ?;";
$params = array($session_id, $page);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
$row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);
$page_count = $row['page_count'];
if ($page_count > 0) {
// Update existing record
$sql = "UPDATE mst_log SET timestamp = GETDATE() WHERE session_id = ? AND page = ?;";
$params = array($session_id, $page);
} else {
// Insert new record
$sql = "INSERT INTO mst_log (session_id, user_id, page, timestamp) VALUES (?, ?, ?, GETDATE());";
$params = array($session_id, $user_id, $page);
}
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
}
}