ThinkPHP有专门为开发过程而设置的调试模式,开启调试模式后,会牺牲一定的执行效率,但带来的方便和除错功能非常值得。

直线电机哪家好直线电机生产厂家

我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式(直到正式部署后关闭调试模式),方便及时发现隐患问题和分析、解决问题。

开启调试模式很简单,只需要在入口文件中增加一行常量定义代码:

  1. <?php
  2. // 开启调试模式
  3. define('APP_DEBUG', true);
  4. // 定义应用目录
  5. define('APP_PATH', './Application/');
  6. // 加载框架入口文件
  7. require './ThinkPHP/ThinkPHP.php';

在完成开发阶段部署到生产环境后,只需要关闭调试模式或者删除调试模式定义代码即可切换到部署模式。

  1. <?php
  2.  // 关闭调试模式
  3.  define('APP_DEBUG', false);
  4.  // 定义应用目录
  5.  define('APP_PATH', './Application/');
  6.  // 加载框架入口文件
  7.  require './ThinkPHP/ThinkPHP.php';
调试模式的优势在于:
  • 开启日志记录,任何错误信息和调试信息都会详细记录,便于调试;
  • 关闭模板缓存,模板修改可以即时生效;
  • 记录SQL日志,方便分析SQL;
  • 关闭字段缓存,数据表字段修改不受缓存影响;
  • 严格检查文件大小写(即使是Windows平台),帮助你提前发现Linux部署可能导致的隐患问题;
  • 通过页面Trace功能更好的调试和发现错误;

在开启调试模式的状态下,系统会首先导入框架默认的调试模式配置文件,该文件位于系统目录的Conf\debug.php

通常情况下,调试配置文件里面可以进行一些开发模式所需要的配置。例如,配置额外的数据库连接用于调试,开启日志写入便于查找错误信息、开启页面Trace输出更多的调试信息等等。

如果检测到应用的配置目录中有存在debug.php文件,则会自动加载该配置文件,并且和系统项目配置文件以及系统调试配置文件合并,也就是说,debug.php配置文件只需要配置和项目配置文件以及系统调试配置文件不同的参数或者新增的参数。

由于调试模式没有任何缓存,因此涉及到较多的文件IO操作和模板实时编译,所以在开启调试模式的情况下,性能会有一定的下降,但不会影响部署模式的性能。另外需要注意的是,一旦关闭调试模式,项目的调试配置文件即刻失效。

一旦关闭调试模式,发生错误后不会提示具体的错误信息,如果你仍然希望看到具体的错误信息,那么可以如下设置:

  1. 'SHOW_ERROR_MSG' => true, // 显示错误信息

thinkphp 调试模式的更多相关文章

  1. ThinkPHP调试模式与日志记录

    1.可以在config.php中进行设置,默认为关闭状态. 'APP_DEBUG'   =>  true 打开\ThinkPHP\Common\debug.php文件可以查看debug的默认设置 ...

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

    解决ThinkPHP关闭调试模式时报错的问题汇总 案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 "页面调试错误,无法找开页 ...

  3. thinkphp关闭调试模式(APP_DEBUG => false),导致程序出错

    thinkphp关闭调试模式(APP_DEBUG => false),导致程序出错,开启调试模式,不报错,怎么解决? 查看Logs日志记录: [ --29T09::+: ] 113.108.11 ...

  4. thinkphp学习笔记3—项目编译和调试模式

    原文:thinkphp学习笔记3-项目编译和调试模式 1.项目编译 在章节2.4项目编译中作者讲到使用thinkphp的项目在第一次运行的时候会吧核心需要加载的文件去掉空白和注释合并到一个文件中编译并 ...

  5. Thinkphp开启调试模式

    3.0版本的调试模式开启,必须在项目入口文件中添加常量APP_DEBUG定义,如下: define('APP_DEBUG',True); // 开启调试模式 开启调试模式后,你可能感觉不到什么变化,不 ...

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

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

  7. 解决ThinkPHP中开启调试模式无法加载模块的问题。

    刚开始学习ThinkPHP就遇到这种问题,还是自己粗心. 错误如下: 原因:开启调试模式,区分大小写的,要把模块名首字母大写就OK了.也就是: [plain] view plain copy http ...

  8. linux下thinkphp取消调试模式后找不到网页解决方案

    1.最大嫌疑是Runtime目录权限不足,导致common~runtime.php文件无法生成, 解决:1.整个Runtime目录删除,让系统重新生成; 2.给Runtime及以下的所有文件足够权限0 ...

  9. 如何在ThinkPHP中开启调试模式

    1.为什么使用调试模式? 因为调试会在我们的模板页的最后增加一些trace信息. 2.什么是trace信息? 是ThinkPHP为我们提供好的一些包含了系统运行时间.占用内存.加载时间.请求的协议.. ...

随机推荐

  1. C#获取系统服务+进程+启动时间

    原文:C#获取系统服务+进程+启动时间 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/weixin_38208401/article/details ...

  2. 使用jQuery的datetimepicker插件

    因为后台系统要使用年月日时分的设置,又因为使用的Bootstrap框架只有datepicker和timepicker控件.所以在jQuery库中找到轻量级的datetimepicker插件,很好地解决 ...

  3. ros语音交互(五)移植科大讯飞语音识别到ros

    将以前下载的的语音包的 samples/iat_record/的iat_record.c speech_recognizer.c speech_recognizer.c 拷贝到工程src中, linu ...

  4. 文件 IO

    io分类 在文件IO 中是通过文件描述符操作文件的,实际上是一个非负整数 头文件   #include <sys/types.h>   #include <sys/stat.h> ...

  5. mysql的下载

    怎样从Mysql官网下载mysql.tar.gz版本的安装包 原创 2016年10月20日 21:06:41 10854       今天学习在Linux上部署项目,用到了Mysql,因此想要下载适用 ...

  6. codeforces 24d Broken robot 期望+高斯消元

    题目传送门 题意:在n*m的网格上,有一个机器人从(x,y)出发,每次等概率的向右.向左.向下走一步或者留在原地,在最左边时不能向右走,最右边时不能像左走.问走到最后一行的期望. 思路:显然倒着算期望 ...

  7. 用selenium 自动爬取某一本小说章节及其内容,并存入数据库中

    from selenium import webdriver import pymysql from selenium.webdriver.support.ui import WebDriverWai ...

  8. ElasticSearch再学习

    ElasticSearch参数详解 本次使用的windows的版本,如若Linux移步:https://www.cnblogs.com/msi-chen/p/10335794.html 配置文件参数 ...

  9. 【重磅来袭】阿里小程序IDE上线8大功能

    时隔两个月,10月10日阿里小程序IDE上线了uni-app 跨平台研发支持.预览和真机调试交互优化.预检测新增代码扫描等8项功能,进一步完善了阿里小程序IDE的功能池,给大家更好的开发体验和环境. ...

  10. Hive创建表|数据的导入|数据导出的几种方式

    * Hive创建表的三种方式 1.使用create命令创建一个新表 例如:create table if not exists db_web_data.track_log(字段) partitione ...