ThinkPHP3.2.3升级的若干问题和注意事项(持续更新)
现把ThinkPHP3.2.2在升级到3.2.3的过程中需要注意和可能的问题整理如下:
(无论如何,在升级之前请确认备份)
1、首先3.2.3数据库类和驱动采用PDO重写了(确保你的服务器环境开启了PDO扩展),因此无论是什么数据库都是基于PDO实现的,
所以DB_TYPE不再支持PDO设置,必须采用实际的数据库类型设置,而且也不再区分mysql和mysqli(统一设置为mysql即可)
DB_DSN参数的作用已经改变了,因此默认情况下不再需要设置,直接设置为空字符串即可。
2、规范起见,默认的数据库驱动类设置了 字段名强制转换为小写,如果你的数据表字段名采用大小写混合方式的话,需要在配置文件中增加如下设置:
'DB_PARAMS' => array(PDO::ATTR_CASE => PDO::CASE_NATURAL),
复制代码
(该处官方有更新框架,请确认已经下载了官方最新的框架包)
3、鉴于命名空间的推广和框架规范统一,APP_USE_NAMESPACE参数可能会在下一版本取消,不再推荐使用,请尽快采用命名空间方式升级你的项目。
4、控制器层次参数CONTROLLER_LEVEL由于使用复杂,也不再推荐使用,可能会在下一版本取消。
5、数据库调试模式的开启可以使用新的参数DB_DEBUG进行设置,不再依赖于系统的调试模式常量APP_DEBUG。
6、如果使用了插件控制器,需要把插件控制器放置到和模块同级的目录,并更改命名空间(具体参考手册的 插件控制器)
7、如果使用了子查询,请更新最新的下载版本(2014-12-28之前下载的需要重新下载)
其他陆续更新中~