Yii3.0 全栈开发配置总结【实战】

秋瑶同学_7009

秋瑶同学_7009

2026-08-06

719人浏览

原创

必须使用 php 8.0+(推荐8.4),通过composer create-project yiisoft/yii-base-web创建项目,配置nginx/apache重写规则,初始化di容器并验证/health端点返回{"status":"ok"}。

yii3.0 全栈开发配置总结【实战】

要在本地快速搭建一个可运行、可调试、可部署的 Yii3 全栈开发环境,必须严格匹配 PHP 版本、Composer 依赖结构和 Web 服务器路由规则,缺一不可。

确认并安装满足要求的 PHP 环境

Yii3 不兼容 PHP 7.x 或 HHVM,强行使用会导致 composer install 失败、DI 容器初始化崩溃、属性类型声明报错等不可恢复问题。

执行 php -v 检查当前版本,若低于 8.0,请卸载旧版并安装 PHP 8.4(推荐)或至少 8.0。

Ubuntu 用户可运行:sudo apt install php8.4-cli php8.4-mbstring php8.4-xml php8.4-pdo php8.4-mysql php8.4-opcache php8.4-curl php8.4-json。

macOS 用户建议用 【Homebrew + php@8.4】,避免通过 MacPorts 或预装 PHP 引入路径混乱。

Windows 用户请直接下载 php.net 官方 PHP 8.4 Thread Safe VC17 x64 ZIP 包,解压后手动配置系统 PATH 并启用 extension=php_openssl.dll 等必需扩展。

创建 Yii3 项目骨架

Yii3 不再提供 yii2-composer 或高级模板,官方只维护两个基础模板:

方法一:Web 应用模板(含 public/index.php 入口和基本路由)
运行:composer create-project yiisoft/yii-base-web myapp

方法二:通用工程模板(无 Web 入口,适合构建 CLI 工具或微服务)
运行:composer create-project yiisoft/yii-project-template myapp

⚠️ 注意:不要用 yii/base 或 yii/framework 这类已废弃包名,它们在 2024 年后已从 Packagist 彻底移除。

项目生成后,进入目录执行 composer install,确保所有 yiisoft/* 组件正确拉取,特别是 yiisoft/di、yiisoft/router、yiisoft/log 三个核心包。

Yii Framework 2.0.51
Yii Framework 2.0.51

Yii Framework 2.0.51 官方 Basic 应用模板,适合旧项目兼容、升级验证和开发测试。

下载

配置 Web 服务器支持 URL 重写

Nginx 配置关键段(保存为 /etc/nginx/sites-available/myapp):

```nginx
server {
  listen 80;
  root /var/www/myapp/public;
  index index.php;
  server_name localhost;
  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
}

Apache 用户需启用 mod_rewrite,并在 public/.htaccess 中保留 Yii3 默认规则——该文件由模板自动生成,【切勿删除或注释 RewriteEngine On 行】。

PHP 内置服务器仅用于开发调试,启动命令为:php -S localhost:8080 -t public/。注意:它不支持 .htaccess,且无法模拟真实 Nginx/Apache 的 PATH_INFO 行为,某些路由中间件可能异常。

初始化应用配置与 DI 容器

第一步:打开 config/web.php,确认已包含以下最小依赖注入定义:

'yiisoft/router' => [ 'class' => \Yiisoft\Router\SimpleRouter::class ],<br>'yiisoft/view' => [ 'class' => \Yiisoft\View\WebView::class ]

第二步:在 src/Bootstrap.php 中注册默认中间件管道,例如添加日志记录和错误处理:

$app->add(new \Yiisoft\Logger\Filter\LogLevelFilter([LogLevel::ERROR, LogLevel::WARNING]));<br>$app->add(new \Yiisoft\ErrorHandler\Middleware\ErrorCatcher());

第三步:运行 php public/index.php,若返回空白页且 HTTP 状态码为 200,说明 DI 容器已成功加载并完成组件绑定;若报错 “Class not found” 或 “Cannot resolve dependency”,说明某 yiisoft/* 包未被正确 require 或 autoloader 未生效。

这一步操作起来很简单,直接把文件拖进去就行。

第四步:验证路由是否生效——访问 http://localhost:8080/health(默认健康检查端点),应返回 JSON {"status":"ok"}。该端点由 yiisoft/health-check 包提供,若 404,请检查是否漏装该包或未在 config/routes.php 中注册对应 handler。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

10124

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

6001

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

2075

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

3768

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

4454

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

3491

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

4977

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

3902

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

11862

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Yii Framework 2.0 API 官方文档
Yii Framework 2.0 API 官方文档

共0课时 | 0人学习

Yii2.0框架开发实战视频教程
Yii2.0框架开发实战视频教程

共22课时 | 9.3万人学习