在使用 PbootCMS 构建网站时,如果遇到“执行 SQL 发生错误! 错误: no such table: ay_config”的提示,通常是因为数据库配置不正确或数据库文件缺失。以下是详细的排查和解决方法:

排查步骤

  1. 检查 data 文件夹中的数据库文件是否存在

    • 步骤:

      • 导航到 PbootCMS 安装目录下的 data 文件夹。
      • 确认是否存在一个 .sqlite 或 .db 格式的数据库文件(例如 pbootcms.db)。
    • 示例路径:

       
       
      /path/to/pbootcms/data/pbootcms.db
  2. 检查 config/database.php 文件中的数据库名称是否正确

    • 步骤:

      • 打开 config/database.php 文件。
      • 确认 database 参数中的数据库名称与 data 文件夹中的数据库文件名一致。
    • 示例配置:

      php
       
      return [
      'type' => 'sqlite', // 数据库类型
      'hostname' => '', // 主机地址
      'database' => 'pbootcms.db', // 数据库名称
      'username' => '', // 数据库用户名
      'password' => '', // 数据库密码
      'hostport' => '', // 数据库端口
      'params' => [], // 数据库连接参数
      'charset' => 'utf8mb4', // 数据库编码默认采用utf8mb4
      'prefix' => 'ay_', // 数据库表前缀
      ];
  3. 确认数据库文件的权限

    • 步骤:

      • 确保 data 文件夹及其内部的数据库文件具有正确的读写权限。
      • 通常需要设置为 755 或 775 权限,具体取决于服务器环境。
    • Linux 系统命令:

      bash
       
      cd /path/to/pbootcms
      chmod -R 755 data/
  4. 检查数据库文件是否完整

    • 步骤:
      • 确认数据库文件没有损坏。
      • 如果怀疑数据库文件损坏,可以尝试恢复备份或重新安装数据库。
  5. 重新安装数据库

    • 步骤:

      • 如果以上步骤都无法解决问题,可以尝试重新安装数据库。
      • 备份现有数据后,删除 data 文件夹中的数据库文件。
      • 重新运行安装脚本或手动创建数据库。
    • 示例命令:

      bash
       
      cd /path/to/pbootcms
      rm data/pbootcms.db
      # 重新运行安装脚本或手动创建数据库