新年
快乐

垃圾堆中的精品

垃圾堆中的精品

宝塔面板PHP7.1安装Oracle扩展

项目遇到php7.1+TP5  需要读取另外一个Oracle数据库,然后鼓捣半天,一晚上填坑结束

安装环境:CentOS 7.31611、宝塔 6.8.9、Nginx 1.14.2

所需文件:底部下载↓↓↓

1.安装PHP7.1

image

2.安装InstantClient

下载打包好的文件,或者到官网下载。(注意要下载basic和devel,用来编译oci和pdo_oci。我这里下载的是rpm,方便安装。我这里下载的是18.3)

将下载的basic放在/usr/lib/oracle/,devel放在/usr/lib/oracle/。然后运行命令安装。

rpm -ivh /usr/lib/oracle/oracle-instantclient18.3-basic-18.3.0.0.0-3.x86_64.rpm

rpm -ivh /usr/include/oracle/oracle-instantclient18.3-devel-18.3.0.0.0-3.x86_64.rpm

image

然后打开 /etc/profile,在文件底部增加(注意版本和文件路径)

export ORACLE_HOME=/usr/lib/oracle/18.3/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/18.3/client64/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/oracle/18.3/client64
export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”

image

保存后在终端运行  source /etc/profile,让环境变量立即生效。

3.安装OCI8

这里要注意先将php7.1的配置项【禁用函数】中删除popen、readlink两个函数。然后终端中运行

pecl channel-update pecl.php.net

/www/server/php/71/bin/pecl install oci8

4.安装PDO_OCI

因为版本问题不能使用pecl安装pdo_oci,所以自己编译。

下载php源码。将源码包中的压缩包中的ext/pdo_oci文件夹上传到/www/server/php/71/include/php/ext/。

然后将php.ini配置文件中[oci8]下面的oci8.privileged_connect,前面分号去掉,Off修改为On,后面的配置项自己依据实际情况去配置。然后保存重启或重载php服务。

然后终端运行

cd /www/server/php/71/include/php/ext/pdo_oci

/www/server/php/71/bin/phpize

./configure –with-php-config=/www/server/php/71/bin/php-config

5.PHP-FPM配置

编辑/www/server/php/71/etc/php-fpm.conf,将下面两行代码加进去。

env[LD_LIBRARY_PATH] = /usr/lib/oracle/18.3/client64/lib
env[ORACLE_HOME] = /usr/lib/oracle/18.3/client64/lib

image

运行成功后,再到php.ini文件中检查是否有两个so,没有的话要记得添加。

extension=”oci8.so”

extension=”pdo_oci.so”

最后来一下phpinfo(); 看看效果。

image

image

附下载地址文件(刮刮乐):

链接: https://pan.baidu.com/s/1uo2lzsJmIP5R9uhRBMIdKA 提取码: dh7h

评论回复

  1. 回复 到此一游

    请问centos8. 2.宝塔7,php7.2远程连接Oracle11.1,应该怎么安装哦

  2. 回复 ubk

    提取密码呢

回到顶部