mac安装OCI8扩展
0.环境
MacOs:10.14
MAMP PRO:5.1(16575)
php:5.4.45
1.安装Oracle Instant Client
1.1 准备工作
在Oracle官网下载Oracle Instant Client相关文件(需使用oracle账户登录,并同意相关协议)。
以12.2.0.1.0-2版本为例,需要下载以下文件
- instantclient-basic-macos.x64-12.2.0.1.0-2.zip
- instantclient-sdk-macos.x64-12.2.0.1.0-2.zip
- instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip
将以上文件解压到/usr/lib/oracle/12.2
/usr/lib/oracle/12.2/
├── BASIC_README
├── SQLPLUS_README
├── adrci
├── genezi
├── glogin.sql
├── libclntsh.dylib -> libclntsh.dylib.12.1
├── libclntsh.dylib.12.1
├── libclntshcore.dylib.12.1
├── libnnz12.dylib
├── libocci.dylib -> libocci.dylib.12.1
├── libocci.dylib.12.1
├── libociei.dylib
├── libocijdbc12.dylib
├── libons.dylib
├── liboramysql12.dylib
├── libsqlplus.dylib
├── libsqlplusic.dylib
├── ojdbc8.jar
├── sdk
│ ├── SDK_README
│ ├── admin
│ │ └── oraaccess.xsd
│ ├── demo
│ │ ├── cdemo81.c
│ │ ├── demo.mk
│ │ ├── occidemo.sql
│ │ ├── occidemod.sql
│ │ ├── occidml.cpp
│ │ ├── occiobj.cpp
│ │ ├── occiobj.typ
│ │ ├── oraaccess.xml
│ │ └── setuporamysql.sh
│ ├── include
│ │ ├── ldap.h
│ │ ├── nzerror.h
│ │ ├── nzt.h
│ │ ├── occi.h
│ │ ├── occiAQ.h
│ │ ├── occiCommon.h
│ │ ├── occiControl.h
│ │ ├── occiData.h
│ │ ├── occiObjects.h
│ │ ├── oci.h
│ │ ├── oci1.h
│ │ ├── oci8dp.h
│ │ ├── ociap.h
│ │ ├── ociapr.h
│ │ ├── ocidef.h
│ │ ├── ocidem.h
│ │ ├── ocidfn.h
│ │ ├── ociextp.h
│ │ ├── ocikpr.h
│ │ ├── ocixmldb.h
│ │ ├── ocixstream.h
│ │ ├── odci.h
│ │ ├── oratypes.h
│ │ ├── ori.h
│ │ ├── orid.h
│ │ ├── orl.h
│ │ ├── oro.h
│ │ ├── ort.h
│ │ └── xa.h
│ ├── ott
│ └── ottclasses.zip
├── sqlplus
├── uidrvci
└── xstreams.jar
4 directories, 63 files
1.2 开始安装
# 进入到当前php的bin目录
cd /Applications/MAMP/bin/php/php5.4.45/bin
# Use 'pecl install oci8-2.0.12' to install for PHP 5.2 - PHP 5.6.
# Use 'pecl install oci8-1.4.10' to install for PHP 4.3.9 - PHP 5.1.
./pecl install oci8-2.0.12
# 以下为显示内容
downloading oci8-2.0.12.tgz ...
Starting to download oci8-2.0.12.tgz (191,954 bytes)
.........................................done: 191,954 bytes
11 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] :
# 在上面的:后面输入以下内容
instantclient,/usr/lib/oracle/12.2
# 以下为显示内容
.
.
.
Build process completed successfully
Installing '/Applications/MAMP/bin/php/php5.4.45/lib/php/extensions/no-debug-non-zts-20100525/oci8.so'
install ok: channel://pecl.php.net/oci8-2.0.12
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini
2.配置php.ini
cd ~/Library/Application\ Support/appsolute/MAMP\ PRO/templates/
vi php5.4.45.ini.temp
# 添加
extension=oci8.so