thinkphp 3.2 去除调试模式后报错,怎么解决

如题所述

1. ..案例一:

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

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

baidu,Google还是没有找到解决方案,突然发现项目APP_Name/Runtime/Cache目录和APP_Name/Runtime/Logs目录没有可写权限,果断更改,F5,唉好啦,妈妈再也不用担心出现错误信息啦!

2.案例二:

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 文件了
但是当你不开启调试模式后,会每次都会加载相关的文件,这样子,你的错误就暴露出来了。

3.案例三:

在thinkphp中将APP_DEBUG设置为false之后,数据查询(select, find等等)总是显示第一条。。但是把APP_DEBUG设置为true之后,就正常了。。这是为什么?有什么解决方案吗?

正常来说,APP_DEBUG是调试模式,放到线上环境,尽量要设置为false的。。

自己找一个select查询,在关闭debug的情况下,用写文件的方式调试下查询后生成的sql。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-05-24
查看Page_trace中的错误信息
第2个回答  2020-09-01
关闭调试模式后,会在Runtime多出来一个文件叫common~runtime.php,基本的系统方法都在里面,把这个文件的内容通过php代码格式化一下,然后拷到IED一个新建的文件里,这时可以看到错误的地方,根据错误的地方找到对应的系统文件注释或者修改文件,一般是在\ThinkPHP\Library\Think下面的文件,修改完成后,删除common~runtime.php再试一次,这样就成功了,哈哈哈

PHP框架ThinkPHP关闭调试模式APP_DEBUG,出现页面错误,请稍后再试。
1、从UEditor获取数据在后台 2、在后台中通过SQL往数据库中填充数据就解决了。百度编辑器ueditor调用使用方法:1、官方下载最新ASP版本,解压后文件夹自行修改,建议放在根目录下(如下图)2、用记事本打开\\bdu123\\asp\\config.json文件,修改里面图片、音乐、附件等的上传地址,..\/..\/upload代表上传的图...

thinkphp关闭调试模式(APP_DEBUG => false),导致程序出错,开启调试模式...
在配置文件里打开【是否记录异常信息日志】,'LOG_EXCEPTION_RECORD' =>true,然后清空runtime缓存。重新打开一下,如果有错误,错误就会被记录到runtime\/log文件夹里面

PHP Thinkphp中开启debug 或报错
解决方法如下:1、这个页面都出现了(典型的thinkphp页面),说明请求已经到了,是thinkphp程序抛出的一个404。但是什么情况下才会这样?2、最后发现,当关闭thinkphp的调试模式,程序错误时,不显示错误到页面,就会出现这个上面这个页面 。3、请注意thinkphp文件index.php中 4、开启调试模式:\/\/ 开启调...

如何隐藏“页面错误,请稍后再试” ThinkPHP3.2.3
Thinkphp的错误提示模板是允许更换的,Thinkphp3.2版本可以修改配置文件的“TMPL_EXCEPTION_FILE”参数,将错误提示模板更换成指定的模板文件。我们常用的是将其指向一个404模板。

如何隐藏“页面错误,请稍后再试” ThinkPHP3.2.3
Thinkphp中关闭调试模式的情况下报错:在Thinkphp接管了错误提醒后,默认模板的话,仅仅只显示了上述一段话,所有的错误信息将被隐藏,线上公开项目,应该采用这种方式,一方面可以保护服务器安全,另一方面还有很好的用户体验。Thinkphp的错误提示模板是允许更换的,Thinkphp3.2版本可以修改配置文件的“TMPL_...

thinkphp框架删除了runtime文件夹和开启调试模式之后,怎么还是没删除缓 ...
你开启了调试模式, 就会一直生成新的缓存文件的

thinkphp怎么开启调试模式
thinkphp开启调试模式的方法:1、开启调试模式,首先在入口文件打开调试开关:\/\/开启调试模式define('APP_DEBUG',true);2、然后需要配置调试文件,该文件位于项目配置目录下,默认名字为 debug.php:<?phpreturn array( \/\/ 开发环境配置信息 'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost...

ThinkPHP 3.0 { Fast & Simple OOP PHP Framework } -- [ WE CAN DO...
回答:这个thinkphp提示的问题所在要看你源码,你也可以开启调试模式,提示会更详细一些。

ThinkPHP 3.1.2调试模式开启有什么用
ThinkPHP有专门为开发过程而设置的调试模式,开启调试模式后,会牺牲一定的执行效率,但带来的方便和除错功能非常值得。调试模式的优势在于:开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;1、关闭模板缓存,模板修改可以即时生效;2、记录SQL日志,方便分析SQL;3、关闭字段缓存,数据表字段修改...

thinkphp 页面加载时间长怎么调试
$User->getLastSql();\/\/输出结果将为:update think_user set name='ThinkPHP' where id=3;复制代码 6、当需要调试某段代码的运行时间的时候,可以使用系统提供的debug_start($label)和debug_end($label)方法,例如:debug_start('demo');\/\/这里是你的代码段...debug_end('demo');...

相似回答