This commit is contained in:
2026-06-24 18:17:13 +08:00
parent dafbb9995b
commit 1b75d4b0a4
6 changed files with 176 additions and 2 deletions
+31
View File
@@ -66,6 +66,16 @@ try {
)
");
// 创建 users 表
$db->exec("
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
");
// 插入默认配置
$defaults = [
['site_title', 'OPS 运营管理系统'],
@@ -78,10 +88,31 @@ try {
$stmt->execute($config);
}
// 插入默认管理员账号(密码使用 password_hash 加密)
$stmt = $db->prepare("INSERT INTO users (username, password) VALUES (?, ?)");
$stmt->execute(['admin', password_hash('admin', PASSWORD_DEFAULT)]);
// 设置新创建的数据库文件权限
@chmod($db_path, 0666);
}
// 数据库升级:如果 users 表不存在,创建它并迁移默认用户
$tables = $db->query("SELECT name FROM sqlite_master WHERE type='table' AND name='users'")->fetchAll();
if (empty($tables)) {
$db->exec("
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)
");
// 插入默认管理员账号
$stmt = $db->prepare("INSERT OR IGNORE INTO users (username, password) VALUES (?, ?)");
$stmt->execute(['admin', password_hash('admin', PASSWORD_DEFAULT)]);
}
} catch (PDOException $e) {
die("数据库连接失败: " . $e->getMessage() . "<br><br>请确保:<br>1. data 目录存在且可写 (chmod 777 data)<br>2. Web 服务器用户有权限创建文件");
}