常见问题
如何定位打开页面空白或错误?
页面空白或错误有多种原因,从服务器到代码每一步都可能出错。这里主要列出常见的错误定位方法。具体的错误解决方法,可根据定位到的错误信息进一步排查。
检查浏览器的 "开发者工具"
- 打开浏览器的 "开发者工具"
- 检查控制台是否有错误信息
- 刷新页面,检查网络请求是否正常
tip
Windows 和 Linux 打开 Chrome "开发者工具" 的快捷键是 Control+Shift+J,Mac 的快捷键是 Command+Option+J。
Chrome 开发者工具界面如下:
检查系统日志
- 进入框架日志目录(如果有的话),检查最新的日志文件是否有错误信息
cd log
- 进入项目日志目录,检查最新的日志文件是否有错误信息
cd storage/logs
note
日志文件按日期命名,如 20220304.log
,error20220304.log
。
检查代码
页面返回的内容,可以在 Miaoxing\Plugin\Service\App
类的 handleResponse
方法中调试
检查 Nginx
- 检查 Nginx 配置是否正确
nginx -t
- 检查
error.log
是否存在 Nginx 配置错误,网络错误
tail -f storage/logs/nginx/error.log # 请更改为您的路径
- 检查
access.log
是否有请求访问
tail -f storage/logs/nginx/access.log # 请更改为您的路径
检查 PHP-FPM 日志
- 检查 Nginx 请求是否有转发到 PHP-FPM
tail -f storage/logs/php-fpm/access.log # 请更改为您的路径
- 检查 PHP 运行错误
tail -f storage/logs/php-fpm/error.log # 请更改为您的路径
检查 Docker
有时 Docker 或其他服务会缓存住文件,导致文件更改后不生效。
有时长时间运行,电脑多次休眠唤醒,但网络没有正常恢复,可能出现访问一直卡在加载中的情况。
可以尝试重启 Docker 解决。
检查网络代理软件
有时网络代理软件会将请求进行转发,可能出现的情况为:
- 请求卡住不动,在固定时间(如 60s,120s)后返回超时(代理设置的超时时间)
- Nginx 无请求日志(请求被转发到其他 IP)
- 访问本地域名,却返回线上域名的内容(代理把域名解析为线上的 IP)
可以将网络代理软件彻底退出,确认问题后添加白名单解决。