分类: 操作系统
-
文章记录了一个 GraphQL API 耗时长达 7 秒的排查过程。经 Laravel Telescope 和独立客户端测试,实际执行时间仅约 1.8 秒。问题根源在于 Windows 10 环境下的 Nginx 与 PHP FastCGI 默认只能同时处理单一请求,导致请求排队。通过调整 Nginx 配置并启动多个 php-cgi 进程绑定不同端口,实现了并发处理。最终刷新页面测试,请求耗时缩短至 2 秒左右,符合预期。
-
执行脚本安装 Elasticsearch 后发现 IK 分词插件未生效,经排查脚本自动安装代码无效。尝试手动使用 elasticsearch-plugin 安装插件,因 ES 版本为 7.17.6,先后尝试最新版及 7.17.5 版本插件均报版本不匹配错误。最终决定修改安装脚本,将 Elasticsearch 版本回退至 7.17.5,重新安装后 ES 版本正确且插件成功安装。
-
在 Linux 和 Laravel 6 环境下,针对任务队列即使设置了超时时间仍显示运行中的问题,文章进行了排查。过程包括检查日志确认命令未完成,以及在容器中手动执行命令复现失败。最终发现根源在于命令行执行失败时未抛出异常,导致任务队列无法感知错误并自动结束,从而维持运行状态。
-
针对在本地 Windows 10 环境执行 SQL 查询正常,而在 Linux 容器中无法查询到记录的问题,通过对比发现生成的 SQL 语句差异在于路径分隔符。分析打印生成的 SQL 与 DIRECTORY_SEPARATOR 常量,确认 Windows 环境生成反斜杠而 Linux 环境生成正斜杠,导致拼接后的路径格式不一致。删除代码中依赖 DIRECTORY_SEPARATOR 的拼接部分后,生成的 SQL 在两个操作系统中保持一致,成功解决了查询结果为 NULL 的问题。
-
启动 Vagrant 时报错 Psych::SyntaxError 提示缩进违规。经检查发现 Homestead.yaml 文件因曾用 EditPlus 编辑,在 PhpStorm 中显示红色波浪线,原因是存在 Tab 字符。在 PhpStorm 中重新格式化该文件后,红色提示消失,再次启动 Vagrant 成功,不再报错。
-
针对在 Windows 10 中测试任务超时功能无效的问题,文章记录了在 Laravel 6 线上 Linux 服务器中进行测试的过程。在 Job 中添加长时间 sleep 后发现设置未生效,经排查确认是因为队列处理器作为常驻进程会在内存中保留启动时的应用状态,导致无法检测到代码变更。通过执行 php artisan queue:restart 命令重启队列处理器后,再次执行任务超过限制时间自动失败,结果符合预期。
-
在执行 git push 时遇到了 SSL routines 报错,经排查发现是本地 Git 版本过旧。通过下载安装最新版 Git 并卸载旧版本或清理环境变量解决了版本冲突。随后因 GitHub 已移除密码验证支持,改用 Personal access token 并通过 SSH 测试连接,最终删除本地 .git 目录重新初始化后,成功完成代码推送。
-
针对在 Windows 10 环境下使用 Git 2.34 和 TortoiseGit 2.13 时,目录小写改大写无法提交的问题,分析发现是配置项 ignorecase 为 true 所致。将其设置为 false 后提交虽显示变更,但 GitLab 上会出现重名目录。最终通过先删除小写目录、再添加大写目录的方式提交,成功实现了仅保留大写目录的重命名效果。
-
在开发中常需公网域名展示本地成果或调试微信接口,为避免购买 VPS 部署的麻烦,文章介绍了在 Windows 10 中使用 frp 客户端做内网穿透的过程。内容涵盖从 GitHub 下载指定版本、处理杀毒软件拦截、配置 frpc.ini 及修改 token、设置 Nginx 端口,最终通过浏览器验证成功获得 200 响应,实现了本地服务映射到公网。
