解决ThinkPHP关闭调试模式时报错的问题汇总

yipeiwu_com6年前PHP代码库

案例一:

最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 “页面调试错误,无法找开页面,请重试”的错误.

我就郁闷啦,明明本地设置define('APP_DEBUG', false) 运行没点问题,怎么放到服务器上就出错了昵?

baidu,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。

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

查找php配置文件php.ini所在路径的二种方法

通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。 如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),...

php中ftp_chdir与ftp_cdup函数用法

本文实例讲述了php中ftp_chdir与ftp_cdup函数用法。分享给大家供大家参考。具体用法如下: ftp_chdir()函数 若成功,则返回 true,否则返回 false,如果...

一个PHP二维数组排序的函数分享

二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:...

PHP中空字符串介绍0、null、empty和false之间的关系

PHP中空字符串介绍0、null、empty和false之间的关系

如果用错方法函数或是用少了,如果几个方法函数的逻辑顺序错了,很可能就是一个漏洞,而且不容易找出来。纠结啊~ 上网找找看哪位高人有总结出相关的结论出来,果然有!不过似乎不是很全面,我在这里...

PHP使用in_array函数检查数组中是否存在某个值

本文实例讲述了PHP使用in_array函数检查数组中是否存在某个值的方法。分享给大家供大家参考。具体分析如下: PHP使用in_array()函数检查数组中是否存在某个值,如果存在则返...