Linux 下安装oci8扩展

版权声明:转载请注明出处 https://blog.csdn.net/liuxl57805678/article/details/88239237

一、安装oracle-instantclient

下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

分别下载 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm  和   oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

放在/opt/目录下,执行:

 cd /opt

rpm -ivh oracle-instantclient*

此时会生成/usr/lib/oracle/11.2/client64/lib/目录。*注:下载对应数据库版本

(上面路径一定要去看看是否生成了,这很重要,路径名称可能不同,部分机器会生成 /usr/lib/oracle/11.2/client/lib/目录)

二、修改/etc/ld.so.conf配置文件

追加以下内容 -- 上面生成文件的路径,没有64的写client/lib/:

/usr/lib/oracle/11.2/client64/lib/

保存、退出,执行命令 ldconfig

三、安装oci8   如果是php7版本 安装2.1.8

下载最新的oci8组件

下载地址:http://pecl.php.net/package/oci8

下载 oci-2.0.8.tgz

放在/opt目录下,依次执行:

cd /opt

tar -xvzf oci-2.0.8.tgz

cd oci-2.0.8

/usr/local/php/bin/phpize #(用phpize生成configure配置文件,千万注意:phpize、php-config、instantclient目录一定要找对)

./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib

make && make install

成功后会告诉你oci8.so已经成功放在以下目录(这仅仅是我的目录,你的可能不同);

/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/

四、配置PHP支持OCI扩展

修改php配置文件

# vim /usr/local/php/etc/php.ini

在extension项后追加以下内容

extension=oci8.so

五、重启Apache/nginx服务测试

service apache2 restart   【-- apache】

service nginxd reload     【-- nginx】

 

如果报错:

could find driver

请安装 pdo-oci

/usr/local/php/bin/phpize 

./configure --with-pdo-oci=instantclient,/usr/lib/oracle/11.2/client64/lib --with-php-config=/usr/local/php/bin/php-config

 

如果报错

SQLSTATE[HY000]: OCIEnvNlsCreate: Check the character set is valid and that PHP has access to Oracle libraries and NLS data (/opt/packages/pdo_oci/oci_driver.c:614)

vim /usr/local/php/etc/php-fpm.conf    #根据自己的路径来哈

加入

env[LD_LIBRARY_PATH] = /usr/lib/oracle/11.2/client64/lib

env[ORACLE_HOME] = /usr/lib/oracle/11.2/client64/lib

到这里就大功告成了,使用 php -m 查看下是否扩展是否安装成功。

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/liuxl57805678/article/details/88239237