• nodebuy

    第一次全新安装成功,第二次删除本地文件,覆盖安装输入同样的数据库密码,会出错

    Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'nwnuyhs' for key 'app_users.username' in D:\wwwroot\bbs1.com\app\setup\setup.func.php:230 Stack trace: #0 D:\wwwroot\bbs1.com\app\setup\setup.func.php(230): PDOStatement->execute(Array) #1 D:\wwwroot\bbs1.com\index.php(4848): setup_install_run() #2 {main} thrown in D:\wwwroot\bbs1.com\app\setup\setup.func.php on line 230

    建议:修改为:自动检测是否有安装记录,如果有安装记录,直接用之前的账号登录,和wordpress的安装逻辑一样

    主楼
  • bbs1org

    @MIUI 好,我来优化下安装逻辑

    #1
  • bbs1org

    已按 WordPress 类似逻辑修正:
    连接数据库后,先检测已有 app_users 和核心站点数据。
    检测到完整安装记录时:恢复 app/data/db.php
    重新生成 app/data/install.lock
    返回 303 并跳转原账号登录页
    不再建表、写设置或创建管理员

    检测到残缺安装数据时停止并提示,不继续破坏数据。
    数据库配置及安装锁写入失败现在也会明确报错。

    #2
  • qq

    @MIUI 这个问题已经修复,请更新到最新代码后重新覆盖安装测试。现在检测到完整安装记录时,会恢复数据库配置和安装锁,并直接跳转到原账号登录页,不会重复建表或创建管理员。如果更新后仍有异常,请贴出新的完整报错信息。

    #3

发表回复

登录后回复