thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决

yipeiwu_com6年前服务器

最近一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说“模板不存在:/Application/Admin/....”

检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错。莫名其妙,怀疑是代码问题。

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

用过TP的都知道:thinkphp会在$this->display()的时候,会自动获取方法名作为模板的文件名,比如一个getUserInfo方法对用着getuserinfo.html的模板文件。

对控制器里的方法,我用驼峰命名法,而view层里的模板名,也是用了驼峰命名法。比如getUserInfo方法对应了getUserInfo.html的模板文件,但是!thinkphp在$this->display()的时候,读取方法名作为模板名,读出来的方法名是小写的,也就是要求模板名为getuserinfo.html。

在Windows下不区分文件名大小写,Linux会区分,所以报错了。

解决办法:要么改模板文件名为小写,要么$this->display('模板文件名')(不带.html)。

细节决定成败,希望这篇文章可以真正的帮助大家,谢谢大家的阅读。

相关文章

php获取服务器信息的实现代码

复制代码 代码如下:<html><head><meta http-equiv="content-type" content="text/html; char...

python批量同步web服务器代码核心程序

#!/usr/bin/env python #coding:utf8 import os,sys import md5,tab from mysql_co.my_db impor...

python实现简单的TCP代理服务器

本文实例讲述了python实现简单的TCP代理服务器的方法,分享给大家供大家参考。 具体实现代码如下: # -*- coding: utf-8 -*- ''' filename:r...

在Windows服务器下用Apache和mod_wsgi配置Python应用的教程

最近开发了一个 Google Analytics 相关的应用,但需要在 Windows 下部署,结合网上的相关经验,最终选择了 apache+mod_wsgi 这样的配置。 修改pyth...

Python代码实现http/https代理服务器的脚本

一个几百行代码做出http/https代理服务器的脚本,启动即可做http https透明代理使用 python proxy.py 8992 使用非阻塞io模式,性能还可以。 可以和浏览...