月度归档: 2019 年 7 月
-
在 Rancher 中升级容器时遇到报错 /config/init/config0.sh: line 1314: syntax error near unexpected token `}’,经 PhpStorm 编辑器检查发现脚本第 1314 行存在语法错误,提示 Expected a command。通过注释掉该行相应代码后重新在 Rancher 中执行升级操作,最终容器升级成功,问题得到解决。
-
本文针对 Yii 2.0 框架下需要基于 MySQL ActiveRecord 与 Redis ActiveRecord 同时查询资源的问题,实现了对 Redis 中存储的用户昵称进行模糊搜索的功能。鉴于 Redis ActiveRecord 不支持 like 操作符,文章采用先通过 MySQL 获取用户 ID 列表,再利用 in 操作符从 Redis 读取对应昵称数组,最后使用 PHP 函数模拟 SQL LIKE 语句进行过滤。测试结果表明,该方案能够正确生成符合预期的 SQL 语句并获取准确的查询结果。
-
本文针对基于 Yii 2.0 的 Supervisor 命令行脚本在持续运行期间占用内存过高的问题进行了分析与解决。通过监控 Docker 容器资源,定位了 Redis AR 模型查询和高频执行导致的内存增长。优化措施包括使用 unset() 释放变量、利用 asArray() 获取数组形式结果、修复 HTTP 客户端 400 错误以及引入同步标识控制执行频率。最终测试表明,调整查询方式和执行策略有效降低了内存占用,证明了优化方案的可行性。
-
在 Docker 部署过程中将目录名从 sobey 修改为 mcloud 时,Jenkins 构建镜像报错 composer install 返回非零代码。排查 Dockerfile 后发现是执行批量替换操作导致,将目录中的 mcloud 还原为 sobey,仅替换指定的几处后,构建镜像最终成功,问题得以解决。
-
本文针对 PHP 7.2 环境下请求参数数量达到 1136 个时触发 mb_parse_str 输入变量超限报错的问题进行了分析。通过编辑 php.ini 配置文件,将限制输入变量数量的 max_input_vars 值调整为 10000,解决了变量被截断导致的警告。随后针对调整后出现的脚本执行超时问题,将最大执行时间 max_execution_times 修改为 300。重启 PHP 进程后,再次请求成功响应。
-
本文通过调用 memory_get_usage() 函数,分析了 PHP 脚本在不同状态下的内存占用情况。实验显示,将 real_usage 参数设置为 TRUE 可以获取系统分配的总内存尺寸,设置为 FALSE 则仅查看实际使用量。测试结果表明,使用 unset() 释放变量不仅有效降低了脚本实际使用的内存量,也能减少系统分配的总内存尺寸。此外,在 Yii 2.0 框架中验证发现,调试面板显示的内存数值与内存峰值函数获取的数据一致。
