下载instantclient 以及sdk
oracle官方下载地址,需登录
这里选择的版本是
instantclient-basic-linux.x64-12.1.0.2.0.zip
instantclient-sdk-linux.x64-12.1.0.2.0.zip
将basic解压, 然后将sdk解压移动到basic目录下, 假设basic目录是/opt/instantclient
编译安装
#安装oci扩展
cd /phpsrc/ext/oci
phpize
./configure --with-oci8="instantclient,/opt/instantclient"
make
make install
#安装pdo_oci驱动
cd /phpsrc/ext/pdo_oci
phpize
./configure --with-pdo-oci="instantclient,/opt/instantclient,12.1"
make
make install
编译安装遇到的问题
- 没有ORACLE_HOME环境变量
解决方法: export ORACLE_HOME=/opt/instantclient - 无法找到 libclntsh.so
解决方法: 将libclntsh.so.1 重命名为 libclntsh.so - 不支持的版本
pdo_oci进行configure的时候12.1必须写正确 - 安装成功,php -m 报错提示无法加载libaio等一些so文件
使用ldd oci8.so命令查看发现一些文件not found
解决方法:apt-get install -y libaio-dev echo "/opt/instantclient" >> /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig