Ai_GirlFriend/故障排查指南.md
2026-02-28 09:40:18 +08:00

6.2 KiB
Raw Permalink Blame History

🔧 故障排查指南

当前问题PHP 返回 500 错误

问题现象

  • 访问 http://127.0.0.1:30100 显示"您所浏览的页面暂时无法访问"
  • PHP 服务日志显示 [500]: GET /index/user/index.html

🔍 排查步骤

第一步:运行诊断脚本

访问测试页面:

http://127.0.0.1:30100/test_db.php

这个页面会检查:

  • PHP 版本和扩展
  • 数据库连接
  • 数据表列表
  • ThinkPHP 框架文件
  • Composer 依赖
  • 目录权限

根据测试结果,找出具体问题。


第二步:检查 Composer 依赖

最常见的问题是 Composer 依赖未安装。

检查方法:

cd xunifriend_RaeeC
dir vendor

如果 vendor 目录不存在或为空,需要安装依赖:

cd xunifriend_RaeeC
composer install

如果 composer 很慢,使用国内镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer install

第三步:检查 PHP 扩展

查看已加载的扩展:

php -m

必需的扩展:

  • mysqli
  • pdo_mysql
  • mbstring
  • curl
  • openssl
  • fileinfo
  • json

如果缺少扩展,编辑 php.ini

  1. 找到 PHP 安装目录下的 php.ini 文件
  2. 搜索扩展名(如 extension=mysqli
  3. 删除前面的分号 ; 取消注释
  4. 保存文件
  5. 重启 PHP 服务

第四步:检查数据库连接

测试数据库连接:

mysql -u root -prootx77 -e "USE ai_friend; SELECT COUNT(*) FROM nf_user;"

如果连接失败:

  1. 检查 MySQL 服务是否运行

    net start MySQL80
    
  2. 检查密码是否正确

    mysql -u root -prootx77
    
  3. 检查数据库是否存在

    SHOW DATABASES;
    
  4. 如果数据库不存在,创建它

    CREATE DATABASE ai_friend CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    

第五步:检查目录权限

确保以下目录可写:

xunifriend_RaeeC/runtime/
xunifriend_RaeeC/runtime/cache/
xunifriend_RaeeC/runtime/log/
xunifriend_RaeeC/public/uploads/

Windows 下通常不需要特殊设置,但可以检查:

  1. 右键点击目录
  2. 选择"属性"
  3. 取消"只读"属性(如果勾选了)

第六步:查看 PHP 错误日志

查看 ThinkPHP 日志:

xunifriend_RaeeC/runtime/log/

打开最新的日志文件,查看错误信息。

常见错误及解决方法:

错误 1: Class 'think\App' not found

原因: Composer 依赖未安装 解决:

cd xunifriend_RaeeC
composer install

错误 2: SQLSTATE[HY000] [2002] Connection refused

原因: 数据库连接失败 解决:

  1. 检查 MySQL 服务是否运行
  2. 检查 .env 文件中的数据库配置
  3. 测试数据库连接

错误 3: SQLSTATE[42S02]: Base table or view not found

原因: 数据表不存在 解决:

  1. 确认数据库已导入
  2. 检查表前缀是否正确nf_

错误 4: Call to undefined function mysqli_connect()

原因: mysqli 扩展未启用 解决:

  1. 编辑 php.ini
  2. 取消注释 extension=mysqli
  3. 重启 PHP 服务

🛠️ 快速修复方案

方案 1重新安装 Composer 依赖

cd xunifriend_RaeeC
rmdir /s /q vendor
composer install

方案 2清理缓存

cd xunifriend_RaeeC
rmdir /s /q runtime\cache
rmdir /s /q runtime\log
mkdir runtime\cache
mkdir runtime\log

方案 3重置数据库配置

编辑 xunifriend_RaeeC/.env,确保配置正确:

[database]
type = mysql
hostname = localhost
database = ai_friend
username = root
password = rootx77
hostport = 3306
charset = utf8mb4
prefix = nf_
debug = true

方案 4使用简化的测试页面

访问:http://127.0.0.1:30100/test.php

查看是否能正常访问 PHP。


📋 完整检查清单

按顺序检查以下项目:

PHP 环境

  • PHP 版本 >= 8.0
  • php.ini 已配置
  • 必需扩展已启用
  • PHP 可以正常运行

Composer 依赖

  • Composer 已安装
  • vendor 目录存在
  • 依赖包已安装完整

数据库

  • MySQL 服务运行中
  • 数据库 ai_friend 存在
  • 用户名密码正确
  • 数据表已导入30+ 张表)
  • 表前缀为 nf_

配置文件

  • xunifriend_RaeeC/.env 存在
  • 数据库配置正确
  • 字符集为 utf8mb4

目录权限

  • runtime 目录可写
  • runtime/cache 目录可写
  • runtime/log 目录可写
  • public/uploads 目录可写

ThinkPHP 框架

  • thinkphp 目录存在
  • application 目录存在
  • install.lock 文件存在

🔄 重启服务

修改配置后,需要重启 PHP 服务:

  1. 在 PHP 服务窗口按 Ctrl+C 停止
  2. 重新运行启动脚本:
    启动项目.bat
    

或者手动启动:

cd xunifriend_RaeeC\public
php -S 0.0.0.0:30100 router.php

📞 仍然无法解决?

1. 查看详细错误信息

xunifriend_RaeeC/.env 中启用调试模式:

app_debug = true
app_trace = true

重启服务后,错误信息会直接显示在浏览器中。

2. 查看日志文件

xunifriend_RaeeC/runtime/log/

打开最新的日志文件,查找错误堆栈。

3. 使用测试脚本

访问:http://127.0.0.1:30100/test_db.php

查看详细的环境检查结果。

4. 检查端口占用

netstat -ano | findstr :30100

如果端口被占用,终止进程或更换端口。


成功标志

当以下条件都满足时,说明 PHP 后台已正常运行:

  1. 访问 http://127.0.0.1:30100 不再显示 500 错误
  2. 访问 http://127.0.0.1:30100/test_db.php 显示所有检查通过
  3. PHP 服务日志显示 [200] 状态码
  4. 可以访问管理后台 http://127.0.0.1:30100/admin

🎯 下一步

PHP 后台正常运行后:

  1. 测试 Python 后端 访问:http://127.0.0.1:30101/docs

  2. 测试 API 接口 在 API 文档中测试各个接口

  3. 访问管理后台 http://127.0.0.1:30100/admin

  4. 开始开发 根据需求修改代码


记住:大多数 500 错误都是因为 Composer 依赖未安装!

先运行 composer install90% 的问题都能解决。