php连接oracle数据库

本文介绍如何使用PHP连接Oracle数据库,包括安装oracleinstant或oracleexpress、配置环境变量、启用php_pdo_oci扩展、创建测试用户表及运行示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.先安装一下oracle instant,把oci.dll所在的目录加入PATH环境变量里
或者直接安装oracle express
php_pdo_oci 依赖于oracle 的oci.dll
2.开启php_pdo_oci

查看phpinfo();,如果没有出现下面的oci表明安装失败

359523-20170725160853568-1992526931.png

3.配置oracle,创建一个用户表测试如:
359523-20170725160506224-125309902.png

4.测试

$tns = "  
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )
       ";
$db_username = "guest";
$db_password = "guest";
try{
    $conn = new \PDO("oci:dbname=".$tns,$db_username,$db_password);

    $sth = $conn->prepare('SELECT * from "user" ');
    $sth->execute();

    $result = $sth->fetchAll(\PDO::FETCH_ASSOC);
    var_dump($result);
}catch(PDOException $e){
    echo ($e->getMessage());
}

由于我安装的是oracle express 所以SERVICE_NAME 是XE ,如果是完整版的则是ORCL.

5.PHP_PDO_OCI和PHP_OCI8的区别

从stackoverflow上查到,PHP_PDO_OCI是php官方开发的而且开源,PHP_OCI8则是oracle开发的。
PDO是php的数据库操作抽象层,而PHP_PDO_xxx是对应具体数据库的驱动。

6.如果是Linux可以用ldd 查看PHP_PDO_OCI是依赖哪个版本号的oci,可以安装对应版本号的instant client。
并把instant client中oci对应的路径加到 LD_LIBRARY_PATH中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值