一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说“模板不存在:/Application/Admin/….”,
解决方法:网上有说是因为使用$this->fetch();渲染模板的时候会自动渲染view目录下对应控制器的对应的模板。因为开发是在Windows环境下开发的,在Windows下不区分文件名大小写,Linux会区分,所以报错了。## 解决办法:要么改模板文件名为小写,要么$this->fetch('控制器名/模板文件名')
(不带.html)。
但是我发现是因为本地开发的时候用的是windows环境,分隔符正反斜线不区分的,而我的服务器是linux系统的,只人正斜杠 “/”,改过来就好了
题外话:url()方法生成的链接默认是不带域名的,TP5中url_domain_deploy配置已经不生效了