ThinkPHP连接Oracle 12c数据库(2):ThinkPHP配置并连接oracle数据库

一:准备工作

首先我们需要准备一些软件:下面是我目前使用的版本(有些可以不太一样,但大致配置步骤都没太大差)

          Oracle版本:Oracle 12c (64位),具体安装版本及过程请参考我的另一篇博客:安装oracle 12c

          WampServer 2.5(64位)(PHP集成环境):可以通过腾讯软件管家一键傻瓜式下载。我在这里强烈推荐使用该PHP集成环境(打开扩展十分方便,下面会提到),我曾经尝试使用AppServ,但oracle扩展始终打不开或者打开失败,仁者见仁,你有更好的方法欢迎留言。

          PHP版本:5.5.12

          Apache版本:2.4.9

          ThinkPHP:3.2.3 

          ------------------------------------------------------------------------

二:配置扩展

1.配置 php.ini 文件:可以通过以下形式快速打开,在大概中间的位置,插入如下配置行extension=php_oci8_12c.dll  ; Use with Oracle 12c Instant Client,记得把php_oci8.dllphp_pdo_oci.dll所在行的 “;”分号)删掉,表示打开配置。

2.在 “wamp\bin\php\php5.5.12\ext” 目录下找是否有 “php_oci8.dll” 与“php_oci8_12c.dll”文件,

          有:将此文件分别复制到 “C:\Windows\System32” 与 “C:\Windows\SysWOW64” 目录下

          没有:到官网下载此扩展包:http://pecl.php.net/package/oci8(老规矩,看不懂翻译,me),如图,找到对应的PHP版本下载对应的扩展包(如我的PHP版本为 5.5.12 就选择 oci8-2.0.12),下载的扩展包中有我们需要的php_oci8.dllphp_oci8_12c.dll文件

3.打开oci8扩展:如图,打开wamp,选择PHP->PHP扩展,将php_oci8php_oci8_12cphp_pdo_oci都打开,然后重启服务。

完成后在网页中访问localhost。这也是我极力推荐wamp的原因,确实我对于配置与扩展来说是个弟弟,能简单化当然是我的首选。

 

此时访问phpinfo.php含有如图所示:

 

 

三:配置ThinkPHP,连接oracle

1.在www目录下新建个项目,将下载好的TP框架解压后放进去,然后通过 “localhost/项目名称” 访问一下,TP框架会自动为我们生成一些所需要的目录。

2.配置config.php,在“wamp\www\demo_3\Application\Home\Conf”目录下,将其中的配置代码改为:

<?php
return array(
	//'配置项'=>'配置值'
    'DB_TYPE' => 'oracle', // 数据库类型
    'DB_HOST' => 'localhost', // 服务器地址
    'DB_NAME' => 'orcl',
    'DB_USER' => 'C##fachao', // 用户名
    'DB_PWD' => 'fachao', // 密码
    'DB_PORT' => '1521', // 端口
    'DB_CASE_LOWER' => true,
    'DB_PREFIX' => '', // 数据库表前缀
    'DB_CHARSET'=> 'utf8',
    'DB_SEQUENCE_PREFIX' => 'SEQ_',
    'URL_HTML_SUFFIX'       =>  'php',
    //'DB_SEQUENCE_SUFFIX' => '_SEQ',
    //'DB_TRIGGER_PREFIX' => 'tig_'
);

说明一下:用户名为oracle数据库用户,大家可以使用默认的用户system来登录,(上例中“C##fachao”为我后来自己新建的用户)

如果是跟随着我上一篇博客安装的Oracle 12c,则你可以使用       用户名:system  密码:Oracle12c

 

四:测试并输出oracle表中的数据

1.首先我们需要在oracle中创建个表并插入一些数据,在此我已创建好一张表名为Students的表,并插入了一条数据(oracle对表名大小写并不敏感)(记得开启oracle服务)

2.编写控制器 “IndexController.class.php” ,代码如下:

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
    public function index(){
    	$conn=oci_connect('C##fachao','fachao','localhost:1521/orcl');
        if (!$conn){
            $e=oci_error();
            print_r($e);
        }else{
            var_dump($conn);

            echo "ok";
        }
        $dao =  D("Students");
        var_dump($dao->select());
    }
}

3.网页运行结果:很明显,我们已经成功了!

 

五:总结

过程很艰辛,烦过、也想过放弃,但好在最后坚持的下来并成功连接上oracle数据库,期末作业应该也有着落了。

如果此文章帮助到了你,麻烦给个赞支持一下吧,Q!

也可能文中有部分地方不太准确(毕竟我捣鼓来捣鼓去捣鼓了好久),如你有任何疑问或发现我不合理的地方,欢迎留言。抱拳。

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值