今天把公司的一个项目部署到Linux服务器上,测试发现某些模板竟然会报错说“模板不存在:/Application/Admin/….”但是在本地Windows环境测试时没有问题的,到底问题出现在哪里呢?
报错如下:
检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错。
经过查资料发现,使用$this->fetch();渲染模板的时候会自动渲染view目录下对应控制器的对应的模板。问题就出现在这里,因为开发是在Windows环境下开发的,在Windows下不区分文件名大小写,Linux会区分,所以报错了。
## 解决办法:要么改模板文件名为小写,要么$this->fetch('控制器名/模板文件名')(不带.html)。
ps:我的问题是模板文件名是大写的,改小写就可以了。
原文链接:https://blog.csdn.net/fzxyxf1314/article/details/85129996