PHP安装oracle的php_oci和oci8扩展

依然范特西╮ 提交于 2020-05-08 11:17:20

环境:centos6.9 php5.3.3

oracle客户端:
下载链接:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

php连接oracle模块支持pdo_oci:
http://pecl.php.net/package/PDO_OCI     PDO_OCI-1.0.tgz      Oracle Call Interface driver for PDO
http://pecl.php.net/package/oci8        oci8-1.4.5.tgz       Extension for Oracle Database,allows you to access Oracle databases

一、oracle客户端上传

使用xftp5工具连接linux服务器,上传已上下载文件至/usr/local/src目录下

二、oracle客户端安装
安装oracle客户端
1、执行命令:rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
2、执行命令:rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm

配置oracle
1.修改/etc/ld.so.conf  或在ld.so.conf.d文件夹下添加oracle-x86_64.conf文件,写入安装oracle客户端的lib路径:
  执行命令:echo '/usr/lib/oracle/11.2/client64/lib/' > /etc/ld.so.conf.d/oracle-x86_64.conf
2.64位系统需要创建32位的软链接(这里可能是一个遗留bug,不然后面编译会出问题)
  执行命令1:ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
  执行命令2:ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
3.定义环境变量,修改/etc/profile文件,加入如下配置:
   export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
   export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATH
   export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
4,执行命令:source /etc/profile,使其生效

三、检查phpize是否安装

1、执行命令:find / -name phpsize,检查phpize是否存在

2、存在则执行下一步操作,反之,执行命令:yum install -y php-devel安装

四、安装pdo_oci模块
切换目录:cd /usr/local/src

解压安装包:tar -zxvf PDO_OCI-1.0.tgz

切换目录:cd PDO_OCI-1.0
防止pdo_oci对oracle11支持不足(pdo_oci可能不支持oracle11g,需要做个软链接成作为oracle10版本才能

执行命令1:ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1
执行命令2:ln -s /usr/lib/oracle/11.2 /usr/lib/oracle/10.2.0.1
执行命令3:phpize   用phpize来扩展
执行命令4:./configure --with-php-config=php-config --with-pdo-oci=instantclient,/usr,10.2.0.1
注:--with-pdo-oci这里也可以写全路径,可通过./configure --help查看具体用法
执行命令5:make
执行命令6:make install
执行命令7:ll /usr/lib64/php/modules/ |grep pdo_oci.so
执行命令8:vi /etc/php.ini配置文件中加入extension=pdo_oci.so,或者在/etc/php.d/下新建个pdo_oci.ini,添加进去

五、安装oci8
同上,解压至/usr/local/src
执行命令1:cd oci8-1.4.5/
执行命令2:phpize
执行命令3:./configure --with-php-config=php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib
执行命令4:make && make install
执行命令5:ll /usr/lib64/php/modules
执行命令6:echo 'extension=oci8.so' >>/etc/php.ini,或在/etc/php.d/下新建个oci8.ini将其添加进去
执行命令7:/etc/init.d/httpd reload
执行命令8:php -m 
..
memcache
oci8
openssl
pcntl
pcre
PDO
PDO_OCI
pdo_sqlite
...
可以看到模块pdo_oci和oci8已加载进去

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!