Skip to content

6. 网站问题排错技巧

Prk edited this page Jan 31, 2023 · 2 revisions

我们会先从基本问题出发,在开始之前,请务必保证已完成参阅 常见问题

  • 检查 .env 文件

    打开 .env 文件,请确保:

    • DB_HOST:DB_PORT 能够连接到数据库
    • DB_DATABASEDB_USERNAMEDB_PASSWORD 是确实存在的
    • APP_KEYbase64:XXXXXXXX 格式

    APP_KEY 出现问题是需要重新构建密钥的,那么数据库的用户将会因为密码错误而无法登录!

  • 确保软件正常运行

    确保后,请确保 Nginx、PHP、MySQL 正在运行。如果是宝塔,可以在【软件商店】->【已安装】查看 Nginx、对应PHP、MySQL 状态是绿色的播放符号还是红色的暂停。如果是暂停状态请点击右侧【设置】按钮启用对应软件。当然,如果出现报错提示请自行 Google 或重装。也可以万能的🍑饱和咸🐟找人解决。

  • 确保目录运行权限

    目录权限为:

    • 相对网站目录所有文件和文件夹均为 755 / root,(部分文件为 644 / root
    • 相对网站目录 storagebootstrap/cache777 / root

    请正确配置网站目录权限,使用 chmod 命令。如果使用宝塔请确保设置的时候已勾选递归到子目录和所有者一定要选择 root

  • 查找域名解析

    有些人迁移网站后因为域名解析未生效导致出现迁移前服务器的报错,请通过以下方法检查:

    • nslookup 命令

      打开 cmd 或 PowerShell 或 Terminal,输入如下格式命令:

      nslookup [domain]

      就像下面的一样:

      nslookup example.com

      将返回该服务器的 IP(当然,你可以使用 dig,如果你有的话)。请确保为新服务器的 IP。宝塔主机等使用域名访问不是 IP 地址的请再使用相同的方法查询有关域名。确保 IP 地址一致。

    • 浏览器开发者工具

      在你的网站无论是否报错,都要访问进去。按下【F12】或是右键选择 “检查”、“开发人员选项” 然后上方选择 “网络(Network)”,然后选择 “全部(All)” ,最后选择列表中最上面的(通常访问首页是域名,否则访问什么页就会显示和路由一样的名字),点击后查看 “远程服务器地址(Remote Address)”,就能看到 IP 了。(如果开启网络代理工具可能会看到 127.0.0.1 可尝试关闭网络代理或在网络代理工具查询日志)

    • 查询日志

      常见问题 中的 “提示 未知错误500错误 的解决办法” 部分已经介绍到了如何找到自己的日志,下面我将简单阐述如何自行在日志中排查错误。

      打开日志文件,搜索格式为 YYYY-mm-dd H:i:s (如:2020-01-01 01:01:01 文件,通常你只需要搜索到小时或分钟_(如:2020-01-01 01:01)_ 找到大概符合当时遇到错误的时间,不要查看 [stacktrace] 部分,主要查看带日期的这一行,如果带有 SQLSTATE[XXXXX] 那一般是数据库无法查询。请确保数据库最新且输入正确,请多参考 常见问题

      一般这里的错误都是由框架生成,使用 ChatGPT 或是 Google 都可以检索到有关错误。实在不行可以提问 Issues,但请确保自己已经尽了最大的努力。Issues 的回复时效性不敢保证,可能过了 1 个月才回复。