项目遇到php7.1+TP5 需要读取另外一个Oracle数据库,然后鼓捣半天,一晚上填坑结束
安装环境:CentOS 7.31611、宝塔 6.8.9、Nginx 1.14.2
所需文件:底部下载↓↓↓
1.安装PHP7.1
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
然后打开 /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”
保存后在终端运行 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
运行成功后,再到php.ini文件中检查是否有两个so,没有的话要记得添加。
extension=”oci8.so”
extension=”pdo_oci.so”
最后来一下phpinfo(); 看看效果。
附下载地址文件(刮刮乐):
链接: https://pan.baidu.com/s/1uo2lzsJmIP5R9uhRBMIdKA 提取码: dh7h
请问centos8. 2.宝塔7,php7.2远程连接Oracle11.1,应该怎么安装哦
大致都是一样的,只是版本不一样而已
提取密码呢
刮刮乐