标签: command
-
在 Laravel 6 和 Lighthouse 5 环境下,使用 @rules 指令应用 exists 验证规则时,自定义属性名无法按语言区域正确翻译,导致返回的验证消息中包含原始字段名而非本地化名称。经过排查,排除了 nwidart/laravel-modules 版本及语言文件位置的影响,确认原因在于 Lighthouse 5 对验证属性的支持不够彻底。目前决定暂不编写自定义验证器类,暂时接受在非英语环境下属性名未被完全翻译的现状。
-
本文介绍了在 Laravel 6 结合 Module 与 Lighthouse 框架中实现安全验证的具体流程。通过使用 @rules 指令应用 Exists 规则,针对请求参数 themeId 进行是否存在的数据表校验。经过测试验证规则有效,并利用 Laravel Telescope 查看 SQL 语句。同时验证了该规则会自动读取表前缀,当前缀变更时验证依然生效,无需额外调整。
-
针对集群部署下 Yii2 队列执行时间不可控甚至超出一小时的问题,通过在扩展源代码中打印日志定位原因。怀疑多进程监听存在严重锁定问题,遂将 Supervisor 中的队列监听命令替换为运行命令,并部署双容器测试。结果显示,info 命令查看的 reserved 状态队列持续时间约为1分钟,4组队列全部执行完毕控制在10分钟内,集群环境下也未出现新问题。
-
针对阿里云 Redis 报错 Redis error ERR for redis cluster, eval/evalsha number of keys can’t be negative or zero 的问题,经参考开发者文档分析,这是由于云 Redis 集群对 Lua 脚本有限制,调用时必须携带 key,否则会直接返回错误。文章中采用了放弃使用阿里云 Redis 集群的方式使问题得以解决,并指出后续若要支持 Redis 集群,需要在程序层面进行调整。
-
针对在 Rancher 中使用同一镜像地址升级容器时出现部分容器环境变量已替换、部分未替换的问题,本文通过对比日志和启动配置发现异常容器的入口点被设置为 /bin/bash 导致脚本未执行。解决方法是将入口点值修改为空并重新升级,此后容器正确执行 /config/bootstrap.sh 脚本,环境变量替换恢复正常且日志不再报错。
-
针对代码文件仅能放于默认路径的问题,本文通过编辑用户环境变量 GOPATH,将自定义路径添加到原有值中,实现了多路径支持。随后通过 go install 指令编译并安装包到本地,成功将生成的文件复制到了指定平台的 pkg 目录下。
-
在 Jenkins 中构建镜像时报错 repository not found,提示 does not exist or no pull access。经排查,需要在 Build 配置的 Execute shell 中调整 Command,并正确修改用户名与密码的值。保存配置后再次构建,镜像构建成功,问题得到解决。
-
文章介绍了基于 Supervisor 和 bash sleep 实现 Docker 部署中类 crontab 任务以降低内存占用的过程。通过编辑配置文件调整脚本执行间隔,并在测试环境检测运行状态与异常处理情况。实验发现将 sleep 时间控制在合理范围并调整 startsecs 参数可有效降低内存,最终在两个产品环境中验证了该方法能显著减少 Docker 容器的内存占用并符合预期。
-
针对 Docker 和 Rancher 部署环境,文章探讨了利用 Supervisor 定时执行 Yii 2 控制台命令的实施方案。通过创建配置文件设置间隔与停止等待时间,并升级以解决环境变量替换问题,最终实现了命令的预期执行。同时,针对日志输出未自动换行导致可读性差的情况,通过修改控制器代码添加换行符,完成了日志格式的优化。
