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 相关文章推荐
967 个函式
Oct 09 PHP
drupal 代码实现URL重写
May 04 PHP
php接口与接口引用的深入解析
Aug 09 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
php中HTTP_REFERER函数用法实例
Nov 21 PHP
smarty内置函数capture用法分析
Jan 22 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
Yii框架学习笔记之session与cookie简单操作示例
Apr 30 PHP
php 输出缓冲 Output Control用法实例详解
Mar 03 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 define()函数及defined()函数使用详解
2013/06/09 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
2017/02/28 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
详细介绍Python语言中的按位运算符
2013/11/26 Python
Python获取远程文件大小的函数代码分享
2014/05/13 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
对Django中内置的User模型实例详解
2019/08/16 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
pymysql之cur.fetchall() 和cur.fetchone()用法详解
2020/05/15 Python
Python排序函数的使用方法详解
2020/12/11 Python
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
美国最大的旗帜经销商:Carrot-Top
2018/02/26 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
大学生求职中的自我评价
2013/10/01 职场文书
运动会跳远加油稿
2014/02/20 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
会计电算化实训报告
2014/11/04 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
道歉情书大全
2015/05/12 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
mysql查询结果实现多列拼接查询
2022/04/03 MySQL
python中validators库的使用方法详解
2022/09/23 Python