thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
最近一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说“模板不存在:/Application/Admin/....”
检查了服务器上的文件,并没有缺少文件,再次上传文件到服务器,还是报错。莫名其妙,怀疑是代码问题。
仔细检查后,发现是模板的文件名问题:
用过TP的都知道:thinkphp会在$this->display()的时候,会自动获取方法名作为模板的文件名,比如一个getUserInfo方法对用着getuserinfo.html的模板文件。
对控制器里的方法,我用驼峰命名法,而view层里的模板名,也是用了驼峰命名法。比如getUserInfo方法对应了getUserInfo.html的模板文件,但是!thinkphp在$this->display()的时候,读取方法名作为模板名,读出来的方法名是小写的,也就是要求模板名为getuserinfo.html。
在Windows下不区分文件名大小写,Linux会区分,所以报错了。
解决办法:要么改模板文件名为小写,要么$this->display('模板文件名')(不带.html)。
细节决定成败,希望这篇文章可以真正的帮助大家,谢谢大家的阅读。
相关推荐
-
web服务器程序运行出现乱码问题的解决方法
使用php,定义php的默认语言. php.ini中: default_charset = "gb2312" 在网页中输出中文 JAVA在网络传输中使用的编码是"ISO-8859-1",故在输出时需要进行转化,如: String str="中文"; str=new String(str.getBytes("GB2312"),"8859_1"); 但如果在编译程序时,使用的编码是"GB2312&qu
-
linux vps服务器进程kswapd0与events/0消耗大量CPU的问题
今天下午网站宕了两次机,发工单给阿里云,发现原因是服务器的CPU 100%了. 重启服务器后,使用 top 命令看看是哪些进程消耗那么大的 CPU 使用.盯了有好十几分钟,主要消耗 CPU 的进程有两个,一个是 mysql,另一个是 apache.下面的图可以看到,mysql 占用了很大部分的 CPU 使用.apache 单个进程虽然占得不多,但有不少个 apache 进程同时存在,也消耗了不少 CPU 的使用. 当然,这些不足以让服务器的 CPU 直接跑满挂掉,后来发现了两个大家伙: 当 my
-
关于linux服务器下vsftpd的一些问题
前段时间碰到一位牛B的人物,帮我修正了vsftpd基于PAM认证的问题.今天又碰到N个问题,比如Access denied. 和403错误,无法上传文件等等之类的错误.于是,只好请这个高人再次出马,帮忙再次修正.很感谢这位牛B人物.在利益大于一切的这个X蛋的社会,还能为了咱们这群小菜鸟去分析N个文件..这种精神实在是值得佩服. 针对我自己本身出现的问题,将高人与我的QQ聊天记录整理了一份,然后再加上实际的操作.终于让我大彻大悟.现在与大家狠狠的分享这位高人的成果. 用户上传文件访问出现403或者
-
Linux Web服务器网站故障分析常用命令
Linux Web服务器网站故障分析,具体内容如下 系统连接状态篇: 1.查看TCP连接状态 netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' 或 netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t&q
-
探讨如何减少Linux服务器TIME_WAIT过多的问题
TIME_WAIT状态的意义: 客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?主动关闭的一方在发送最后一个 ack 后就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间,这个是TCP/IP必不可少的,也就是"解决"不了的.也就是TCP/IP设计者本来是这
-
linux服务器中的远程访问问题小结
在php程序中运用fopen或者socket的时候,报一下错误: php_network_getaddresses: getaddrinfo failed: Temporary failure in name. 我的代码如下 $handle = fopen("http://www.baidu.com/", "r"); echo "handle:".$handle; 这表示是无法连接到服务器,而我http://www.baidu.com/是可以访问
-
Web服务器日志统计分析完全解决方案
文章相关软件: webalizer http://www.mrunix.net/webalizer/ cronolog http://www.cronolog.org/ Apache http://www.apache.org/ 一. 前言 随着Internet上Web服务的发展,几乎各个政府部门.公司.大专院校.科研院所等都在构建或正在建设自己的网站.而与此同时,在构建网站建设中各个单位都会遇到各种各样的问题,那么对web服务器的运行和访问情况进行详细和周全的分析对于了解网站运行情况,发现网站
-
windows7服务器上weblogic启动失败异常解决方法
环境: 操作系统:windows 7 weblogic:10.3.3 问题: 根据安装向导创建域后首次默认启动服务,可以启动成功. 通过命令行或开始菜单中的快捷方式,启动时出现如下异常: /Java/jre6/lib/ext/QTJava.zip was unexpected at this time. 解决方法: 更改环境变量,删除classpath中的:C:/Program Files (x86)/Java/jre6/lib/ext/QTJava.zip 重启服务器,问题解决
-
linux服务器下完美解决无法删除虚拟主机文件或文件夹
FTP工具软件会提示Permission Denied(没有权限),或者 550删除目录操作失败.今天小残在操作FTP的时候就出现了这种问题. 出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除. 大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除网站路径中的一些文件夹和文件 我们可以把下面这个PHP代码放到对应的虚拟主机的空间上运行,按提示输入文件夹或文件名即可.(注意这里最好使用相对路径.) <?
-
web服务器集群(多台web服务器)session同步、共享的3种解决方法
在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态.所以本文就根据这种情况给出三种不同的方法来解决这个问题: 一.利用数据库同步session 在做多服务器session同步时我没有用这种方法,如果非要用这种方法的话,我想过二种方法: 1,用一个低端电脑建个数据库专门存放web服务器的session,或者,把这个专门的数据库建在文件服务器上
随机推荐
- 编写你的shell其实很简单
- iOS App开发中UIViewController类的使用教程
- ASP.NET中实现jQuery Validation-Engine的Ajax验证实现代码
- 深入解析fsockopen与pfsockopen的区别
- python实现通过shelve修改对象实例
- On Error Resume Next 语句
- MySQL下高可用故障转移方案MHA的超级部署教程
- iOS应用设计模式开发中对简单工厂和工厂方法模式的运用
- 在Django中创建第一个静态视图
- Chcp 显示活动控制台代码页数量,或更改该控制台的活动控制台代码页
- MySql增加用户、授权、修改密码等语句
- js玩一玩WSH吧
- java 中List按照date排序的实现
- PHP基于反射机制实现自动依赖注入的方法详解
- AngularJs点击状态值改变背景色的实例
- bootstrap select2插件用ajax来获取和显示数据的实例
- 用vue快速开发app的脚手架工具
- 解决一个微信号同时支持多个环境网页授权问题
- python命名空间(namespace)简单介绍
- 浅谈Spring Context加载方式