PHP一般跟MySQL数据库搭配使用,但最近遇到一个需求需要实现PHP连接Oracle,了解到PHP可以通过pdo_oci和oci8扩展来连接Oracle,这里将安装的过程记录下来。

安装环境:PHP7.2.18,Deepin15.10

首先,安装oci8和pdo_oci扩展依赖的Oracle client。

了解到需要连接的Oracle版本为11.2.0.4.0,在这里下载对应版本的Oracle client压缩包。

instantclient-basic-linux.x64-11.2.0.4.0.zip

instantclient-sdk-linux.x64-11.2.0.4.0.zip

将上面的压缩包放入同一个目录中解压,这里放入/opt/oracle目录,然后解压,命令如下:

cd /opt/oracle
unzip instantclient-basic-linux.x64-11.2.0.4..zip
unzip instantclient-sdk-linux.x64-11.2.0.4..zip

将解压后的文件夹重命名

mv instantclient_11_2 instantclient

添加软连接

cd instantclient
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

安装 libaio 软件包。这在某些 Linux 版本中名为 libaio1,当前系统环境下软件包的名称为libaio1

sudo apt-get install -y libaio1

生成动态链接库系统缓存

sudo sh -c "echo /opt/oracle/instantclient > \
/etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

 

然后,编译安装oci8扩展和pdo_oci扩展

PHP的oci8和pdo_oci扩展都已包含在PHP的源码扩展包目录中,所以首先从PHP的官方github仓库下载对应自己PHP版本的PHP源代码,这里是7.2.18,可通过克隆和下载压缩包的方式,我这里通过下载压缩包的方式,下载后放入/usr/local/src目录下解压,解压后的目录为/usr/local/src/php-7.2.18。注意:php、phpize、php-config都需要在PATH环境变量中找到。

编译安装oci8扩展

cp -r /usr/local/src/php-7.2./ext/oci8/ /tmp/
cd /tmp/oci8
phpize
./configure --with-oci8=instantclient,/opt/oracle/instantclient
make
sudo make install

完成后,编辑php.ini文件,加入extension=oci8,运行php -m 命令查看有oci8表明安装成功。

编译安装pdo_oci扩展

cp -r /usr/local/src/php-7.2./ext/pdo_oci/ /tmp/
cd /tmp/pdo_oci
phpize
./configure --with-oci8=instantclient,/opt/oracle/instantclient,11.2.0.4.
make
sudo make install

完成后,编辑php.ini文件,加入extension=pdo_oci,运行php -m 命令查看有PDO_OCI表明安装成功。

php安装oci8和pdo_oci扩展实现连接oracle数据库的更多相关文章

  1. 通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库

    通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库. 首先下载安装包在Oralce官方网站上下载Oracle Instantclient Basic package.地址如 ...

  2. Linux下为PHP安装oci8及pdo_oci扩展

    下载instantclient 以及sdk instantclient-basic-linux-x86-64-11.2.0.2.0.zip oracle-instantclient11.2-sdk-1 ...

  3. Navicat 连接 Oracle数据库并,导入数据泵(.dmp)

    如有什么质疑的地方,希望可以和大家一起探讨,共同进步. 一.安装方法: 1.首先下载Navicat Premium和Oracle Database Oracle Database官网下载地址:http ...

  4. linux系统下php通过php_oci8扩展连接oracle数据库 Nginx

    相关版本信息: PHP Version 5.6.30 nginx version: nginx/1.10.3 Linux version 2.6.32-358.el6.x86_64 (mockbuil ...

  5. [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下

    一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...

  6. .net远程连接oracle数据库不用安装oracle客户端

    asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...

  7. .net远程连接oracle数据库不用安装oracle客户端的方法

    .net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...

  8. 无需安装Oracle Client连接Oracle数据库

    介绍 当我们采用 ODP.NET 检索Oracle 数据库的时候,Oracle客户端是必须安装.假如当时电脑上没有安装Oracle客户端,就不能这么用了,这时候Oracle.ManagedDataAc ...

  9. C# 连接Oracle数据库,免安装oracle客户端

    一.方案1 首先下面的内容,有待我的进一步测试和证实.18.12.20 被证实了,还需要安装Oracle客户端,或者本机上安装oracle数据库软件. 18.12.20 1.下载Oracle.Mana ...

随机推荐

  1. css3之文本text-overflow 与 word-wrap, word-break

    CSS3 Text Overflow属性 CSS3文本溢出属性指定应向用户如何显示溢出内容 语法: text-overflow:clip | ellipsis 但是text-overflow只是用来说 ...

  2. Activiti历史查看

    流程执行完毕后,究竟去了哪里有些疑问. 虽然已完成的任务在act_ru_task和act_ru_execution表中都已被删除,但是这些数据还存在activiti的数据库中,作为历史改由Histor ...

  3. 2019-3-16-win10-uwp-鼠标移动到图片上切换图片

    title author date CreateTime categories win10 uwp 鼠标移动到图片上切换图片 lindexi 2019-03-16 14:43:46 +0800 201 ...

  4. Odoo 新 API 概述

    __all__ = [ 'Environment', 'Meta', 'guess', 'noguess', 'model', 'multi', 'one', 'cr', 'cr_context', ...

  5. 性能压测中的SLA,你知道吗?

    本文是<Performance Test Together>(简称PTT)系列专题分享的第6期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全 ...

  6. spfa模版

    #include<bits/stdc++.h> using namespace std; int n,m;//点边 int beginn; ],v[],w[]; ],nextt[]; ]; ...

  7. day66作业

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. Laravel 错误处理

    错误提示:cURL error 60: SSL certificate problem: unable to get local issuer certificate 解决方案:修改文件,重启队列即可 ...

  9. PHP实现记录浏览历史页面

    <?php /******* 说明:cookie只能保存字符串 本实例中,需要保存多个URL(历史访问记录),思路是先将URL数组转为字符串,然后保存,读取时,再循环读取 *******/ // ...

  10. Intelij Idea 2016破解

    在注册时选择License server,输入http://www.iteblog.com/idea/key.php,点击OK