为php添加pdo_oci模块的几种方法[原创]

Posted: 2009年5月7日星期四
最近公司的一部分开发决定采用框架进行开发,需要php_oci的php扩展模块。比较遗憾的最新的pdo_oci的版本还是05年开发的,安装过程如不注意会有比较多的问题,本人总结了一下它的几种安装方法,写下来进行备忘。
第一种就是在编译时添加--with-pdo-oci参数,这种方式的话,如果是刚开始搭建php环境的话应该是一种比较好的一种方式,具体安装步骤如下
首先安装oracle客户端,安装方法请查看我以前写的"Linux下编译安装PHP的oracle扩展",
值得注意的是,如果你采用rpm包安装的是64位的客户端的话,必须得为oracle客户端的include建立一个软连接,具体建立方法如下

ln -s /usr/lib/oracle/10.2.0.4/client64 /usr/lib/oracle/10.2.0.4/client

ln -s /usr/include/oracle/10.2.0.4/client64 /usr/include/oracle/10.2.0.4/client

再就是在编译时添加如下编译选项进行编译安装
--with-pdo-oci=instantclient,/usr,10.2.0.4
具体说明一下,instantclient即oracle的instant client的意思,/usr 就是oracle instant client安装目录,10.2.0.4 是oracle instant client版本,默认情况下如果写成这样的话,它会自动到/usr/include/oracle/10.2.0.4/client和/usr/lib/oracle/10.2.0.4/client查找依赖库文件,如果安装的64位的oracle instant client的话就必须得建立上面的一个软链接,不然就找不到所依赖的oci.h头文件而报错。其它的也就是跟普通的php安装一样,不需要任何特别的操作就能安装好php的PDO_OCI的扩展。
第二种方式即通过php的pear执行安装,这种适合于已经部署好了php环境,需要添加一个pdo_oci的扩展
如果在编译过程中没有添加--enable-sigchild参数的话,安装起来应该是最快的,最简单,最灵活。如果编译时添加了此参数的话,这种方式就不适合你,就别浪费时间了,安装时会报错。安装方法如下
添加oracle环境
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client64/lib
添加oracle instant client的头文件的软链接
for i in /usr/include/oracle/10.2.0.4/client64/*;do;ln -s $i /usr/include;done
下载PDO_OCI进行安装
curl -O http://pecl.php.net/get/PDO_OCI-1.0.tgz
pear install PDO_OCI-1.0.tgz

在php.ini文件当中修改extension的路径及添加pdo_oci的扩展,
将extension_dir = "./"修改为extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"同时在它后面添加如下内容
extension=pdo_oci.so
重新启动http服务器即完成pdo_oci的安装,如不需要了,可以通过直接执行
pear uninstall PDO_OCI进行卸载
第三种安装方法直接编译pdo_oci的扩展包
安装前,如果你采用rpm包安装的是64位的客户端的话,必须得为oracle客户端的include建立一个软连接,具体建立方法如下

ln -s /usr/lib/oracle/10.2.0.4/client64 /usr/lib/oracle/10.2.0.4/client

ln -s /usr/include/oracle/10.2.0.4/client64 /usr/include/oracle/10.2.0.4/client

下载PDO_OCI进行安装
curl -O http://pecl.php.net/get/PDO_OCI-1.0.tgz
tar xf PDO_OCI-1.0.tgz
cd PDO_OCI-1.0
/usr/local/php/bin/phpize
./configure --with-pdo-oci=instantclient,/usr,10.2.0.4 --with-php-config=/usr/local/php/bin/php-config
make
make install

在php.ini文件当中修改extension的路径及添加pdo_oci的扩展,
将extension_dir = "./"修改为extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/"同时在它后面添加如下内容
extension=pdo_oci.so
重新启动http服务器即完成pdo_oci的安装.
以上几种安装方法,安装完成后通过以下两种方式可以检验是否安装成功
安装完成执行php -m应该可以查看到PDO_OCI这么一行文字,表示安装成功,或通过phpinfo可以看到如下图所示的内容


表示安装成功。至此就是我总结的几种安装方法。

0 评论: