找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 217|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:46:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            案例一:
最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 “页面调试错误,无法找开页面,请重试”的错误.
我就郁闷啦,明明本地设置define('APP_DEBUG', false) 运行没点问题,怎么放到服务器上就出错了昵?
baidu,Google还是没有找到解决方案,突然发现项目APP_Name/Runtime/Cache目录和APP_Name/Runtime/Logs目录没有可写权限,果断更改,F5,唉好啦,妈妈再也不用担心出现错误信息啦!
案例二:
ThinkPHP 将 APP_DEBUG 常量设置为 false 后出现了类似下面的问题:
[U]复制代码[/U] 代码如下:
Parse error: syntax error, unexpected T_STRING in E:\PHPnow\htdocs\ojbak\Runtime\~app.php on line 1
或者直接报”服务器错误”, 怎么办?
这个和 PHP 有关系,在 php.ini 里修改配置
[U]复制代码[/U] 代码如下:
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。
以上所述就是本文的全部内容了,希望大家能够喜欢。
            
            
您可能感兴趣的文章:
  • 解析使用ThinkPHP应该掌握的调试手段
  • ThinkPHP调试模式与日志记录概述
  • ThinkPHP模板之变量输出、自定义函数与判断语句用法
  • ThinkPHP模板输出display用法分析
  • ThinkPHP模版引擎之变量输出详解
  • ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
  • thinkPHP5.0框架环境变量配置方法
  • thinkPHP5.0框架简单配置作用域的方法
  • thinkPHP5.0框架独立配置与动态配置方法
  • thinkPHP5.0框架配置格式、加载解析与读取方法
  • thinkPHP5.0框架API优化后的友好性分析
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端