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. [2014亚马逊amazon] 在线笔试题 大于非负整数N的第一个回文数 Symmetric Number

    1.题目 如标题,求大于整数N(N>=0)的第一个回文数的字符串表示形式. 这个题目也是当时笔试第一次见到,花了一个小时才做出了.慢慢总结还是挺简单的. 2.分析 分析如下: (1)一位数N(9 ...

  2. (使用STL中的数据结构进行编程7.3.15)UVA 630 Anagrams (II)(求一个单词在字典中出现的次数)

    /* * UVA_630.cpp * * Created on: 2013年11月4日 * Author: Administrator */ #include <iostream> #in ...

  3. Go语言之进阶篇操作redis

    1.windows安装redis 软件包下载地址: https://github.com/MicrosoftArchive/redis/releases 1.1.安装--->下一步---> ...

  4. vRealize 7中部署blueprint如果失败,如何不让已经被provision的虚机被删掉?

    正解为: _debug_deployment 哪里用: 参考资料 ========= Custom Properties for Naming and Analyzing Deployments ht ...

  5. 手动建库时一个错误:Error accessing PRODUCT_USER_PROFILE

    首先感谢前辈的文章:http://space.itpub.net/14184018/viewspace-691502 手动创建数据库完成后,创建新用户,并用新用户登陆到数据库时,报错如下: SYS@ ...

  6. 主机无法访问虚拟机的apache解决办法

    1.前言 今天学习搭建wordpress,apache服务器安装在虚拟机的Centos上.配置好以后,发现在虚拟机上可以访问,但在windows主机上不能访问.于是百度.google一下,终于解决问题 ...

  7. 前端开发必备 40款优秀CSS代码编写工具推荐

    摘要:CSS工具可以简化工作流,可以提高CSS编写速度,是开发者和设计者所不可缺少的.本文列举了40种CSS工具,功能涉及CSS菜单.动画.3D图形.响应式页面.图层.按钮等界面元素的设计与制作,你定 ...

  8. centos 新建swap区文件

    一. 相当详细且流程完整,(推荐阅读) 在centos7上新建swap区 https://www.digitalocean.com/community/tutorials/how-to-add-swa ...

  9. 最全的spark基础知识解答

    原文:http://www.36dsj.com/archives/61155 一. Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduc ...

  10. Python在VSCode中进入交互界面调试

    VSCode非常强大,断点好用,美中不足,每次只能通过下面窄窄一行进行各种检查,而python的优点就在于交互式的调试,所以希望能够在断点时能够进入到正常的交互界面进行调试. 我用的插件是: 设置交互 ...