ThinkPHP 连接Oracle的配置写法,(使用Oci扩展而非PDO的写法)
测试了很多遍,TP官网根本就没有给出正确的写法,而且网上搜索到的全都是错误的。
跟踪代码,最终找出了正确的配置写法,备份如下,(by default7#zbphp.com)
'DB_TYPE' => 'oracle', // 数据库类型
'DB_HOST' => 'oracle.zbphp.com', // 服务器地址
'DB_NAME' => '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.zbphp.com)(PORT=1029))(CONNECT_DATA=(SID=orcl)))', // 服务器地址
'DB_USER' => 'zbphp', // 用户名
'DB_PWD' => 'fuzb', // 密码
'DB_PORT' => 1029, // 端口
'DB_PREFIX' => 'TB_', // 数据库表前缀
'DB_CHARSET' => 'utf8', // 字符集
'DB_PARAMS' => array(
'persist' => true, //注意,这一个必须写
),
特别强调:TP官网说TP支持PDO、Oracle,但是如果使用PDO根本就无法连接DSN带有 MSSQL、ORACLE 、OCI字串DSN!
提示要去官网下载PDO扩展!(欢迎交流 by default7#zbphp.com)
#截图:使用官网搜索到的配置参考,根本就无法连接上Oracle的,不管是用PDO还是OCI