分类: PHP
-
在解决微博渠道发布文章因文本过长报错的问题时,通过测试确定了必须从内容中删除 URL 后计算长度的规则。文章描述了在 PHP 模型验证规则中实现该功能的过程,包括引用网络上的正则表达式、针对 URL 前出现字母或数字无法删除的 Bug,参考相关讨论并删除单词边界符进行修正,最终实现了准确提取有效文本并验证长度。
-
文章针对在 Yii 2.0 中实现跨多表数据唯一性验证的需求,通过核心验证器 unique 结合 filter 回调函数,利用匿名函数修改查询对象,将模型关联字段、常量状态以及请求参数数组存储为全局变量后注入验证逻辑,最终实现了针对文章标题与渠道任务关联条件的复杂唯一性校验,生成的 SQL 查询符合预期。
-
本文记录了解决 Yii 2.0 报错 yii\base\ErrorException: Undefined index: HTTP_ACCEPT 的过程。通过查看运行时日志发现,当 User-Agent 为 okhttp/3.12.0 时,$_SERVER 数组中不存在 HTTP_ACCEPT 索引。解决方法是要求 Android 客户端在 Headers 中明确声明 Accept 参数,或者在服务端代码中增加判断,当该索引不存在时不直接使用,从而消除错误。
-
在基于 Yii 2.0 上传 .jpg 文件时,尽管允许的扩展名列表中已包含 jpg,上传仍被拒绝。通过调试 FileValidator.php 发现,系统默认开启的 checkExtensionByMimeType 功能通过 MIME 类型校验扩展名,但判定结果不匹配,导致文件无效。最终将文件扩展名改为 png 后上传成功,确认问题源于 MIME 类型与扩展名的校验机制。
-
更改 WordPress 主题 Hueman 的网站最大宽度为 1680 px 后,首页缩略图因放大而变得不够清晰。通过编辑主题文件 content-featured.php,将 col-3cm 的值从 thumb-large 修改为 thumb-xxlarge,使缩略图调用 1320×500 px 规格的图片。修改后,缩略图在首页显示时由放大变为缩小,画质变得清晰且符合预期,注意每次升级主题后需重复编辑该文件。
-
本文介绍了基于 Composer 将 Yii Framework 从 2.0.15.1 版本升级到 2.0.31 的过程。首先通过命令将 Composer 更新至最新版本,随后运行更新命令完成 Yii 框架的升级。文章还说明了如何在线查看升级说明文档,以了解可能的不兼容更改及类属性与方法的调整情况。
-
本文介绍了在 Yii 2.0 生产环境中开启 Schema 缓存以优化性能的操作,包括修改配置文件、验证 Redis 缓存生成及手动清理缓存的命令。测试发现清除 Schema 缓存后并非立即刷新数据,而是在下次调用相关表结构时触发更新。文章还说明了在 Docker 容器部署和 Rancher 升级时执行数据库迁移与清理命令的流程。性能测试对比显示,开启缓存后接口并发峰值反而略有下降,因此决定暂时保留该配置不回退。
-
针对 Yii 2.0 中企鹅号任务发布后入库失败无法查询记录的问题,文章放弃了客户端冗余存储方案,采用新建预发布日志表并增大字段长度的设计。通过创建继承 ActionFilter 的过滤器,在动作执行后根据返回码非 10000 时插入记录,并利用 UNION ALL 语法合并查询结果,成功实现了入库成功与失败皆可查询的功能。
-
文章针对 Yii 2.0 默认不支持 MySQL 的 MEDIUMTEXT 等字段类型的问题,通过参考 SchemaBuilderTrait.php 源码,在控制台目录下新建自定义 Trait 文件并添加相应类型支持。操作过程包括复制核心文件、实现扩展方法以及在迁移文件中引用该 Trait。执行迁移后,成功创建了包含 MEDIUMTEXT 类型字段的数据库表,经验证字段类型符合预期。
