php版本5.6.33,注意oci8的版本
1.下载主要文件官方下载地址
instantclient-basic-macos.x64-11.2.0.4.0.zip
instantclient-sdk-macos.x64-11.2.0.4.0.zip
instantclient-sqlplus-macos.x64-11.2.0.4.0.zip (这个可以不下载,感觉可以不需要这个)
2.解压文件
创建目录/usr/local/instantclient_11_2
将basic解压的内容全部复制到此目录,将sdk解压后的sdk文件夹复制到此目录
3.创建符号链接
#cd /usr/local/instantclient_11_2
sudo ln -s /usr/local/instantclient_11_2/sdk/include/*.h /usr/local/include/
sudo ln -s /usr/local/instantclient_11_2/sqlplus /usr/local/bin/
sudo ln -s /usr/local/instantclient_11_2/*.dylib /usr/local/lib/
sudo ln -s /usr/local/instantclient_11_2/*.dylib.11.1 /usr/local/lib/
sudo ln -s /usr/local/lib/libclntsh.dylib.11.1 /usr/local/lib/libclntsh.dylib
测试 /usr/local/bin/sqlplus
4.一切就绪,编译安装
下载oci8-2.0.8.tgz https://pecl.php.net/package/oci8
保存到/usr/local/src目录下,加压oci8-2.0.8.tgz到oci8-2.0.8目录,
#cd /usr/local/src/oci8-2.0.8
#sudo /usr/local/php5/bin/phpize
#下需要注意php-config和客户端的路径不同
sudo ./configure --with-php-config=/usr/local/php5/bin/php-config --with-oci8=shared,instantclient,/usr/local/instantclient_11_2
#sudo make
#sudo make test #可能会出现了fail和bug,没有管它继续安装了,最后oci8还是成功安装了
#sudo make install
5.保存oci8.so
我根据上面步骤所生成的拓展文件在/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/。将其复制到当前使用的php拓展目录,我的是/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/
配置php.ini在extension的段落加上
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/"
extension = "oci8.so"
重启apache,查看phpinfo,出现OCI8 Support enable即安装成功