Linux下为PHP安装oci8及pdo_oci扩展

下载instantclient 以及sdk

  instantclient-basic-linux-x86-64-11.2.0.2.0.zip

  oracle-instantclient11.2-sdk-11.2.0.1.0-1.x86_64.zip

上传服务器解压后统一放置一个目录下,我放在 /usr/local/oracle_client 里。

然后 echo "/usr/local/oracle_client" > /etc/ld.so.conf.d/oracle_client.conf

使用 /sbin/ldconfig 来创建链接。但在后面的编辑过程中会出现无法找到libclntsh.so的错误。

百思不得其解,后来回头看instantclient包里的文件,发现有两个文件是被加了版本后缀的。

复制他们并删掉带版本后缀的文件。

libclntsh.so.11.1  -> libclntsh.so

libocci.so.11.1  -> libocci.so

然后 /sbin/ldconfig 会发现,自动创建了libclntsh.so.11.1 和 libocci.so.11.1。顿时惊呼好坑!!!

然后编译oci8   --with-oci8=instantclient,/usr/local/oracle_client 妥妥的过了。

在编译pdo_oci的时候, --with-pdo-oci=instantclient,/usr/local/oracle_client,11.1.0.2   这里必须带版本号,不然会提示版本错误

原文地址:https://www.cnblogs.com/toruneko/p/3415403.html