thinkphp 3.2 去除调试模式后报错,怎么解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。 参考技术A 查看Page_trace中的错误信息 参考技术B 关闭调试模式后,会在Runtime多出来一个文件叫common~runtime.php,基本的系统方法都在里面,把这个文件的内容通过php代码格式化一下,然后拷到IED一个新建的文件里,这时可以看到错误的地方,根据错误的地方找到对应的系统文件注释或者修改文件,一般是在\ThinkPHP\Library\Think下面的文件,修改完成后,删除common~runtime.php再试一次,这样就成功了,哈哈哈
ThinkPHP开发模式
tp框架有两种模式:开发模式(调用模式),一种是生产模式(运行模式)
define(\'APP_DEBUG\', true); //调试模式
define(\'APP_DEBUG\', FALSE); //运行模式 不写也是运行模式
调试模式:文件加载的多,有报错,加载速度慢
运行模式:文件加载的少,加载速度快
在页面底部显示日志信息
配置完成后 页面的左 右 下角会出现
以上是关于thinkphp 3.2 去除调试模式后报错,怎么解决的主要内容,如果未能解决你的问题,请参考以下文章
thinkphp将APP_DEBUG常量设置为false后报错的问题
Thinkphp3.2关闭调试模式以后第二次打开页面就会出现报错,请问一般问题在哪里?怎么解决?
ThinkPHP 重写模式去除index.php 浏览器显示Not Found 找不到啊。求解