thinkphp服务器关闭debug后报错:页面错误,请稍后再试。
项目本地wamp测试无问题,上传lamp服务器,关闭debug则显示页面错误,打开debug无此问题。
问题在于Auth控制器中方法名写为auth_addGroup,模板中对应为大写auth_addGroup.html,修改为auth_addgroup.html即可。
[ 2016-12-24T15:58:02+08:00 ] x.x.x.x /home/auth/auth_addgroup.html
ERR: 模板不存在:./Lawyer/Home/View/icecry/Auth/auth_addgroup.html
1、问题根源:
类似问题主要分为两种情况,其一是windows环境和linux环境下php的设置要求不同,windows环境较为宽松。其二是thinkphp自身在debug模式下对代码的规范要求相对较低。当切换到非debug模式时会报错。
总体来说关闭debug后系统报错是一类问题,具体问题根源很多,需要进一步查找。
2、解决思路:
1)关闭debug,在config配置文件中加入:'LOG_RECORD' => true,
开启日志功能。
2)运行报错后查看日志总错误记录,再针对性的解决问题。
3、错误实例:
发布到服务器上日志提示”模板不存在“,而在本地windows环境中运行正常。
这是因为在linux系统中对访问路径有区分大小写的要求,需在config配置文件中加入:'URL_CASE_INSENSITIVE' => false,
区分路径的大小。
总之在报错时找到具体的错误提示方可解决问题。
Controller中要避免使用与ThinkPHP中的Controller类有重名的函数名
以及对网站的读写权限