1、环境:centos6 、 LNMP(linux环境都可以,跟服务器没啥大关系)

2、前期准备:弄清楚 项目php的运行目录,php.ini的配置目录,php-config的运行目录

3、安装先知:步骤一=》安装oracle在linux环境的客户端,oracle-instantclient-basic

步骤二=》安装php连接oracle扩展,php-oci8

4、首先查看phpinfo(),是否已支持oci8扩展(查看php内核版本,这个很重要,命令:var_dump(12345678900),32位超过64亿显示float类型,64位显示int;另外一种方式查看版本:phpinfo() => 搜索‘architecture’ 结构,内核,代表了php的版本号x86和x64

5、安装步骤如下(仅以64位版本为例):

安装oracle-instantclient

下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

分别下载 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm  和   oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

放在/usr/packages/目录下,执行:

#  cd /usr/packages/
# rpm -ivh oracle-instantclient*

此时会生成/usr/lib/oracle/11.2/client64/lib/目录。*注:下载对应数据库版本(注:这里的oracle11g 仅仅指的是 linux连接oracle数据库的客户端,选择11、12、19都可以的,与php版本无关。

(上面路径一定要去看看是否生成了,这很重要,路径名称可能不同,部分机器会生成 /usr/lib/oracle/11.2/client/lib/目录)

二、修改/etc/ld.so.conf配置文件

追加以下内容 -- 上面生成文件的路径,没有64的写client/lib/:

/usr/lib/oracle/11.2/client64/lib/

保存、退出,执行命令 # ldconfig

三、安装oci8

下载最新的oci8组件

下载地址:http://pecl.php.net/package/oci8

下载 oci-2.0.8.tgz

放在/usr/packages/目录下,依次执行:

# cd /usr/packages/

# tar -xvzf oci-2.0.8.tgz

# cd oci-2.0.8

# /usr/local/php/bin/phpize (用phpize生成configure配置文件,千万注意:phpize、php-config、instantclient目录一定要找对,这个需要自己去找)

# ./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib

# make && make install

成功后会告诉你oci8.so已经成功放在以下目录(这仅仅是我的目录,你的可能不同);

四、配置PHP支持OCI扩展

修改php配置文件

# vi /usr/local/php/lib/php.ini文件

在extension项后追加以下内容

extension=oci8.so

五、重启Apache/nginx服务测试

# service apache2 restart   【-- apache】

# service nginxd restart      【-- nginx】

使用phpinfo()查看扩展是否开启,如果出现下图说明扩展开启

六、测试数据库连接

在站点根目录编写oracle.php

代码如下:

<?php
header("Content-type: text/html; charset=utf-8");
$conn= oci_connect('report', 'report', 'ip:port/service','zhs16gbk');
if($conn) {
echo"连接oracle成功!";
}else{
echo"连接oracle失败!";exit;
}
?>

七、以上过程亲测可用,不懂的可以留言。  --   发帖日期:2018/05/25

【linux环境】Linux环境 php连接oracle11g数据库(相关插件已备份至U盘)的更多相关文章

  1. DBeaver连接Oracle11g数据库

    DBeaver连接Oracle11g数据库 一.准备 (1)dbeaver管理软件 (2)远程连接数据库地址.用户名秘密等 (3)Oracle驱动:ojdbc6.jar工具包 下载地址:https:/ ...

  2. visual studio 2017使用NHibernate4.0连接oracle11g数据库

    之前一直是公司用NHibernate2.1来做项目,连接oracle 10g的数据库,配置NHibernate的东西都是以前的同事做好了的,也怪自己太懒了,没尝试过配置这个东西,虽然一直在使用NHib ...

  3. 连接Oracle11g数据库时遇到无监听,网络适配器无法建立等问题的一些解决办法

    最近在用Java做一个学生成绩管理系统,打算用Oracle数据库.由于原先没接触过Oracle,所以安装完数据库后,连接数据库时遇到各种问题,网上搜索解决方案还是没有解决时,又重新安装了几次.终于在前 ...

  4. Linux系统下实现远程连接MySQL数据库的方法教程

    1.在服务器端开启远程访问首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'passw ...

  5. Spring3+Hibernate4连接Oracle11g数据库参数配置

    应用场合:使用SSH框架开发一套应用系统,因为不同的SSH版本+系统架构会导致各种的错误,总结测试了下,成功测试得出本文配置 软件版本:Sping3+Hibernate4+Maven3 主要配置文件内 ...

  6. Navicat 远程连接 Oracle11g 数据库报错 No listener 的问题

    1.首先确认已经启动 OracleOraDb11g_home1TNSListener 服务时,仍无法连接:   2.进入计算机系统属性中查看 Oracle 服务端计算机的全名:   3.进入 Orac ...

  7. Linux系统下 解决Qt5无法连接MySQL数据库的方法

    Linux平台下解决Qt5连接mysql数据库的问题:输入sudo apt-get install libqt5sql5-mysql解决,这种方法只能解决Qt是用sudo apt-get instal ...

  8. linux远程连接mysql数据库

    在linux系统中,远程连接mysql数据库时不仅需要开启ip访问,还需要将防火墙中添加相应规则 在wdlinux中的[安全管理]菜单下选择[防火墙[iptables]]选项,增加端口为3306的规则 ...

  9. Excel VBA 连接各种数据库(二) VBA连接Oracle数据库

    本文主要内容: Oracle环境配置 ODBC驱动设置.第三方驱动下载 VBA连接Oracle连接方法 Oracle10g官方免账号下载地址 系统环境: Windows 7 64bit Excel 2 ...

随机推荐

  1. Maximum Submatrix & Largest Rectangle

    相关题型 问题一(最大和子矩阵) : 有一个 m x n 的矩阵,矩阵的元素可正可负.请找出该矩阵的一个子矩阵(方块),使得其所有元素之和在所有子矩阵中最大.(问题来源:http://acm.pku. ...

  2. ASP.NET网站管理工具的【安全】功能无法使用问题

    在使用ASP.NET网站管理工具时,安全出现下面的问题: 出现这种情况的主要原因是,安全管理中需要创建用户和角色信息,所以要用到数据库,但是你没有设置好数据库. 可以打开vs自带的命令提示工具: 打开 ...

  3. 使用矩阵分解(SVD)实现推荐系统

    http://ling0322.info/2013/05/07/recommander-system.html 这个学期Web智能与社会计算的大作业就是完成一个推荐系统参加百度电影推荐算法大赛,成绩按 ...

  4. NumPy与ndarray简介(转)

    http://blog.csdn.net/u014374284/article/details/45420645 一.NumPy简介 NumPy的全名为Numeric Python,是一个开源的Pyt ...

  5. C#字符串比较

    正确写法1 bool bTemplatecontent2 = strtemplateContentInDB.Equals(strTemplateContentInDesignPanel, String ...

  6. viso-实现文本编辑

    选定主控件中所有的元素,然后选择[形状]-[组合] 然后右键[格式]-[行为] 按照如下设置,确定,保存就可以了

  7. 命令行下从bak文件恢复sqlserver数据库方法

    命令行下从bak文件恢复sqlserver数据库方法 注:本文所示访问从SqlServer 2000 - 2014版都是通用的 参考:http://blog.sina.com.cn/s/blog_5c ...

  8. JavaScript 继承——三种继承方法及其优劣

    原文地址   本文内容 目的 继承的第一步--最简单的继承 私有变量/成员和原型 三种继承方式及其优劣 基本的原型继承 Yahoo JavaScript 模块模式 创建闭包的构造函数 三种方法的代码执 ...

  9. Android Studio 打包时 Signature Version 选择 V1 V2 说明

      问题描述(v1和v2) Android 7.0中引入了APK Signature Scheme v2,v1是jar Signature来自JDKV1:应该是通过ZIP条目进行验证,这样APK 签署 ...

  10. 在线创建springboot项目

    在线创建srpingboot项目的网址:https://start.spring.io/ 我只选了一个web,然后开始生成: