当在入口文件即index.php中开启时
define('APP_DEBUG',true); // 开启调试模式
一切正常.关掉后,即false后,会出现各种错误.
有的是因为日志目录写入权限问题.有的是大小写问题
查看ThinkPHP\Conf\debug.php 文件或同目录的convention.php 文件 ,你可能会发现一启示
debug.php文件内容如下:
/**
* ThinkPHP 默认的调试模式配置文件
*/
defined('THINK_PATH') or exit();
// 调试模式下面默认设置 可以在应用配置目录下重新定义 debug.php 覆盖
return array(
'LOG_RECORD' => true, // 进行日志记录
'LOG_EXCEPTION_RECORD' => true, // 是否记录异常信息日志
'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL', // 允许记录的日志级别
'DB_FIELDS_CACHE' => false, // 字段缓存信息
'DB_DEBUG' => true, // 开启调试模式 记录SQL日志
'TMPL_CACHE_ON' => false, // 是否开启模板编译缓存,设为false则每次都会重新编译
'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格与换行
'SHOW_ERROR_MSG' => true, // 显示错误信息
'URL_CASE_INSENSITIVE' => false, // URL区分大小写
);
但是,我遇到的问题与上面不同.
我关闭调试模式后,就没法修改字段值.即下面这一句没法运行.也不报错
$cont=M('contlist')->where("id =$id")->setField('huohao',$huohao);
原因其实是缓存问题.可能是关闭调试模式后,数据库操作,会直接调用字段缓存信息.
但是缓存是很久以前的,缓存中没有新增加的那个huohao字段,所以没法插入
删除字段缓存即可解决
即\Runtime\Data_fields 这个目录清空即可.