Linux下PHP开启Oracle支持(oci8)
使用php的常见问题是:编译php时忘记加入某扩展,后来想加入扩展,可是由于安装php后又装了一些东西如PEAR等,不想删除文件夹重装,那么此时就须要自己又一次添加某模块支持了,Linux操作系统下能够用phpize给PHP动态加入扩展.下面就以扩展模块
oci8为例(php连接oracle数据库须要改扩展支持)做简单的说明.(下面全部资源能够訪问http://download.csdn.net/detail/haiqiao_2010/8294513 进行统一下载)
1.下载Oracle客户端程序包,当中包括OCI、OCCI和JDBC-OCI等相关文件
1.1
依据Linux系统选择相应的软件,我的为32位系统,所下面载例如以下文件:
oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm
1.2下载地址: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
(Oracle官网下载须要注冊用户)
2.安装oracle客户端,执行下面命令就可以:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0.i386.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0.i386.rpm
3.安装oci8 php扩展
3.1 下载oci8-1.4.10.tgz
下载地址:http://pecl.php.net/get/oci8-1.4.10.tgz
3.2 把下载文件上传至linuxserver,并进行解压
命令:tar zxvf oci8-1.4.10.tgz#解压
3.3 转到解压文件夹
命令:cd oci8-1.4.10
3.4
使用phpize准备 PHP 外挂模块的编译环境。会依据指定的环境变量生成编译时须要的makefile。phpize是属于php-devel的内容。所以centos下仅仅要执行yum install php-devel进行安装就可以 (注意:/usr/local/php/bin/phpize
为我的php文件夹,不同则需改之;假设是64位的系统,client改成client64)
/usr/local/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client" CXXFLAGS="-I/usr/lib/oracle/11.1/client"
3.5
编译,安装
要有与现有php全然同样的php压缩包。
我用的是php-5.5.3.tar.gz。展开后进入里面的ext/oci8文件夹下,
然后执行命令: /usr/local/php/bin/phpize #这是一个可执行的文本文件,要确保它在系统中
会发现当前文件夹下多了一些configure文件。
假设没报错,则执行命令;
./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=/usr/lib/oracle/11.1/client
注意要先确保/usr/local/php/bin/php-config存在。假设你的php安装路径不是默认的,要改。
再执行下面命令 ,然后它告诉你一个文件夹,你把该文件夹下的oci8.so复制到你php.ini中的extension_dir指向的文件夹中
make
make install
须要强调的是make的时候会报错,显示各种找不到库文件,须要对makefile文件进行改动加入oralce的执行库地址
打开makefile,寻找INCLUDE,形式例如以下:
INCLUDES = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client
然后在末尾加上="-I/usr/lib/oracle/11.1/client。然后又一次make就会成功了。
4. 改动PHP.ini(/usr/local/php/etc/php.ini)
在extension_dir
= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"后添加一行:
extension
= "oci8.so"
注意:要确保/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
该文件夹下有oci8.so文件
5.重新启动apache,让oci生效
6.在web文件夹下创建phpinfo.php文件在当中输入一下内容。并通过web訪问
<?php
phpinfo();
?>
假设找到OCI8的部分就说明OCI安装正常了。例如以下图所看到的
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFpcWlhb18yMDEw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
说明oci8成功安装,接下来就能够使用php訪问oracle数据库了
Linux下PHP开启Oracle支持(oci8)的更多相关文章
- linux下如何开启oracle服务和开启监听
su - oracle 切换到oracle用户模式下 sqlplus /nolog //登录sqlplus SQL> connect /as sysdba //连接oracle SQL&g ...
- LINUX下PHP开启短标签short_open_tag支持
LINUX下PHP开启短标签short_open_tag支持 以CENTOS为例: 找到php.ini #find / -name php.ini #/etc/php.ini 编辑php.ini #v ...
- Linux下防火墙开启相关端口及查看已开启端口
最近利用Apache Mina实现了一个http服务,发布到linux下发现无法访问,通过HttpClient来发送http请求时,报如下错误: Exception in thread "m ...
- Linux下的启动oracle的EM的命令
Linux下的启动oracle的EM的命令 1.启动数据库 su - oracle $sqlplus / as sysdba sql>startup 2.启动监听 $lsnrctl LSNRCT ...
- linux下mysql开启远程访问权限 防火墙开放3306端口
linux下mysql开启远程访问权限 防火墙开放3306端口 转载 2017-01-21 作者:JAVA-ANDROID 这篇文章主要为大家详细介绍了linux下mysql开启远程访问权限,防 ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- Linux下Tomcat开启查看GC信息
本文收录在Linux运维企业架构实战系列 一.开启GC日志 1.在Tomcat 的安装路径下,找到bin/catalina.sh 加上下面的配置,具体参数,自己配置: [root@centos7 to ...
- Aix/Linux下自动备份oracle数据库
曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...
- Linux下安装OpenCV+Python支持
以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支持,首先在安装OpenCV前安装必要的组件, ...
随机推荐
- 机器学习关于AUC的理解整理
AUC 几何意义:ROC曲线与X轴的面积 https://blog.csdn.net/luo3300612/article/details/80367901 AUC物理意义:随机给定一个正样本和一个负 ...
- soapUI 5.1.2 下载以及破解
转:https://blog.csdn.net/weiqing723/article/details/78865734
- Spring+mybatis+struts框架整合的配置具体解释
学了非常久的spring+mybatis+struts.一直都是单个的用他们,或者是两两组合用过,今天总算整合到一起了,配置起来有点麻烦.可是配置完一次之后.就轻松多了,那么框架整合配置具体解释例如以 ...
- adt-bundle-windows加入NDK支持
近期换了个硬盘,曾经都是用eclipse安装adt插件的,如今老了,图省事就下载了adt-bundle-windows,解压缩出来就直接用.但是这个adt-bundle没有集成NDK支持,于是手动安装 ...
- hdoj--1016--Prime Ring Problem(递归回溯)
Prime Ring Problem Time ...
- 转:EL表达式
简介: EL 全名为 Language ,JSP2.0 之后,EL 成为了标准规范.因此,只要是支持Servlet2.4/JSP2.0 的容器,就都可以在JSP 网页中直接使用EL . 除了JSP2. ...
- 【原创】如何使用一句SQL计算工作日天数?
现在有这样一个需求,要求计算两个日期间的工作日天数,要求除去节假日,其中节假日有一张配置表,具体的格式如下: 开始日期 结束日期 节假日类型 节假日名称 2013-08-10 2013-08-12 ...
- the prblem 3n+1
题目描述计算机科学中的问题通常被归类为属于某一类问题(例如,NP,不可解,递归).在这个问题中,您将分析算法的属性,该算法的分类对于所有可能的输入都是未知的. 考虑下面的算法: 1.输入n 2.输出n ...
- 洛谷P3369 【模板】普通平衡树 01trie/骚操作
Code: #include <cstdio> #include <algorithm> #include <cstring> #define setIO(s) f ...
- Python链表
class Node: ''' 节点类 链表节点结构 data next data: 节点保存的数据 _next: 保存下一个节点对象 ''' def __init__(self, data, pne ...