php5.3增加oci8扩展
CentOS5.5服务器上已有相关环境:apache2、php5.3.10
需要安装:oracle客户端、pdo_oci扩展、oci8扩展
一、 准备文件
- oracle客户端rpm包,http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html 下载
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
- pdo_oci 与 oci8 包
下载php下的mcrypt扩展或者直接下载php的完整安装包
http://cn.php.net/releases/ 网页下找到自己服务器的php版本,下载后tar解压(本人的是php5.3.10)
解压后,包内php5.3.10/ext/文件夹下含有oci与pdo_oci的扩展源码
二、安装oracle客户端
# rpm -ivh oracle-intstant*.rpm
三、配置oracle
- 添加动态装载器
修改/etc/ld.so.conf
文件或在ld.so.conf.d
文件夹下添加oracle-x86_64.conf
文件,写入如下你安装的oracle客户端的lib路径:
/usr/lib/oracle/11.1/client64/lib/
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
- 修改/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" #具体字符集,请查看你的oracle服务端sql,GBK为:AMERICAN_CHINA.ZHS16GBK
保存后出来执行
# source /etc/profile # 立即生效
四、安装pdo_oci
1)进入文件夹
# cd php-5.3.10/ext/pdo_oci/
- 用phpize来扩展,文件夹内执行: phpize
# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
- 编译安装
# ./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
基本一样,进入php5.3.10/oci8/
文件夹,phpize
命令,编译安装
# ./configure --with-php-config=php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.1/client64/lib/
# make && make install
最后也要修改php.ini
文件,在/etc/php.d/文件夹下新建一个oci8.ini
,内容还是extension=oci8.so
通过phpinfo查看扩展是否安装成功