• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP远程连接oracle数据库操作实现方法图文详解

    本文实例讲述了PHP远程连接oracle数据库操作实现方法。分享给大家供大家参考,具体如下:

    一.以下是基于 wampServer 的php 访问oracle数据库的操作步骤:

    1、第一步:让PHP支持OCI

    首先,安装PHP的集成运行环境,网上有很多集成,我安装的是WampServer的(具体的安装方法也可以参考之前写的另一篇文章),安装好后,从安装目录中找到php.ini文件,比如我本地的路径是D:\wamp\bin\php\php5.3.3,将php.ini中的php_oci8.dll的;去掉,也就是把注释去掉,相当于可以使用php_oci8了。

    2、第二步:然后wampserver运行后,将php>php extentions中将php_oci8打上勾

    【其他的集成环境其实也是可以的,比如phpStudy,我们可以直接从php扩展的选项里打勾对应的】。

    3、第三步:oracle 数据库文件配置

    对于安装有Oracle客户端的PC机,可以在Oracle安装配置文件,tnsnames.ora文件,此文件路径是安装oracle的路径,比如我本机的是

    F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN  ,所连的192.168.1.198数据库,其中的配置详情如下(如果显示 127.0.0.1 默认为本机):

     (DESCRIPTION =
      (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.198)(PORT = 1521))
      )
      (CONNECT_DATA =
       (SERVICE_NAME = orcl)
      )
     )
    
    

    4、第四步:检测oci8是否配置成功

    ①.一般情况下,打开localhost即能显示 phpinfo.php界面,里面即为 php 信息。可采用 “Ctrl+F”搜索“oci”,查看是否有对应的oci模块,当然有一点php基础的完全可以直接访问自己编写的文件,记得里面加入“echo phpinfo();”即可。

    ②.不要高兴太早,走到这一步,至少我是查不到的对应信息的,这时可以按照网上的一些建议,把php的ext目录下的php_oci8.dll拷到system32目录下

    ③.最后建议重启服务,最好是重启电脑(我在测试时发现,重启服务没用,有一次是无意中 刷新出了oci扩展,所以如果操作方法没错,我建议进行重启.)

    二.代码测试远程连接 orcal 数据库(建议可用自己的oracle客户端试着是否能连接对方的服务端,以保证操作的成功率)

    ?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2015/12/7
     * Time: 16:25
     */
    echo 'ff';
    //进行连接数据库的参数配置
    $dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.198)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    (INSTANCE_NAME = orcl)))";
    //phpinfo();
    $conn = oci_connect('scott','tiger',$dbstr);//如果去掉最后一个参数或者为“ ”,默认连接本机
    $stmt = oci_parse($conn, "select * from mono");
    oci_execute($stmt);
    $nrows = oci_fetch_all($stmt, $results);
    if ($nrows > 0) {
    echo "table border=\"1\">\n";
    echo "tr>\n";
    foreach ($results as $key => $val) {
    echo "th>$key/th>\n";
    }
    echo "/tr>\n";
    for ($i = 0; $i  $nrows; $i++) {
    echo "tr>\n";
    foreach ($results as $data) {
    echo "td>$data[$i]/td>\n";
    }
    echo "/tr>\n";
    }
    echo "/table>\n";
    } else {
    echo "No data foundbr />\n";
    }
    echo " $nrows Records Selectedbr />\n";
    oci_free_statement($stmt);
    oci_close($conn);
    ?>
    
    

    (参考网友的一点说明)

    两种方式和oracle数据库建立链接

    1.

    复制代码 代码如下:
    $conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521))(CONNECT_DATA =(SID=orcl)))");

    2.

    复制代码 代码如下:
    $conn = oci_connect('username','password','192.168.1.198/orcl');

    有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中orcl是服务名(但在我的机器上,后者无法访问)

    另外提供一种简单的测试代码,相对而言,只是测试连接情况,更为方便:

    !DOCTYPE HTML>
    html>
    head>
      meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      title>php语句结束符/title>
    /head>
    body>
    ?php
    $dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.102)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
    (INSTANCE_NAME = orcl)))";
    $dbconn=oci_connect('scott','tiger',$dbstr);
    if($dbconn!=false)
    {
      echo "连接成功".'br/>';
      if(OCILogOff($dbconn)==true)
      {
        echo "关闭连接成功!".'br/>';//
      }
    }
    else
    {
      echo "连接失败".'br/>';
    }
    ?>
    /body>
    /html>
    
    

    总结提示:

    使你的php支持oracle,按照以下步骤即可:
    1.安装php环境,找一下appserv或者xampp,一键安装,很方便
    2.把php的ext目录下的php_oci8.dll拷到system32目录下
    3.修改php.ini文件中的配置,去掉  ;extention = php_oci8.dll,去掉前面的分号
    4.重启apache

    注意:

    1.有时候你并不会注意到的一点失误会浪费很多时间,我还要提醒的是,请记得打开oracle的服务监听!!
    2.请记得作为服务端的PC机,要关闭防火墙!!
    3.apache的配置文件同样重要,修改httpd.conf文件,Deny——>Allow 

    Directory />
      Options FollowSymLinks
      AllowOverride None
      Order deny,allow
    #  Deny from all
      Allow from all
    #允许所有访问
      Satisfy all
    /Directory>
    Directory />
    ...
    ...
     #  Require local
    Options Indexes FollowSymLinks
    #  onlineoffline tag - don't remove
      Order Deny,Allow
      Allow from all
     #  Require local
    /Directory>
    
    

    4.上文中一直提示的SID 或者说oracle服务器名称什么的真的好难懂,我是直接用了配置文件中所显示的名称“orcl”,这个在你安装软件时,会有一个服务名称的提醒,自己默认的orcl而已,估计些其他的名称也是可以的。网上介绍的很乱

    如果不知道怎么操作,查看学习文档是最正确的选择,希望能帮到你。

    有的时候第一种方式不行,使用第二种,里面的几个参数分别是用户名、密码、oracle服务地址,其中orcl是服务名。

    #  Require local
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《PHP基于pdo操作数据库技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • ThinkPHP5.0框架使用build 自动生成模块操作示例
    • PHP生成随机码的思路与方法实例探索
    • PHP实现网站应用微信登录功能详解
    • PHP之认识(二)关于Traits的用法详解
    • ThinkPHP框架下微信支付功能总结踩坑笔记
    • 微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
    • 微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
    • ThinkPHP框架实现的微信支付接口开发完整示例
    • 在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
    • PHP中str_split()函数的用法讲解
    上一篇:ThinkPHP5.0框架使用build 自动生成模块操作示例
    下一篇:PHP中str_split()函数的用法讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP远程连接oracle数据库操作实现方法图文详解 PHP,远程,连接,oracle,数据库,