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

Yii2部署至Cpanel Linux虚拟主机后出现ViewNotFoundException求助

解决Yii2部署到Linux共享主机后视图文件找不到的问题

1. 排查大小写匹配问题

Windows系统文件名不区分大小写,但Linux是严格大小写敏感的,这是最常见的原因:

  • 检查frontend/views/下的目录名是否为全小写的user-profile,而非User-Profile或其他大小写组合
  • 确认user-profile目录下是否存在全小写的create.php,而非Create.php
  • 核对UserProfileController.php第91行的render('create', ...)调用,确保视图名称大小写与文件完全一致

2. 确认文件完整上传

通过Cpanel文件管理器或FTP工具,直接查看/home/z5f2mu8pem8k/public_html/frontend/views/user-profile/目录:

  • 确认create.php文件确实存在,避免因FTP上传中断、文件遗漏导致的问题
  • 若文件缺失,重新上传该文件及所在目录的所有内容

3. 调整文件/目录权限

Linux主机需要确保Web服务器拥有读取视图文件的权限:

  • 将视图目录权限设置为755,文件权限设置为644,可通过Cpanel文件管理器修改,或执行SSH命令:
    chmod -R 755 /home/z5f2mu8pem8k/public_html/frontend/views/
    chmod 644 /home/z5f2mu8pem8k/public_html/frontend/views/user-profile/create.php
    

4. 检查控制器视图调用逻辑

打开frontend/controllers/UserProfileController.php第91行:

  • 若调用当前控制器视图,确保仅传入视图名称render('create', $data),不要带错误路径
  • 若调用跨控制器视图,使用完整别名路径且保证大小写匹配,比如render('@frontend/views/user-profile/create', $data)

5. 清除Yii2缓存

部署后本地缓存的路径信息可能导致异常,需清除运行时缓存:

  • 删除runtime目录下的所有文件(保留目录本身),可通过Cpanel文件管理器操作,或执行SSH命令:
    rm -rf /home/z5f2mu8pem8k/public_html/frontend/runtime/*
    rm -rf /home/z5f2mu8pem8k/public_html/backend/runtime/*
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:39:21