Yii 2 安装指南Composer 与压缩包两种方式、环境校验及 Apache/Nginx 生产配置【免费下载链接】yii2Yii 2: The Fast, Secure and Professional PHP Framework项目地址: https://gitcode.com/gh_mirrors/yi/yii2本指南基于 Yii 2 官方文档法语版docs/guide-fr/start-installation.md整理完整覆盖 Yii 2 框架的两种安装方式、项目模板概念、资源Assets依赖管理、安装后验证以及生产环境的 Web 服务器配置。读完本文你将能够独立完成 Yii 2 基础项目模板Basic Project Template的安装、环境检查并掌握将应用部署到 Apache 或 Nginx 的推荐配置。安装方式总览Composer 与压缩包Yii 2 提供两种安装方式使用 Composer 包管理器安装推荐方式一条命令即可安装扩展或升级 Yii便于后续维护。下载压缩包安装从官网下载归档文件手动解压适合无法使用 Composer 的环境。无论采用哪种方式标准安装都会同时下载并安装框架本体与一个项目模板Project Template。项目模板是一个可运行的 Yii 应用预置了登录、联系表单等基础功能代码按官方推荐方式组织是启动自有项目的良好起点。Yii 官方提供两种项目模板基础项目模板Basic Project Template本指南的核心对象代码组织简单适用于约 90% 的 Web 应用场景对初学者尤其友好高级项目模板Advanced Project Template更适合多团队、多层级前端/后端分离的开发环境两者主要区别在于代码组织方式。方式一通过 Composer 安装1. 安装 Composer若尚未安装 Composer在 Linux 和 macOS 上可执行curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composerWindows 用户下载并运行Composer-Setup.exe即可。若已安装过旧版本请先执行composer self-update升级到最新版本。本指南中的命令均假设 Composer 已全局安装并可直接通过composer命令调用如果你是在本地目录使用composer.phar请相应调整命令写法。注意GitHub API 限流安装 Yii 时 Composer 需要从 GitHub API 获取大量依赖信息请求次数取决于应用依赖数量可能超过GitHub API rate limit。此时 Composer 会提示输入 GitHub 登录凭据以获取访问令牌。网络较快时更容易触发限流因此建议在安装 Yii 之前预先配置好 GitHub API 访问令牌参见 Composer 官方文档中关于 API rate limit and OAuth tokens 的说明。2. 使用 Composer 创建项目在 Web 可访问的目录下执行composer create-project --prefer-dist yiisoft/yii2-app-basic basic该命令会在basic目录中安装最新稳定版的 Yii 基础项目模板目录名可自行修改。--prefer-dist让 Composer 优先使用压缩包分发dist安装更快。如果composer create-project失败可参考 Composer 官方文档的 Troubleshooting 章节排查常见错误修复错误后在basic或你自定义的目录中执行composer update即可继续被中断的安装。提示开发版本如需安装 Yii 的最新开发版本可添加稳定性选项composer create-project --prefer-dist --stabilitydev yiisoft/yii2-app-basic basic注意开发版本不应用于生产环境因为它可能破坏现有代码。方式二通过压缩包安装从归档文件安装只需三步从 yiiframework.com 官网下载应用归档文件将归档解压到 Web 可访问的目录修改config/web.php为cookieValidationKey配置项填入一个密钥使用 Composer 安装时此步骤会自动完成// !!! insert a secret key in the following (if it is empty) - this is required by cookie validation cookieValidationKey enter your secret key here,cookieValidationKey用于对 Cookie 进行校验签名是防止 Cookie 被篡改的关键配置生产环境必须设置为随机且不可预测的密钥。其他安装选项仅安装框架、从零构建应用如果只想使用核心框架并自行搭建完整应用结构可参考 从零开始构建应用使用高级项目模板若需要更复杂的、适合团队协作的多层级应用可考虑安装 Advanced Project Template其代码组织方式与基础模板不同。安装资源AssetsCSS 与 JavaScript 库Yii 依赖 Bower。如果希望改用原生 Bower/NPM 客户端管理资源、使用 CDN或完全跳过资源安装可在composer.json中添加如下配置阻止 Composer 安装资源replace: { bower-asset/jquery: 1.11.0, bower-asset/inputmask: 3.2.0, bower-asset/punycode: 1.3.0, bower-asset/yii2-pjax: 2.0.0 },注意绕过 Composer 安装资源后你需要自行负责资源的安装与版本冲突的解决不同扩展提供的资源文件之间可能出现不一致。验证安装内置 Web 服务器与需求检查安装完成后可以先用 PHP 内置 Web 服务器快速验证而无需立即配置生产 Web 服务器。在项目根目录执行php yii serve默认监听8080端口若端口被占用或需要同时服务多个应用可指定端口php yii serve --port8888然后在浏览器访问http://localhost:8080/应看到上图所示的 Congratulations! You have successfully created your Yii-powered application. 欢迎页面。php yii serve的底层实现该命令由 ServeController 提供。从源码看其默认port 8080、docroot app/web并支持--port/-p、--docroot/-t、--router/-r三个选项见options()与optionAliases()方法。启动前它会用isAddressTaken()探测地址是否已被占用ServeController.php最终通过passthru()调用php -S启动内置服务器ServeController.php。如需从远程机器访问例如在虚拟机中运行可用0.0.0.0:8080作为监听地址。如果页面没有正常显示请检查 PHP 环境是否满足 Yii 的最低要求可通过以下任一方式校验用浏览器访问http://localhost/basic/requirements.php在命令行执行cd basic php requirements.php关于 PHP 版本要求的重要说明原安装文档撰写时要求 PHP 5.4 以上理想为 PHP 7但以当前仓库为准框架的最低要求已提升为PHP 7.3.0 或更高——这一点在 requirements.php 中有明确判定条件。此外该需求检查脚本还列出多项扩展要求其中强制mandatory项包括Reflection、PCRE、SPL、Ctype、MBString可选非强制项包括OpenSSL加密解密、Intl国际化、Yii::t()高级参数格式化、Inflector::slug()对非拉丁语系的支持等、Fileinfo文件上传 MIME 类型检测、DOMREST API 的 XML 响应格式化等requirements.php。如果应用需要数据库还需安装PDO PHP 扩展及对应数据库驱动如 MySQL 使用pdo_mysql。配置生产 Web 服务器如果只是测试 Yii 而暂不部署到生产服务器可先跳过本节。按上述说明安装的应用开箱即用可运行在 Apache 或 Nginx 之上Windows、macOS、LinuxPHP 7.3 及以上。生产环境下通常希望应用通过https://www.example.com/index.php访问而不是https://www.example.com/basic/web/index.php这要求将 Web 服务器的**文档根目录document root**指向basic/web文件夹。为什么要把文档根目录设为basic/web这样用户将无法访问与basic/web同级的私有应用代码和敏感数据文件是一种重要的安全改进。若应用运行在无法修改 Web 服务器配置的共享主机环境中可参考 共享主机环境 调整应用结构以提升安全性。另外若应用位于反向代理之后可能需要在 request 组件中配置 可信代理与请求头。关于隐藏 URL 中的index.php美化 URL / Pretty URL详见 路由与 URL 创建。推荐的 Apache 配置在httpd.conf或虚拟主机配置中使用以下配置将path/to/basic/web替换为实际路径# Configuration du dossier racine DocumentRoot path/to/basic/web Directory path/to/basic/web # 使用 mod_rewrite 支持美化 URLpretty URL RewriteEngine on # 如果请求的是真实存在的文件或目录则直接响应 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 否则将所有请求转发到 index.php前端控制器 RewriteRule . index.php # 当 UrlManager 中 $showScriptName 为 false 时拒绝带脚本名的 URL 访问 RewriteRule ^index.php/ - [L,R404] # ...其他配置... /Directory关键点说明RewriteCond %{REQUEST_FILENAME} !-f/!-d静态文件与目录仍由服务器直接处理只有不存在的路径才交由index.phpRewriteRule ^index.php/ - [L,R404]配合UrlManager的showScriptName false防止用户通过显式带index.php的 URL 访问。推荐的 Nginx 配置使用 Nginx 时需以PHP-FPMFPM SAPI方式运行 PHP。将path/to/basic/web替换为实际路径、mysite.test替换为实际主机名server { charset utf-8; client_max_body_size 128M; listen 80; ## 监听 ipv4 #listen [::]:80 default_server ipv6onlyon; ## 监听 ipv6 server_name mysite.test; root /path/to/basic/web; index index.php; access_log /path/to/basic/log/access.log; error_log /path/to/basic/log/error.log; location / { # 将所有非真实文件的请求转发到 index.php try_files $uri $uri/ /index.php$is_args$args; } # 取消注释可避免 Yii 处理不存在的静态文件请求 #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { # try_files $uri 404; #} #error_page 404 /404.html; # 拒绝访问 /assets 目录下的 PHP 文件 location ~ ^/assets/.*\.php$ { deny all; } location ~ \.php$ { include fastcgi.conf; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php5-fpm.sock; } location ~ /\.(ht|svn|git) { deny all; } }使用此配置时还应在php.ini中设置cgi.fix_pathinfo0以避免大量不必要的系统stat()调用、提升性能。当使用 HTTPS 时需添加fastcgi_param HTTPS on;让 Yii 能正确识别安全连接。小结至此你已经掌握了 Yii 2 的完整安装链路通过 Composer 或压缩包两种方式获得基础项目模板按需调整资源Assets的安装策略用php yii serve快速验证安装结果并通过requirements.php确认 PHP 环境满足要求当前仓库要求 PHP 7.3.0并强制依赖 Reflection、PCRE、SPL、Ctype、MBString 等扩展最后按推荐配置将应用部署到 Apache 或 Nginx。接下来即可基于模板开始编写控制器、模型与视图或参考 从零开始构建应用 搭建自定义结构的项目。【免费下载链接】yii2Yii 2: The Fast, Secure and Professional PHP Framework项目地址: https://gitcode.com/gh_mirrors/yi/yii2创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
单目图像3D人体骨架估计:2D到SMPL兼容关键点全指南 简介:这是一份面向计算机视觉与姿态估计方向研究者和开发者的实战项目,聚焦从单张彩色图像中同时估计2D与3D人体关键点,并输出SMPL模型兼容的姿态参数。核心覆盖二维关键点检测、三维空间映射、SMPL模型适配与参数优化等环节,适用… · 2026/9/23 7:35:35
PaddleSpeech Multi-CN 全量中文语料整合方案:OpenSLR 多数据集联合训练中文语音识别模型 PaddleSpeech Multi-CN 全量中文语料整合方案:OpenSLR 多数据集联合训练中文语音识别模型 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text fr… · 2026/9/23 7:35:35
IsaacGym强化学习环境搭建:版本锁链与训练闭环实战指南 简介:一份基于IsaacGym物理仿真引擎的强化学习机器人运动控制项目资源,面向机器人学习与仿真研究者、强化学习算法开发者,适合在复杂物理环境下训练和评估运动控制策略。包内完整包含项目源码、仿真模型与配套说明,共1258个文件&a… · 2026/9/23 8:14:56
深度学习驱动的电影评论情感分析系统:Python完整项目实战拆解 简介:这份资源是一个基于深度学习的电影评论情感分析系统完整项目,面向Python学习者、毕业设计学生以及需要快速落地情感分析应用的人群。系统以Python为后台框架,前端采用HTML配合Bootstrap、Layui等UI组件,内置数据处理、模型训… · 2026/9/23 8:14:55
分布式高性能高可用:核心知识点、面试要点与实战经验全解析 做后端开发这么多年,有个体会越来越深:分布式、高性能、高可用这三个词,几乎贯穿了从初级工程师到架构师的全部成长路径。无论你是在准备面试,还是在排查线上故障,或者是在设计一个新系统,绕来绕去都离不开… · 2026/9/23 8:14:49
FITC-PEG-Acrylate:多功能荧光标记试剂的应用与技术解析 1. FITC-PEG-Acrylate试剂概述FITC-PEG-Acrylate(荧光素-聚乙二醇-丙烯酸酯)是一种集荧光标记、生物相容性和化学交联功能于一体的多功能试剂。作为一名长期从事生物标记材料研究的科研人员,我发现这款试剂在实验室中的应用频率越来越高。它巧… · 2026/9/23 8:14:37
糖如何增强泡沫稳定性:从原理到实践 1. 泡沫稳定性背后的科学原理泡沫是我们日常生活中随处可见的现象,从早晨的卡布奇诺咖啡到沐浴露产生的泡泡,再到烘焙蛋糕时的蓬松组织。但你是否思考过,为什么有些泡沫能维持数小时不破,而有些则在瞬间消失?这个看似简… · 2026/9/23 8:14:37
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29