背景最近因为项目在研究PHP与Oracle的集成。这个组合虽然很奇妙,但是用到的请不要用~环境CentOSLinuxrelease7.3.1611(Core)PHP7.1.1安装oracle组件下载http://www.oracle.com/technet...oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpmoracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpmPS:两者都需要安装,devel版本为SDK安装#rpm-ioracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm#rpm-ioracle-instantclient12.2-devel-12.2.0.1.0-1。x86_64.rpm安装成功会生成如下目录。64位系统必须软链接老版本(否则编译报版本不支持错误,应该是历史问题,坑1)#ln/usr/lib/oracle/12.2/usr/lib/oracle/10.2.0.1#ln/usr/include/oracle/12.2/usr/include/oracle/10.2.0.1添加环境变量#vietc/profileaddexportORACLE_HOME=/usr/lib/oracle/11.2/client64/exportLD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATHexportNLS_LANG="AMERICAN_AMERICA.AL32UTF8"生效#source/etc/profile编译安装oci8和pdo_oci下载最新包oci8-2.1.8.tgz和PDO_OCI-1.0.tgz编译安装oci8#tar-zxfoci8-2.1.8.tgz#cdoci8-2.1.8#phpize#./configure--with-php-config=/usr/local/php/bin/php-config--with-oci8=shared,instantclient,/usr/lib/oracle/12.2/client64/lib#make#makeinstall生成oci8.so并成功编译安装pdo_oci#tar-zxfPDO_OCI-1.0.tgz#cdPDO_OCI-1.0#phpize#./configure--with-php-config=/usr/local/php/bin/php-config--with-pdo-oci=instantclient,/usr,10.2.0.1#make#makeinstall生成pdo_oci.so并成功打开PHP扩展特定方法根据PHP环境,我的环境不用改so文件路径,直接使用生成的默认路径,只需要在/usr/local/php/etc/php.d/添加Additional.ini文件,重启即可effect并确认生效Status#php-m|grep-eoci8-ePDO_OCIoci8PDO_OCI大功告成PS因为pdo_oci下载编译总是报错(坑2),所以我从php.net下载了对应版本的php(例如:http://us1.php.net/get/php-7....),复制ext目录下的pdo_oci编译安装,步骤同上。
