宝哥软件园

如何解决thinkphp项目部署到Linux服务器时出现的“模板不存在”的错误

编辑:宝哥软件园 来源:互联网 时间:2021-11-02

最近一个项目部署到Linux服务器上,发现有些模板甚至报错说“模板不存在:/Application/Admin/.”。

我检查了服务器上的文件,但没有丢失文件。我再次将文件上传到服务器,但仍然报告了一个错误。莫名其妙,怀疑是代码问题。

仔细检查后发现是模板的文件名问题:

任何使用过TP的人都知道,当$this-display()例如,一个getUserInfo方法与使用getUserInfo的模板文件匹配时,thinkphp会自动获取方法名作为模板的文件名。

对于控制器中的方法,我使用驼峰命名法,视图层中的模板名称也使用驼峰命名法。例如,getUserInfo方法对应于getUserInfo的模板文件,但是!Thinkphp在$this-display()中读取方法名作为模板名,读取的方法名是小写的,这意味着模板名需要是getuserinfo.html。

在Windows下,文件名不区分大小写,但Linux会区分大小写,因此会报告一个错误。

解决方案:将模板文件名更改为小写或$this-display('模板文件名')(不带。html)。

细节决定成败。希望这篇文章真的能帮到大家。感谢阅读。

更多资讯
游戏推荐
更多+