共享主机Cpanel + Yii2上的ViewNotFoundException

时间:2017-02-20 07:01:09

标签: yii2 yii2-advanced-app

  1. 我创建了一个yii2项目,该项目在我的Windows localhost机器上运行得很好。

  2. 我在Windows机器上使用XAMPP来处理Yii2应用程序。

  3. 但由于我已在Cpanel Linux Shared Hosting上成功部署了应用程序,因此无法打开我网站上的页面。

  4. 以下是共享主机后端/网络日志的错误;

    [error][yii\base\ViewNotFoundException] exception 'yii\base\ViewNotFoundException' with message 
    
    'The view file does not exist: /home/xyz/public_html/nse/backend/views/site/student\student_list.php' 
    in /home/xyz/public_html/nse/vendor/yiisoft/yii2/base/View.php:229
    
  5. 同样的东西在我的本地机器上工作正常。 有任何帮助吗?

1 个答案:

答案 0 :(得分:1)

这看起来像是一个区分大小写的问题。

检查所有名称和相应文件是否以相同方式保存,即student_list.php中的查看应该调用->render('student_list')而不是->render('Student_list')

与文件夹名称和类名称相同。

<强>更新
错误显示您使用反斜杠而不是斜杠调用视图,因此您应该更正它。

虽然在Windows上的路径中使用它们没有太大区别,但您应该在Linux上正确使用它。

来自quora.com的快速解释:

这是两个斜杠的使用方式:

正斜杠/

  • /用于UNIX的文件系统(扩展名为Linux和OS X)。
  • /是几乎所有编程语言中“分裂”的标准符号。
  • /也会在网址中用作分隔符。

反斜杠\

  • \用于DOS和Windows的文件系统。
  • \用作转义序列(\ n,\ t等)
  • 在UNIX文件系统中使用
  • \向终端指示目录路径中的空格。 (同时也遵循用双引号括起绝对文本)。

至于他们的历史,WikiPedia是你的朋友

  

斜线可以追溯到古罗马时代。在早期的现代时期,在中世纪欧洲普遍存在的Fraktur剧本中,一个斜杠(/)代表一个逗号,而两个斜杠(//)代表一个破折号。两个斜杠最终演变成类似于等号(=)的符号,然后进一步简化为单个破折号( - )

反斜杠的起源是最近的,但

  作为角色频率研究的结果,Bob Bemer于1961年9月18日将“\”字符引入ASCII。特别是引入了\,因此ALGOL布尔运算符∧(AND)和∨(OR)可以用ASCII组成“/”和“/”。这两个操作符都包含在Unix V6,Unix V7和更多当前BSD 2.11提供的C编程语言的早期版本中。

有关详细信息,请参阅this article