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之前下载的需要重新下载)

其他陆续更新中~

 

tp 中关于大小写的问题的更多相关文章

  1. tp中使用分页技术

    1 public function showList() { $m_ld = D ( 'guangxi_ld' ); $page = I ( 'get.p', 1 ); // 在配置中获取分页值 $p ...

  2. Java经典实例:在正则表达式中控制大小写

    默认是:区分大小写的: 传递标志参数:Pattern.CASE_INSENSITIVE,以说明匹配时忽略大小写:如果你的代码运行在不同的地区那么你应该再添加一个Pattern.UNICODE_CASE ...

  3. SQL点滴34—SQL中的大小写

    原文:SQL点滴34-SQL中的大小写 默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from ...

  4. Java中的大小写字母相互转换(不利用Java自带的方法)

    Java中的大小写字母相互转换(不利用Java自带的方法) 1.设计源码 /** * * @title:UpperAndLower.java * @Package:com.you.utils * @D ...

  5. 如何使用 TP中的公共函数 (定义在common/common.php中的函数)

    如何使用 TP中的公共函数 (定义在common/common.php中的函数) (2011-09-30 15:32:09) 转载▼ 标签: 杂谈   1.在common/common.php 中有个 ...

  6. TP中如何用IF

    将TP中这个容易忘的知识点记下来以便日后翻阅 $memberField = "ID, NAME, MOBILE, MEMBER_STATUS as status, IF (MEMBER_ST ...

  7. eclipse、 IDEA中字母大小写转换快捷键

    eclipse 中字母大小写切换快捷键: ctrl + shift + x     转为大写 ctrl + shift + y     转为小写 IDEA  中字母大小写切换快捷键: ctr + sh ...

  8. tp中url地址大小写问题

    在tp配置文件中有一个URL_CASE_INSENSITIVE选项,设置为true,表示大小写不敏感. 'URL_CASE_INSENSITIVE' => true

  9. TP中关于自定义类库的添加和使用

    ThinkPHP的类库主要包括公共类库和应用类库,都是基于命名空间进行定义和扩展的.只要按照规范定义,都可以实现自动加载. 类库存放位置:Think目录:系统核心类库Org目录:第三方公共类库demo ...

随机推荐

  1. 磁盘IO的性能指标

    磁盘IO的性能单位: bps (byte/s)   每秒钟 byte 数 kbps = bps / 1024 mbps = kbps / 1024 相关计算可以参考下面代码:  https://git ...

  2. Python第十二章正则表达式

    1.今天学习的f=open("d:\testcase.xml","r")会报错 需要改成f=open("d:\\testcase.xml", ...

  3. Multiverse in Doctor Strange // Multiverse在《神秘博士》

    关于<神秘博士>的制作内容 https://www.fxguide.com/quicktakes/bonus-luma-pictures-new-tools-for-doctor-stra ...

  4. dedecms 打印出网站所有 文章标题和链接(URL)的方法

    {dede:arclist row="100000"} <li>[field:fulltitle/]***网站URL地址***[field:arcurl/]</l ...

  5. webform repeater控件

    Repeater: HeaderTemplate - 在加载开始执行一遍 ItemTemplate - 有多少条数据,执行多少遍 FooterTemplate - 在加载最后执行一遍 Alternat ...

  6. Intellij IDEA 导入Eclipse或MyEclipse的Web项目

    1.通过TortoiseSVN客户端将远程项目checkout出来,保存到硬盘上 2.File -> Import Module -> 选择之前检出的项目 3.进入"Import ...

  7. Xcode 字体 设置-- Xcode family没有显示的字体

    前往文件夹 -> /Users/user/Library/Developer/Xcode/UserData/FontAndColorThemes/  (user改为自己的用户名) -----如果 ...

  8. jQuery设置和获取以及修改class name值操作

    在Web程序开发中.很多时候会用需要修改Html标签的class名称.来达到修改标签样式的效果.那么在代码中一般是怎么操作的呢.本文将为你详细讲解一下class的使用.在jQuery中可以使用attr ...

  9. [转载] Android.Hook框架xposed开发篇

    本文转载自: http://www.52pojie.cn/thread-396793-1-1.html 原帖:http://drops.wooyun.org/tips/7488 作者:瘦蛟舞 官方教程 ...

  10. oracle中rownum和rowid的区别

    rownum和rowid的区别总括: rownum和rowid都是伪列,但是两者的根本是不同的. rownum是根据sql查询出的结果给每行分配一个逻辑编号,所以你的sql不同也就会导致最终rownu ...