Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2168659
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: Oracle

2011-10-11 13:17:35

 

确实费了不少周折,必须记下来。

CentOS服务器上已有相关环境:apache2、php5.3.3

 需要安装:oracle客户端、pdo_oci扩展、oci8扩展

Let's do it !

一、 准备文件

1) oracle客户端rpm包, 下载

# oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
#
oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm
#
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm

2) pdo_oci 与 oci8 包

# oci8-1.4.5.tgz // wget
#
PDO_OCI-1.0.tgz // wget

二、安装oracle客户端

# rpm -ivh oracle-intstant*.rpm

三、配置oracle

 1) 添加动态装载器

   修改/etc/ld.so.conf文件或在ld.so.conf.d文件夹下添加oracle-x86_64.conf文件,写入如下你安装的oracle客户端的lib路径:

/usr/lib/oracle/11.1/client64/lib/

2) 64位系统需要创建32位的软链接(不然后面安装会出问题,我就这上面纠缠了很久)

# ln -s /usr/lib/oracle/10.2.0.3/client64 /usr/lib/oracle/11.1/client
#
ln -s /usr/include/oracle/10.2.0.3/client64 /usr/include/oracle/11.1/client

3) 修改/etc/profile文件,最后加入如下内容:

export ORACLE_HOME=/usr/lib/oracle/11.1/client64/
export LD_LIBRARY_PATH
=/usr/lib/oracle/11.1/client64:$LD_LIBRARY_PATH
export NLS_LANG
="AMERICAN_AMERICA.AL32UTF8"
# source /etc/profile //使之生效

四、安装pdo_oci

1)解压,进入文件夹,不写了

2)以免pdo_oci对oracle11支持不足,做一个假的ln,骗过编译

# ln -s /usr/include/oracle/11.1 /usr/include/oracle/10.2.0.1
#
ln -s /usr/lib/oracle/11.1 /usr/lib/oracle/10.2.0.1

3) 用phpize来扩展,文件夹内执行: phpize

4) 编译

# ./configure --with-php-config=/usr/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
#
make && make install

执行顺利完成后,最后一行可以看到,已经将pdo_oci.so文件放入php的modules下,只需修改下php.ini文件,添加extension=pdo_oci.so即可 

 

五、安装oci8

基本一样,解压,进入,phpize,编译即可,不需要转换

# ./configure --with-php-config=/usr/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/11.1/client64/lib
#
make && make install



最后也要修改php.ini文件(我这里的系统配置是分离的,在/etc/php.d/文件夹下新建一个oci8.ini,内容还是extension=oci8.so

六、打完收功,查看你的phpinfo()吧

阅读(1389) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~