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制作静态网站的模板框架
Oct 09 PHP
多重?l件?合查?(二)
Oct 09 PHP
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
PHP与Java进行通信的实现方法
Oct 21 PHP
浅谈php和.net的区别
Sep 28 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 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
批量修改RAR文件注释的php代码
2010/11/20 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
php解析xml方法实例详解
2015/05/12 PHP
jquery提示 "object expected"的解决方法
2009/12/13 Javascript
JavaScript中setInterval的用法总结
2013/11/20 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
2018/03/05 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
2018/10/08 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
vue实现图片上传功能
2020/05/28 Javascript
如何HttpServletRequest文件对象并储存
2020/08/14 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
使用Python的内建模块collections的教程
2015/04/28 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
django框架自定义用户表操作示例
2018/08/07 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
最新党员思想汇报
2014/01/01 职场文书
五年级语文教学反思
2014/01/30 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
廉洁使者实施方案
2014/03/29 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书