PHP下的Oracle客户端扩展(OCI8)安装教程


Posted in PHP onSeptember 10, 2014

最近的项目需要用php访问oracle数据库,不得不在linux下给php安装oci8扩展。php也可以使用pdo访问oracle数据库,但还是需要安装客户端。

首先到oracle官网的这个页面下载相关的文件,注意要连数据库服务器的版本,一定要对应,否则安装成功也会连不上,同时也要区分32位、64位服务器,比如我要连的数据库服务器是oracle10.2.0.4,64位主机,那么我要下载下面三个文件:

oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm

oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm

oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm

1.用以下命令安装

# rpm -ivh oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm    oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm

2.安装OCI8 PHP扩展

# yum install libaio

# cd ~

# wget http://pecl.php.net/get/oci8-1.3.5.tgz

3.然后执行命令

# tar zxvf oci8-1.3.5.tgz

# cd oci8-1.3.5/

# /usr/local/php5/bin/phpize  CFLAGS=/usr/lib/oracle/11.2/client64/ CXXFLAGS=/usr/lib/oracle/11.2/client64/

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

# make

# make install(这里多运行几次,直到出现如下提示)

 

[root@webserver02 oci8-1.3.5]# make install

/bin/sh /root/oci8-1.3.5/libtool --mode=install cp ./oci8.la /root/oci8-1.3.5/modules

cp ./.libs/oci8.so /root/oci8-1.3.5/modules/oci8.so

cp ./.libs/oci8.lai /root/oci8-1.3.5/modules/oci8.la

PATH="$PATH:/sbin" ldconfig -n /root/oci8-1.3.5/modules

----------------------------------------------------------------------

Libraries have been installed in:

   /root/oci8-1.3.5/modules
If you ever happen to want to link against installed libraries

in a given directory, LIBDIR, you must either use libtool, and

specify the full pathname of the library, or use the `-LLIBDIR'

flag during linking and do at least one of the following:

   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable

     during execution

   - add LIBDIR to the `LD_RUN_PATH' environment variable

     during linking

   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

   - have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.

----------------------------------------------------------------------

Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-zts-20090626/

# cd /usr/local/php5/lib

4.创建ext目录

# mkdir ext/

把oci8.so文件拷贝到php.ini 的ext目录里面
# cp /root/oci8-1.3.5/modules/oci8.so /usr/local/php5/lib/ext/

5.在php.ini里面加上extension=oci8.so

如下:

extension_dir = "/usr/local/php5/lib/ext"

extension = "oci8.so"

session.save_path = "/tmp/php"

oci8.privileged_connect = on

重启apache服务:

/usr/local/apache2/bin/apachectl stop

/usr/local/apache2/bin/apachectl start

刷新测试页面。发现oci8出现了,则大功告成.

PHP 相关文章推荐
php+dbfile开发小型留言本
Oct 09 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
php取整函数ceil,floo,round的用法及介绍
Aug 31 PHP
理解PHP中的stdClass类
Apr 18 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
php简单获取目录列表的方法
Mar 24 PHP
PHP生成随机数的方法总结
Mar 01 PHP
php中如何执行linux命令详解
Nov 06 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
Laravel框架源码解析之入口文件原理分析
May 14 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 #PHP
PHP实现对站点内容外部链接的过滤方法
Sep 10 #PHP
php生成随机数的三种方法
Sep 10 #PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 #PHP
初识php MVC
Sep 10 #PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 #PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 #PHP
You might like
PHP对字符串的递增运算分析
2010/08/08 PHP
PHP5中虚函数的实现方法分享
2011/04/20 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
PHP session文件独占锁引起阻塞问题解决方法
2015/05/12 PHP
Laravel执行migrate命令提示:No such file or directory的解决方法
2016/03/16 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
Nginx实现反向代理
2017/09/20 Servers
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
JS控制文本框textarea输入字数限制的方法
2013/06/17 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
基层党支部公开承诺书
2014/05/29 职场文书
标准毕业生自荐信
2014/06/24 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
导游欢送词
2015/01/31 职场文书
六一儿童节主持开场白
2015/05/28 职场文书
python 调用js的四种方式
2021/04/11 Python
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js