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中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
用穿越火线快速入门php面向对象
Feb 22 PHP
PHP命名空间(Namespace)的使用详解
May 04 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
PHP获取当前所在目录位置的方法
Nov 26 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 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实现将wav文件转换成图像文件并在页面中显示的方法
2015/04/21 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
php报错502badgateway解决方法
2019/10/11 PHP
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
2012/03/16 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
JAVASCRIPT模式窗口中下载文件无法接收iframe的流
2013/10/11 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
Vue2递归组件实现树形菜单
2017/04/10 Javascript
详解javascript 正则表达式之分组与前瞻匹配
2018/05/30 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
python执行外部程序的常用方法小结
2015/03/21 Python
python获取mp3文件信息的方法
2015/06/15 Python
Python实现配置文件备份的方法
2015/07/30 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
Django 使用logging打印日志的实例
2018/04/28 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
基于python实现名片管理系统
2018/11/30 Python
pycharm 激活码及使用方式的详细教程
2020/05/12 Python
python如何调用php文件中的函数详解
2020/12/29 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
擅自离岗检讨书
2014/02/11 职场文书
部队党性分析材料
2014/02/16 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
2014年标准化工作总结
2014/12/17 职场文书
Java内存模型之happens-before概念详解
2021/06/13 Java/Android
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
Go语言基础函数基本用法及示例详解
2021/11/17 Golang