09
2012-12

php与thinkphp如何设置连接oracle数据库?

   在我们用来开发网站的电脑上已经安装有PHP环境,我们想使用php来连接一个oracle数据库。但是用thinkphp连接oracle,报错:系统不支持oracle。
  如果你看不到这个错误,可以在你的入口文件加一行:
  define('APP_DEBUG', true);
  以开启thinkphp的调试功能。
  这时,我们可以写一个简单的php程序oracle.php,不使用thinkphp框架,测试一下能否连接oracle:
  <?php
  $conn=oci_connect($user,$pass,$db,"zhs16gbk");
  if($conn)
  {
  echo "Oracle connect successfully!<br>";
  $q1="-------------";
  $stat=oci_parse($conn,$q1);
  oci_execute($stat);
  }
  ?>
  运行此php程序,发现报错:
  Fatal error: Call to undefined function oci_connect() in oracle.php on line 2
  于是我们知道了:本机php开发环境不支持连接oracle。
  打开php.ini,开启以下两行:
  extension=php_oci8.dll
  extension=php_openssl.dll
  重新启动apache,再运行oracle.php,发现还是报同样的错误。
  下面我们使用Instant Client来解决问题:
  下载Instant Client,下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html  直接下载链接:
  http://download.oracle.com/otn/nt/instantclient/112030/instantclient-basic-nt-11.2.0.3.0.zip 
  下载后,解压到D盘, D:\instantclient_11_2
  将D:\instantclient_11_2 中的所有dll文件拷贝到c:\windows\system32目录下。
  将D:\instantclient_11_2 添加到环境变量的path中:
  在“我的电脑”上点右键,选择“属性”,点“高级”,点“环境变量”,编辑“系统变量”中的“Path”,将"D:\instantclient_11_2"放在变量值中的最前面。然后点“确定”。
  然后重新启动Apache。
  使用以下php代码查看php相关信息:
  <?php
  phpinfo();
  ?>
  在显示的页面上搜索"oci8",你会发现有一行:
  OCI8 Supportenabled
  这就表明PHP已经可以连接oracle了。
  然后你就可以用上面的oracle.php连接oracle试试了。如果连接成功,你就可以用thinkphp来连接oracle了。
  thinkphp中连接oracle的相关配置(config.php):
  <?php
  return array(
  'URL_MODEL'=>1, //如果你的环境不支持PATHINFO 请设置为3
  'DB_TYPE'=>'Oracle', //数据库类型
  //'DB_HOST'=>'localhost',
  //'DB_NAME'=>'web', //数据库名
  'DB_NAME'=>'localhost:1521/service_name',
  'DB_USER'=>'web', //用户名
  'DB_PWD'=>'web', //密码
  //'DB_PORT'=>'1521', //端口
  'DB_PREFIX'=>'', //数据库表前缀
  );
  ?>


除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/oracle.html

评论列表:

1  即时比分  2014-10-5 23:51:57 回复该留言  IP:120.36.168.126
, //数据库表前缀
  );
即时比分

发表评论:

(设置个性头像)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量