分类: 编程语言
-
本文记录了 MySQL 报错 1055 的解决过程,该错误由于 sql_mode 包含 only_full_group_by 导致非聚合列未出现在 GROUP BY 子句中。文章首先尝试调整 SQL 语句,使查询字段与分组字段完全一致从而消除报错。随后考虑到修改代码成本较高,参考相关技术文档,通过修改配置文件 my.ini 调整设置,最终解决了该兼容性问题。
-
接口响应报错提示 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 条数据,符合迁移预期。
-
本文记录了将自建 Redis 数据迁移至腾讯云自带 Redis 的过程。作者在自建 Redis 服务器上编写 Python 2.x 脚本,连接源端与目标端数据库,通过安装 redis-py 模块并将版本回退至 2.10.6,解决了运行报错与版本兼容问题。最终脚本成功执行,目标数据库键值总数与源端一致,验证了迁移在腾讯云 Redis 2.8.23 及 4.0 版本下均可有效完成。
-
文章记录了在 Docker 环境下部署 Yii 2.0 时,实现单域名与多域名模式同时支持的过程。通过修改 frontend 配置文件与 Nginx 配置文件,并设定环境变量控制模式,利用 Shell 脚本判断变量值执行相应的文件拷贝操作。在解决因脚本执行顺序导致 Nginx 无法启动的问题后,成功完成了该部署配置。
-
本文记录了将 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 并提示无法解析主机。经排查分析,该问题与系统返回的中文编码有关,而非简单的中文内容问题,因为某些未转换编码的错误信息能正常运行,需针对特定异常信息的字符编码进行处理。
-
针对MySQL表注释、字段注释及表中值出现乱码的问题,通过在SQL文件最开头添加SET NAMES utf8mb4;命令,可以有效解决字符编码不匹配的情况,执行后表结构注释与数据内容均能正确显示,不再出现乱码现象。
-
针对 Shell 脚本运行报错 APPID unbound variable 的问题,排查发现赋值语句中包含 $APPID$ 字符串,本应保持原样却被 Shell 误判为变量。解决方法是在 $ 前添加转义字符修改为 \$APPID\$,避免 Shell 进行变量替换。验证运行后不再报错,且最终配置文件中该字符串保持原样,符合预期。
