1)安装oracle client相关包
1> 用查看Linux系统:
uname -m
如果看到信息包含有64,说明你的Linux是64位系统,没有则是32位的,下载相应的包。我这是64位系统。去(Linux 64位版)http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.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
sdk-11.1.0.7.0-linux-x86_64.zip
2> 安装
#默认安装到/usr/lib/oracle/11.1/client64/下面
rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
#默认安装到/usr/include/oracle/11.1/client64/下面
rpm -ivh oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm
注Linux X86_64下要进行如下设置
ln -s /usr/lib/oracle/11.1/client64 /usr/lib/oracle/11.1/client ln -s /usr/include/oracle/11.1/client64 /usr/include/oracle/11.1/client
3> 解压sdk并把里面的sdk包拷贝到/usr/include/下
unzip sdk-11.1.0.7.0-linux-x86_64.zip cp -fr instantclient_11_1/sdk /usr/include/
4> 设置ORACLE_HOME与LD_LIBRARY_PATH 和 NLS_LANG
在/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"
使刚才的环境变量生效
[root ~] # source /etc/profile
2)安装pdo_oci
1> 安装 re2c
下载 wget http://downloads.sourceforge.net/re2c/re2c-0.12.3.tar.gz
tar zxvf re2c-0.12.3.tar.gz cd re2c-0.12.3 ./configure make make install
2> 安装 pdo_oci
如果是PHP5.3以上的版本,自带有PDO_OCI原文件存在php-5.3.X/ext/pdo_oci/下,如果有则无需下载编译文件。
下载 wget http://pecl.php.net/get/PDO_OCI-1.0.tgz
tar xzvf PDO_OCI-1.0.tgz cd PDO_OCI-1.0 /usr/local/webserver/php/bin/phpize ln -s /usr/include/oracle/11.1 /usr/include/oracle/10.2.0.3 ln -s /usr/lib/oracle/11.1 /usr/lib/oracle/10.2.0.3 ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3 make make install
如果编译出现:make: *** [pdo_oci.lo] Error 1 或 make: *** [pdo_oci.la] Error 1 错误,则是缺少Oci库文件,把库文件复制到编译目录下:
cp -f /usr/include/oracle/10.2.0.3/client64/* include/
重新再编译:
make && make install
编译完成会在/usr/local/lib/php/extensions目录下多出no-debug-non-zts-20090626目录,在/usr/local/lib/php/extensions/no-debug-non-zts-20090626/下生成pdo_oci.so文件。
3) 修改php.ini
添加
extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo_oci.so"
php -m | grep PDO 查看是否扩展成功,如果有以下扩展说明成功了
PDO
PDO_OCI