php接入远程oracl 利用workerman建立持久连接不断线

本文介绍了如何在PHP环境下,通过PHPStudy2016集成环境连接远程Oracle 12c数据库。详细步骤包括:下载安装Oracle Instant Client和相关PHP扩展,配置系统变量,验证安装,下载oci扩展包,修改PHP配置文件,以及解决PDO OCI连接问题。最后,利用Workerman创建连接池,解决连接缓慢和超时问题。
摘要由CSDN通过智能技术生成

一.下载安装
集成环境 phpstudy2016 要连接的oracle为12c
【查看版本号:phpinfo() => 搜索‘architecture’ 结构,内核,代表了php的版本号】
打开扩展
extension=php_oci8_12c.dll
extension=php_pdo_oci.dll
查看这个时候打开phpinfo();如果这时候你还看不到你的扩展成功开启 ,
是因为你没安装oracle 客户端(有人会有疑虑我连其他人的oracle为什么我本地还要装客服端,PHP连接扩展中需要依赖oracle客服端中的文件

下载对应版本的oracle instant client
http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html
选择自己要下载的版本
X86 对应32 位版本
在这里插入图片描述
划重点了:需要下载这两个压缩包 ,安装到统一路径下,请看好是“basicLIte”和sqlplus版本 ,并且版本号统一

1、 将instantclient-basic和instantclient-sqlplus两个安装包放在同一个目录下,解压。

在这里,我们放在E:\Oracle下,解压到当前文件夹,最后会自动生成一个新的文件夹instantclient_11_2,两个安装包的文件都会放到该文件夹下,即 E:\Oracle\instantclient_11_2。
2、 修改系统变量
1> 将E:\Oracle\instantclient_11_2添加到系统变量PATH中
TNS_ADMIN=E:\Oracle\instantclient_11_2 -->> 指定tnsnames.ora所在位置

需重启电脑让修改的系统变量生效 需重启电脑让修改的系统变量生效 需重启电脑让修改的系统变量生效。
测试有没有安装成功方法
cmd
sqlplus scott/tiger@orcl

SQLPlus: Release 11.2.0.1.0 Production on Fri Aug 8 10:17:53 2014
Copyright © 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
出现即测试成功
至此,Oracle Instant Client和SQl
Plus安装完成。

二.下载oci扩展包
http://pecl.php.net/package/oci8 根据需要选择

另外附下载扩展地址:https://windows.php.net/downloads/pecl/releases/oci8/

在这里插入图片描述
下载后解压,将相关.dll文件复制到php环境扩展文件夹中 /php/ext/
三.安装好验证之后,修改PHP配置文件php.ini 文件,增加扩展
extension=php_oci8.dll
extension=php_oci8_12c.dll(具体扩展版本号根据自己第三步中安装的oci版本匹配)

四,进行完之后可重复进行第一部验证,发现phpinfo中多了oci模块,否则请重新仔细检查前几步是否完全正确

在这里插入图片描述

参考地址 https://blog.csdn.net/denghaolinzy/article/details/96481803

成功安装连接时出现的问题汇总

PDOException in Connection.php line 295
SQLSTATE[HY000]: pdo_oci_handle_factory: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
composer引入的oracle包里

vendor\topthink\think-oracle\src\Connection.php

parseDsn 方法修改为

protected function parseDsn($config)
    {
   
 
        $dsn = 'oci:dbname=';
        if (!empty(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值