分类: Web框架
-
在 Yii 2.0 数据库迁移时遇到 Redis 认证报错,提示客户端发送了 AUTH 但未设置密码。通过终端测试验证了该问题,随后编辑 Redis 配置文件添加 requirepass 项并设置密码。在 Windows 10 中停止并重新启动 Redis 服务后,终端认证测试返回 OK,Yii 2.0 的数据库迁移也最终成功执行。
-
本文记录了 CakePHP 2.6.4 项目部署时将 BASE URL 从根目录调整至二级目录的过程。主要操作包括移动程序目录位置、修改 Nginx 配置,以及针对 CSS 和 JS 资源加载路径的排查与处理。经测试,修复静态资源 404 问题并配置重写规则后,各页面接口及资源均响应 200,调整符合预期。
-
针对集群部署下 Yii2 队列执行时间不可控甚至超出一小时的问题,通过在扩展源代码中打印日志定位原因。怀疑多进程监听存在严重锁定问题,遂将 Supervisor 中的队列监听命令替换为运行命令,并部署双容器测试。结果显示,info 命令查看的 reserved 状态队列持续时间约为1分钟,4组队列全部执行完毕控制在10分钟内,集群环境下也未出现新问题。
-
本文探讨了在 Yii 2.0 框架中使用查询构建器定义 LIKE 操作符 WHERE 条件的具体实现。通过设置操作数,包括字段名称、模糊查询值以及可选的转义映射参数,能够灵活控制 SQL 语句的生成逻辑。文章详细说明了如何通过禁用转义功能或使用数组,生成以特定字符前缀开始的查询语句,最终生成的 SQL 语句符合预期。
-
在使用 Yii 2 框架的 HTTP 客户端扩展上传文件时,遇到内存耗尽报错的问题。通过本地测试发现,内存占用约为文件大小的 3 倍。由于暂无代码层面的内存优化方案,最终采取修改 php.ini 配置文件,增加 memory_limit 值的方法来解决。当该值设置为 4096M 时,可成功上传 1.01GB 的文件;设置为 6144M 时,则能够解决 1.44GB 文件的上传报错问题。
-
文章基于 Yii 2 框架实现了将远程资源文件下载至服务器并另存为指定文件名的功能。初始方案因直接读取内容导致下载大视频时内存占用高达 400MB,甚至超出内存限制而报错。经重构代码,利用 cURL 传输机制通过设置输出文件流,实现了下载同步写入,最终将内存占用降至约 7MB,解决了大文件下载受限于内存配置的问题。
-
本文探讨了在 Yii 2.0 中 Redis 活动记录基于 row 查看结构时与模型字段顺序不一致的问题。通过打印模型对象前后状态及检查 Redis 配置发现,原因是字段值超出了 hash-max-zipmap-value 限制导致哈希表结构变更。将该字段修改为空字符串后,字段顺序恢复一致,证实了字节限制对存储结构的影响。
-
本文介绍了在 Yii 2.0 中解决基于文章发布时间范围筛选账号数量排行的问题。通过调用 onCondition 方法在 JOIN 查询的 ON 部分指定状态额外条件,并新增配置 filterAttributeName 的过滤器来实现关联表记录创建时间的筛选。最终,通过接口地址传递相关参数,成功生成符合预期的 SQL 查询语句并获取了正确的响应结果。
-
本文探讨了在 Yii 2.0 中处理表结构多重关联时,基于 ActiveDataFilter 实现查询过滤的方法。文章针对主表通过中间表与多张附表关联,且需最终依据附表关联的分类表字段进行过滤的场景,通过配置搜索模型的 attributeMap 设置不同关联别名,并修改序列化文件重置数据,实现了通过指定字段查询主表数据的最终目的。
-
文章介绍了在 Yii 2.0 中通过命令行生成数据库迁移类并为表添加多个字段的方法。通过遵循 add_xxx_to_yyy 的命名格式并配合 fields 参数,可自动生成包含 addColumn 和 dropColumn 的类文件。编辑该文件补充字段注释与顺序后,使用提交命令升级数据库结构,最终验证表设计符合预期。
