解决ThinkPHP关闭调试模式时报错的问题汇总
案例⼀:
最近⽤ThinkPHP开发⼀个项⽬,本地开发测试完成上传到服务器后,第⼀次打开正常,再刷新页⾯时就出现 “页⾯调试错误,⽆法开页⾯,请重试”的错误.
我就郁闷啦,明明本地设置define('APP_DEBUG', false) 运⾏没点问题,怎么放到服务器上就出错了昵?
error parse newbaidu,Google还是没有到解决⽅案,突然发现项⽬APP_Name/Runtime/Cache⽬录和APP_Name/Runtime/Logs⽬录没有可写权限,果断更改,F5,唉好啦,妈妈再也不⽤担⼼出现错误信息啦!
案例⼆:
ThinkPHP 将 APP_DEBUG 常量设置为 false 后出现了类似下⾯的问题:
复制代码代码如下:
Parse error: syntax error, unexpected T_STRING in E:\PHPnow\htdocs\ojbak\Runtime\~app.php on line 1
或者直接报”服务器错误”, 怎么办?
这个和 PHP 有关系,在 php.ini ⾥修改配置
复制代码代码如下:
short_open_tag = On
因为 app.class.php ⾥⾯的 build ⽅法:
当开启了调试模式后,会获取相关⽂件的内容然后重新组合成⽂件这个时候是会⾃动加上的
也就是你看到的 ~app.php ⽂件了
但是当你不开启调试模式后,会每次都会加载相关的⽂件,这样⼦,你的错误就暴露出来了。
案例三:
在thinkphp中将APP_DEBUG设置为false之后,数据查询(select, find等等)总是显⽰第⼀条。。但是把APP_DEBUG设置为true之后,就正常了。。这是为什么?有什么解决⽅案吗?
正常来说,APP_DEBUG是调试模式,放到线上环境,尽量要设置为false的。。
⾃⼰⼀个select查询,在关闭debug的情况下,⽤写⽂件的⽅式调试下查询后⽣成的sql。
以上所述就是本⽂的全部内容了,希望⼤家能够喜欢。