分类: Web框架
-
本文记录了在 Yii 2.0 中使用 like 操作符查找反斜杠时结果为空的问题。经排查,在 MySQL 5.7.19 版本下,当字段排序规则为 utf8mb4_unicode_ci 时,需在 SQL 中多增加一根反斜杠才能查出数据。对比测试 utf8mb4_general_ci 排序规则则无此现象。查阅官方文档得知这是特定版本下 utf8mb4_unicode_ci 的已知 Bug,该问题在 MySQL 8.0.18 中已修复。
-
接口响应报错提示 SQL 语法错误,经排查发现当请求参数 filter 包含特定单引号时,生成的 FIND_IN_SET 语句因缺少转义导致异常。对比发现,同条件下 LIKE 语句未报错是因为进行了转义。为解决此问题,参考相关文档在 Yii 2.0 中新增了支持 FIND_IN_SET 函数的条件构建器,并在 ActiveDataFilter 中使用 addslashes 函数对参数值进行转义,修改后接口响应成功,SQL 语句正常执行。
-
在 Rancher 升级容器时遇到数据库迁移重复执行导致报错的问题。经分析,原因是数据库迁移耗时过长致使容器初始化超时,引发健康检查失败和容器反复重启。虽然调整了就绪检测时间,但初始化部署仍报超时。检查 MySQL 发现,特定迁移记录虽不存在于迁移表,但表结构已是执行后的结果,表明迁移曾在后台完成。最终确认需进一步优化检测配置以解决初始化阶段的冲突。
-
本文介绍了在 Yii 2.0 中通过命令行脚本将数据从 csp 数据库迁移至 cloud 数据库的实现过程。通过编写自定义控制器并执行相关命令,从源表筛选出 95 条记录并插入目标表。操作完成后,目标表记录总数变为 253 条,实际新增 95 条数据,符合迁移预期。
-
文章记录了在 Docker 环境下部署 Yii 2.0 时,实现单域名与多域名模式同时支持的过程。通过修改 frontend 配置文件与 Nginx 配置文件,并设定环境变量控制模式,利用 Shell 脚本判断变量值执行相应的文件拷贝操作。在解决因脚本执行顺序导致 Nginx 无法启动的问题后,成功完成了该部署配置。
-
文章记录了在将 Yii Framework 从 2.0.35 升级到 2.0.41.1 后,控制台命令 ./yii 出现无输出问题的排查过程。通过测试脚本初步定位问题与 /vendor 目录有关,在对比本地环境与开发环境的差异后,发现版本同步不一致导致异常。最终通过删除 /vendor 目录和 composer.lock 文件,重新提交代码并添加依赖,成功恢复了命令行的正常输出。
-
本文记录了将 Yii Framework 从 2.0.35 升级至 2.0.41.1 的过程。通过更新 Composer 工具并执行更新命令,解决了 fxp/composer-asset-plugin 插件冲突及已废弃的 flow/jsonpath 包依赖问题。针对 phpunit/php-token-stream 废弃提示,经检测存在多层依赖关系,决定暂时保留该警告,同时查阅框架升级说明以确认可能的兼容性更改。
-
在 Yii 2.0 开发过程中遇到 Malformed UTF-8 characters 报错,通过打印异常信息发现包含乱码。使用 mb_convert_encoding 转换字符编码后,响应状态码变为 500 并提示无法解析主机。经排查分析,该问题与系统返回的中文编码有关,而非简单的中文内容问题,因为某些未转换编码的错误信息能正常运行,需针对特定异常信息的字符编码进行处理。
