oci8
扩展oracle客户端
thinkphp
下载并配置oci8扩展
phpstudy2016
,使用的PHP版本是php-7.0.12-nts
D:\phpStudy\php\php-7.0.12-nts\ext
extension=php_pdo_oci.dll extension=php_oci8.dll ;;extension=php_oci8_11g.dll extension=php_oci8_12c.dll
php_pdo_oci.dll
:这个是phpstudy自带的,使用pdo方法去连接oci8,这个必须打开php_oci8.dll
:这个是拷贝进入的oci8基本扩展,必须打开php_oci8_11g.dll / php_oci8_12c.dll
:这个是扩展版本,实测任意打开一个,都可以连接oracle 11g和oracle 19c,后面一个感觉速度更快instant client
客户端,这个和oracle不匹配直接导致无法连接,实测32位可以匹配PHP64或者32(instant client版本还和oracle服务端版本有关,32位不行就换一个试试)<?php return array( //连接oracle 11g r2 'DB_TYPE' => 'oracle', // 数据库类型 'DB_HOST' => '127.0.0.1', // 服务器地址 'DB_NAME' => 'orcl', // 数据库名 'DB_USER' => 'usr', // 用户名 'DB_PWD' => 'pwd', // 密码 'DB_PORT' => '1521', // 端口 //连接oracle 19c CBD模式 // 'DB_TYPE' => 'oracle', // 数据库类型 // 'DB_HOST' => '127.0.0.1', // 服务器地址 // 'DB_NAME' => 'orcl', // 数据库名 // 'DB_USER' => 'C##usr', // 用户名 // 'DB_PWD' => 'pwd', // 密码 // 'DB_PORT' => '1521', // 端口 );
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $sql = " select * from tablea where rownum <10 "; $rs = M()->query($sql); var_dump($rs); } }
oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries
SQLSTATE[HY000]: OCIEnvNlsCreate: Check the character set is valid and that PHP has access to Oracle libraries and NLS data (ext\pdo_oci\oci_driver.c:688)
以上就是ThinkPHP连接ORACLE数据库的详细教程的详细内容,更多关于ThinkPHP连接ORACLE的资料请关注插件窝其它相关文章!