up
This commit is contained in:
+20
-2
@@ -1,9 +1,24 @@
|
||||
<?php
|
||||
// 数据库连接和初始化
|
||||
|
||||
$db_path = __DIR__ . '/../data/database.db';
|
||||
$data_dir = __DIR__ . '/../data';
|
||||
$db_path = $data_dir . '/database.db';
|
||||
$is_new_db = !file_exists($db_path);
|
||||
|
||||
// 检查 data 目录是否存在和可写
|
||||
if (!is_dir($data_dir)) {
|
||||
die("错误: data 目录不存在。请创建目录并设置权限: mkdir -p data && chmod 777 data");
|
||||
}
|
||||
|
||||
if (!is_writable($data_dir)) {
|
||||
die("错误: data 目录不可写。请设置权限: chmod 777 data");
|
||||
}
|
||||
|
||||
// 如果数据库文件存在但不可写
|
||||
if (file_exists($db_path) && !is_writable($db_path)) {
|
||||
die("错误: 数据库文件不可写。请设置权限: chmod 666 data/database.db");
|
||||
}
|
||||
|
||||
try {
|
||||
$db = new PDO('sqlite:' . $db_path);
|
||||
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
@@ -42,8 +57,11 @@ try {
|
||||
foreach ($defaults as $config) {
|
||||
$stmt->execute($config);
|
||||
}
|
||||
|
||||
// 设置新创建的数据库文件权限
|
||||
@chmod($db_path, 0666);
|
||||
}
|
||||
|
||||
} catch (PDOException $e) {
|
||||
die("数据库连接失败: " . $e->getMessage());
|
||||
die("数据库连接失败: " . $e->getMessage() . "<br><br>请确保:<br>1. data 目录存在且可写 (chmod 777 data)<br>2. Web 服务器用户有权限创建文件");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user