Thinkphp5.0 提示模板不存在

线上环境:系统centos 7 ,环境LNMP集成一键安装
本地环境:Win+LAMP

访问模板的时候,加载的路径错误,报错如下图

Thinkphp5.0 提示模板不存在_第1张图片
检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错。

经过查资料发现,使用$this->fetch();渲染模板的时候会自动渲染view目录下对应控制器的对应的模板。
问题就出现在这里,因为开发是在Windows环境下开发的,在Windows下不区分文件名大小写,而Linux严格区分大小写,所以报错了。

解决办法:要么改模板文件名为小写,要么指定文件:$this->fetch(‘控制器名/模板文件名’)(不带.html)

Thinkphp5.0 提示模板不存在_第2张图片
将大写的文件夹修改成小写
Thinkphp5.0 提示模板不存在_第3张图片
清除缓存runtime,浏览器缓存,重新打开就可以显示正常

另外一种提示模板不存在的情况:
Thinkphp5.0 提示模板不存在_第4张图片

虽然同样是模板文件不存在,但是报错的内容却不太一样,这时候得查看页面是否有include引入资源文件

在解决上述问题时,请大家仔细阅读ThinkPHP官方开发文档。

{include file="Public/header" /}

因为同样的问题,Linux是区分大小写的,我的文件夹为小写public,但是引入写成了Public,就导致了上面的报错,此时同样把英文改成小写即可。

{include file="public/header" /}

如果以后遇到这种模板不存在的问题,先看是不是大小写问题,然后是权限,分配755权限看看。

如果遇到问题,不知道是出现了哪种情况,可以在HTML文件直接输出测试文字,注释其他代码,如果能出来就是第二种问题。否则…

PS:如果能帮助到你,我很开心,也希望你可以随手点个赞或者收藏 ,感谢你的支持!

你可能感兴趣的:(PHP,Linux,Thinkphp)