安装向导:首次部署浏览器引导建库建表(批 26)
- 新增 install.php 独立安装向导:环境检查 → 表单(站点标题/家庭名/数据库/ 高德/管理员)→ 全量建表 → 基本种子数据 → 生成 config.php → 自动自删。 已安装判定以 config.php 为准,重复访问只显示「已安装」。 - 新增 sql/schema.sql 全量建表脚本(15 张表,按外键依赖排序,全部 IF NOT EXISTS),由向导执行;tools/migrate.php 继续负责增量迁移。 - index.php 加未安装检测:config.php 缺失或无效时跳转安装页。 - layout.php 标题回退值接通 app.name,安装时填的网站标题在页面上生效。 - 种子数据仅基本款:节点类型 5、角色标签 4、出行方式 9(不含需绑定 车辆的自驾两类);管理员账号按既有加密方式写入。 - README 部署章节改为向导优先,手动方式降为备选。 - 验证:本地 60 文件 php -l 全过;渲染检查 386 项全过; 安装流程端到端 46 项全过(临时副本 + 独立 MariaDB:跳转、表单、 建表、种子、加密可逆、自删、已安装拒绝、错误路径)。
This commit is contained in:
@@ -1,6 +1,23 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* 未安装检测(放在所有框架加载之前):
|
||||
* config.php 不存在、或缺少 db.name 时,说明站点尚未安装,跳转安装向导。
|
||||
* 安装完成后 install.php 会自删(删除失败也无妨——config.php 本身就是锁,
|
||||
* 本检测会让未安装状态永远到不了业务路由)。
|
||||
*/
|
||||
$tripInstalled = false;
|
||||
if (is_file(__DIR__ . '/config.php')) {
|
||||
$tripCfg = require __DIR__ . '/config.php';
|
||||
$tripInstalled = is_array($tripCfg) && !empty($tripCfg['db']['name'] ?? null);
|
||||
unset($tripCfg);
|
||||
}
|
||||
if (!$tripInstalled) {
|
||||
header('Location: install.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
require __DIR__ . '/src/Database.php';
|
||||
require __DIR__ . '/src/Auth.php';
|
||||
require __DIR__ . '/src/helpers.php';
|
||||
|
||||
Reference in New Issue
Block a user