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


    投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-04-22 我要评论
    本文给大家汇总了一下个人在项目中所遇到的关闭ThinkPHP的调试模式时遇到报错的几种情况以及最终的处理办法,非常的简单实用,这里分享给大家,有需要的小伙伴可以参考下。
    
    案例一:
    最近用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:PHPnowhtdocsojbakRuntime~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。
    以上所述就是本文的全部内容了,希望大家能够喜欢。
  • 相关阅读:
    C#开发规范
    Win32API使用技巧 -- 置顶应用
    Windows开发常用快捷键
    MarkDown简单语法回顾
    样本分布
    复变函数
    set theory
    Oscar的数理统计笔记本
    Oscar的拓扑笔记本
    c语言总结
  • 原文地址:https://www.cnblogs.com/ChengDong/p/5846671.html
Copyright © 2020-2023  润新知