分类: PHP 7.1
-
本文介绍了在 Yii 2 高级项目模板中,使用 Nginx 实现单域名配置以支持 frontend、backend 和 api 三个应用的过程。通过修改 hosts 文件、调整各应用的配置文件以及 Nginx 配置文件,设定了正确的 baseUrl、会话与 Cookie 处理方式及路由规则。最终测试显示,各应用的静态资源访问、页面路由及调试模块均能按预期正确响应。
-
本文介绍了基于 yiisoft/yii2-app-advanced 模板在 GitHub 上新建仓库并实现 RPC 服务端的过程。文章首先通过 Postman 验证了 API 目录中 RESTful 风格接口的正常运行,随后使用 Composer 安装 Hprose,复制并调整 frontend 目录以创建独立的 RPC 应用。接着,文章详细说明了配置 Bootstrap 别名、编辑环境脚本、新增 Nginx 虚拟主机及 Vagrant 配置的具体操作,并对测试套件进行了构建与运行。最终通过访问接口地址和 Vagrant 环境,验证了配置符合预期。
-
针对 Docker 和 Rancher 部署环境,文章探讨了利用 Supervisor 定时执行 Yii 2 控制台命令的实施方案。通过创建配置文件设置间隔与停止等待时间,并升级以解决环境变量替换问题,最终实现了命令的预期执行。同时,针对日志输出未自动换行导致可读性差的情况,通过修改控制器代码添加换行符,完成了日志格式的优化。
-
本文解决了在 Yii 2 中基于 Hprose 实现 RPC 服务时报错 passthru() has been disabled for security reasons 的问题。本地环境接口请求成功,但开发环境请求失败,排查后发现是 PHP 配置限制了该函数。通过编辑客户端与服务端的 Dockerfile,从 disable_functions 配置项中删除 passthru,重新部署后再次请求接口,响应成功恢复正常。
-
本文针对基于 yiisoft/yii2-app-advanced 框架的 RESTful API 接口应用,分析了其默认支持 application/x-www-form-urlencoded 和 multipart/form-data 输入格式的现状,并解决了 application/json 格式下数据验证失败的问题。通过配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser,成功实现了对 JSON 输入格式的支持,使接口能够正确处理并转换原始 HTTP 请求主体。
-
Jenkins构建镜像时遇到Process类依赖proc_open函数报错,原因是无法下载dist包转而从源代码下载导致。解决方法为编辑Dockerfile,在disable_functions配置中删除proc_open和proc_close。此前因能下载dist包不涉及源码编译故未报错,移除禁用函数限制后重新构建镜像,最终从源代码下载成功并完成构建。
-
本文探讨了在公有云环境下,基于 Yii 2 框架实现多租户逻辑隔离的方法。通过在数据库表中设置租户ID字段,并自定义活动查询类,系统在每次查询时默认添加租户ID条件。文章详细介绍了模型类继承结构、规则调整过程及 SQL 语句优化,最终验证了该方案能有效实现数据隔离并避免查询条件重复。
-
本文基于 yii2-app-advanced 模板新建接口应用,利用 yii2tech 扩展实现 ActiveRecord 软删除。通过数据库迁移调整用户状态字段,配置行为类将删除操作转为状态标记,利用 Gii 生成 ActiveQuery 并自定义查询类以层级继承方式过滤数据,最终实现了 RESTful 接口下符合预期的数据增删改查及软删除逻辑。
-
本文基于 yii2-app-advanced 项目新建接口应用,将数据库字符集调整为 utf8mb4 并配置 RESTful 风格的响应格式。针对开发环境出现的数据库索引长度报错问题,分析了 MySQL 版本差异导致的限制,通过启用 Innodb_large_prefix 参数并修改迁移文件解决了该故障。文章还实现了请求日志记录功能,配置了忽略 GET 请求的规则,并完成了支持筛选功能的日志列表与详情接口。
