分类: 编程语言
-
针对在 Yii 2.0 框架中添加 .docx 扩展名后仍无法上传的问题,分析发现其根本原因是 PHP 的 Fileinfo 函数将 .docx 文件识别为 application/zip,导致框架在基于 MIME 类型校验扩展名时判定不匹配。文章记录了通过调试跟踪核心代码找到原因的过程,最终的解决方案是新建类继承 FileValidator 并覆写验证方法,同时在验证规则中补充对应的 MIME 类型列表,成功实现了 Office 2007 格式文档的合法上传。
-
文章针对 Yii2 队列扩展 Redis 驱动中 info 命令显示 reserved 状态队列积压的问题进行分析,发现异常处理逻辑缺陷导致作业无法释放。在 Supervisor 仅启动单一监听进程的情况下,为恢复程序运行,通过 remove 命令逐个删除作业。实际操作结果显示,reserved 状态队列数量持续减少,done 状态数量增加,验证了该手动清理方案符合预期。
-
在基于 Rancher 升级容器时,Yii2 高级模板初始化报错提示 frontend/web/assets 目录不存在。经排查,该目录在源代码中存在,但因容器内的 web 目录已被映射至挂载存储,实际路径指向了存储而非源代码目录导致报错。删除存储上的挂载配置后,再次进行升级和初始化操作,问题成功解决。
-
在网页框架中点击链接时,控制台报错提示跨域访问被阻止。经分析,主页面、框架页面与目标链接的域名不一致,触发了同源策略限制,导致脚本无法通过父级上下文访问跨域框架。排查发现代码中使用了parent.$RouterTo,遂将其修改为window.$RouterTo以调整上下文调用方式。修改后再次点击链接,目标页面已能正常打开,问题得到解决。
-
针对 WordPress 插件 SyntaxHighlighter Evolved 不支持 Go 语言代码高亮显示的问题,通过查阅官方文档确认默认不支持该语言。解决方法是在插件列表中搜索并安装名为 SyntaxHighlighter Evolved: Go Brush 的扩展插件并启用。经过测试,在网页端重新加载页面后,Go 语言代码段已成功实现高亮显示。
-
网站升级至 HTTPS 协议后,百度和阿里妈妈的广告嵌入出现未显示问题。经分析,原因为嵌入代码中仍包含 HTTP 网址,导致浏览器拦截不安全脚本。解决方法是将代码中的 HTTP 地址替换为 HTTPS 地址。修改后,百度与阿里妈妈广告均可成功显示,且网页不再提示安全风险,问题得到解决。
-
本文记录了基于阿里云将个人博客迁移升级的过程。由于容器服务费用超出预算,最终决定沿用原生系统,将数据盘扩容并升级至CentOS 7.7,使用OneinStack自动部署LNMP环境与PHP 7.4。配置云数据库RDS后,通过导入SQL文件并修改WordPress配置文件完成了数据迁移,最终实现了博客成功跳转、支持HTTPS及WordPress版本的正常升级。
-
针对 MySQL 5.6 与 5.7 版本,本文记录了利用 EXPLAIN 分析查询并添加索引的优化过程。通过对 pa_plan_task 及其关联表分别添加 idx_group_id、idx_create_user_id 等索引,观察到部分表的扫描类型从 ALL 变为 ref,性能提升明显。随后调整 SQL 语句合并重复逻辑,并为相关表添加 idx_is_deleted 索引,最终改变了执行计划中的连接顺序,减少了排序与临时表的使用,总体性能得到改善。
