分类: Web应用开发
-
本文记录了在 Yii 2.0 中实现 RPC 的 ActiveDataFilter 的过程。文章主要解决了将 RESTful API 接口从本地迁移至 RPC 架构下,并支持筛选参数的问题。通过新建 RPC 服务端控制器、客户端模型及方法文件,实现了客户端对服务端的请求转发与参数处理。测试结果显示,GET 请求能正确携带筛选参数并返回预期数据,日志验证了请求经由客户端转发至服务端的流程,最终完成了接口迁移与筛选功能支持。
-
CakePHP v2.6.4 运行中出现 SQLSTATE[HY000] [2002] Connection timed out 报错,经检查发现数据库主机地址配置为内网IP,导致容器无法访问。将该地址调整为外网IP后,打印数据库连接信息确认容器可以正常访问,问题得以解决。
-
文章分析了通过微博开放平台接口发布链接后提示需长按复制网址才能访问的问题。经对比测试发现,该现象与发布方式无关,而是取决于链接本身。部分网址可以直接打开,另一部分则受限。查明微博自2020年7月起实行外链白名单机制,仅对名单内的网址提供跳转服务。最终解决方向是在微博应用中添加安全域名或申请加入白名单。
-
针对产品部署时初始化数据的存储需求,文章阐述了在容器启动时将文件复制至 NAS 存储的实现方法。基于 CakePHP v2.6.4 框架,通过新建 Shell 脚本文件,编写了将本地目录下特定日期文件夹中的所有文件同步至挂载 NAS 存储目录的逻辑。操作中利用命令行工具执行同步任务,并配置了容器启动脚本自动运行该命令。最终经日志验证,文件成功复制至指定 NAS 路径,满足了自动化初始化存储的预期。
-
本文针对在 CakePHP v2.6.4 中运行 Shell 命令报错 Error Shell class HelloShell could not be found 的问题进行分析与解决。首先在 Console/Command 目录下创建 HelloShell.php,通过在 app 目录执行 Console/cake hello 命令,替代在 Console 目录下执行 ./cake hello,成功解决了找不到类的问题,使命令能够正常运行。
-
本文介绍了在 Yii 2.0 中优化服务器健康检查实现的过程。通过分析源码发现,数据库检查中的 getIsActive() 方法是冗余的,直接使用 open() 方法即可。针对 Redis 连接,虽然 ping 命令常用于测试连接,但其实质仍需先执行 open()。经过错误密码测试验证后得出结论,为保持检测方式统一,无论是数据库还是 Redis,均应统一采用 open() 方法进行连接检查。
-
本文针对 PhpStorm 提示 Invalid VCS root mapping 的问题进行了分析,发现原因是 vendor 目录下依赖包包含 .git 目录导致版本控制映射冲突。文章记录了通过删除磁盘依赖文件、执行 composer install –prefer-dist 命令重新安装包的过程,成功移除了依赖包内的 .git 目录。经清理 PhpStorm 配置并重建项目验证,该错误提示已消除,且文件能正常提交至 Git。
-
针对Yii 2.0中使用file_put_contents写入字符串时,因团队内部定义文件名形式不一导致运行环境变化后出现路径或权限问题进而写入失败的情况,文章通过统一采用别名来提升普适性与成功率,最终将数据成功写入指定路径的文件中。
-
针对发布视频稿件至哔哩哔哩时提示稿件分区错误的问题,通过对比发现发布失败的分类为资讯-综合,而成功的分类为生活-其他。经排查,当前帐号等级在创作中心分区中无法选择资讯-综合,导致接口提交时报错,而媒体号则支持该分类。分析确认错误原因是接口分类与账号实际可用分区不匹配,后续计划基于会员等级即时获取文章分类,以避免此类错误。
-
文章基于 yiisoft/yii2-app-advanced 演示了在 GitHub 新建仓库并实现远程过程调用应用的过程。内容包括在 rpc 目录创建基于 Hprose 2.0 的服务端,在 api 目录实现客户端,配置 HTTP 服务器及解决 Windows 环境下的并发问题。同时,通过 Gii 生成 v1 模块以实现版本控制,整理模型类与命名空间,并新建公共逻辑类以支持属性定义与数据验证,最终通过测试接口验证了服务端与客户端的交互正常。
