Linux PHP安装Oracle扩展 PHP7.3安装pdo_oci和oci8扩展
安装扩展前先确保PHP环境已经安装配置好,这里我们以宝塔的PHP环境为例进先安装
安装InstantClient
1.下载安装包
wget -c https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
wget -c https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
如果链接失效请前往官网进行下载
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
(注意要下载basic和devel,用来编译oci和pdo_oci。我这里下载的是rpm,方便安装。我这里下载的是18.5)
进行安装
rpm -ivh oracle-instantclient18.5-basic-18.5.0.0.0-3.x86_64.rpm
rpm -ivh oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm
安装完成后会生成目录 /usr/lib/oracle/18.5
2.添加环境变量
然后打开 /etc/profile,
vim /etc/profile
在文件底部增加
export ORACLE_HOME=/usr/lib/oracle/18.5/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/18.5/client64/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/oracle/18.5/client64
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
wq!保存后在终端运行
source /etc/profile
让环境变量立即生效。
3.安装oci8
下载oci8安装包,可到官方网站上下载其它的版本,我这以oci8-2.2.0.tgz为例 官网地址:http://pecl.php.net/package/oci8
wget -c http://pecl.php.net/get/oci8-2.2.0.tgz
下载好之后接下来进行编译安装
tar -zxvf oci8-2.2.0.tgz
cd oci8-2.2.0
/www/server/php/73/bin/phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/18.5/client64/lib --with-php-config=/www/server/php/73/bin/php-config
make&&make install
添加扩展到php.ini并重启PHP服务
echo "extension = oci8.so" >> /www/server/php/73/etc/php.ini
/etc/init.d/php-fpm-73 reload
运行一下/www/server/php/73/bin/php -v看是否报错
如果报错 libnsl.so.1: cannot open shared object file: No such file or directory
这里用 yum -y install libnsl 安装一下依赖包就可以了
4.dd 安装pdo_oci
由于pdo_oci版本比较老,我们这直接下载PHP源码编译,版本根据自己的实际情况下载
wget -c http://mirror.sohu.com/php/php-7.3.25.tar.gz
tar -zxvf php-7.3.25/.tar.gz
解压后我们进入ext/pdo_oci安装
cd php-7.3.25/ext/pdo_oci
/www/server/php/73/bin/phpize
./configure --with-pdo-oci=shared,instantclient,/usr/lib/oracle/18.5/client64/lib --with-php-config=/www/server/php/73/bin/php-config
make&&make install
echo "extension = pdo_oci.so" >> /www/server/php/73/etc/php.ini
/etc/init.d/php-fpm-73 reload
到此就安装完成了
可通过命令查询是否安装成功
/www/server/php/73/bin/php -m|grep -i oci8
/www/server/php/73/bin/php -m|grep -i pdo_oci