You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yii2高级模板部署共享主机后不执行yii serve无法运行如何解决

问题原因

该问题本质是共享主机的Web服务默认根目录未绑定到Yii2高级模板的应用入口目录,且缺失对应的URL重写规则导致。yii serve是Yii封装的PHP内置临时Web服务器命令,仅适用于本地开发,生产环境无需使用。

解决方案

1. 调整站点入口配置

Yii2高级模板默认拆分前端(frontend)、后台(backend)两个独立应用,入口文件分别位于frontend/web/index.php和backend/web/index.php,共享主机默认站点根目录通常为public_html或wwwroot,可选择以下任意一种方案适配:

  • 方案1(安全优先,推荐):将整个Yii2项目代码上传到共享主机非Web可访问目录(例如根目录下新建yii2_project文件夹存放全部代码),再将frontend/web下的所有文件复制到public_html目录作为前端站点入口;若需访问后台,在public_html下新建admin文件夹,将backend/web下的所有文件复制到该目录即可。
  • 方案2(无需迁移项目文件):直接在public_html目录下新建入口文件index.php,修改原有路径指向实际存放Yii2项目的目录,代码示例如下:
<?php
defined('YII_DEBUG') or define('YII_DEBUG', false);
defined('YII_ENV') or define('YII_ENV', 'prod');

// 下方路径替换为你的Yii2项目实际存放路径
require __DIR__ . '/../yii2_project/vendor/autoload.php';
require __DIR__ . '/../yii2_project/vendor/yiisoft/yii2/Yii.php';
require __DIR__ . '/../yii2_project/common/config/bootstrap.php';
require __DIR__ . '/../yii2_project/frontend/config/bootstrap.php';

$config = yii\helpers\ArrayHelper::merge(
    require __DIR__ . '/../yii2_project/common/config/main.php',
    require __DIR__ . '/../yii2_project/common/config/main-local.php',
    require __DIR__ . '/../yii2_project/frontend/config/main.php',
    require __DIR__ . '/../yii2_project/frontend/config/main-local.php'
);

(new yii\web\Application($config))->run();
?>

2. 配置URL重写规则

隐藏入口文件index.php,避免路径报错:

  • 若共享主机使用Apache服务,在站点根目录(public_html)新建.htaccess文件,写入以下内容:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
  • 若共享主机使用Nginx服务,在站点配置中添加以下重写规则:
location / {
    try_files $uri $uri/ /index.php$is_args$args;
}

3. 权限与生产配置校验

  • 确认项目中runtime、web/assets目录权限设置为755,若共享主机权限限制严格可临时调整为777
  • 生产环境需将入口文件中YII_DEBUG设为false,YII_ENV设为prod,确认各应用配置中cookieValidationKey已完成配置

完成以上操作后直接访问站点域名即可正常运行,无需执行yii serve命令。

内容的提问来源于stack exchange,提问作者Nour Naji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 16:27:03