MAMP Pro 6.6 FIX配置OCI8 和PDO_OCI
首先在MAMP Pro找到自己当前的PHP版本,比如我的就是7.4.25
然后去PHP官网https://www.php.net查找自己对应的PHP源代码。
下载完玩压缩包后解压进入php-7.4.26/ext 。在ext目录下查找自己需要的PDO_OCI 以及OCI8的文件包,将文件包复制到/Applications/MAMP/bin/php/php7.4.25/include/php/ext目录内即可。
第二部分
去oracle的官网下载所需要的文件,https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html,下载
instantclient-sdk-macos.x64-19.8.0.0.0dbru.zip以及
instantclient-basic-macos.x64-19.8.0.0.0dbru.zip即可。
目前网络上教程全部是让放到/USR/BIN目录下面,但是最新版本的MacOS Monterey 已经无法在根目录下面创建文件夹 ,即使关SIP也不行,所以直接将上面两个压缩包解压的内容放入一个共同的文件夹中即可,到时候编译的时候只需要附带上目前文件夹的目录即可,我认为更加的方便。
例如我就在桌面新建了一个oracle文件夹 然后新建了一个19,8文件夹 将上面两个压缩包内容全部放入19.8中。
第三部分 对第一步复制的两个扩展进行编译安装
### 首先进入对应的拓展文件夹中,比如OCI8
cd /Applications/MAMP/bin/php/php7.4.25/include/php/ext/oci8
### 其次运行当前PHP版本代码下面的BIN目录里面phpize
/Applications/MAMP/bin/php/php7.4.25/bin/phpize
如果运行成功之后,会返回如下图所示。
### 接着编译拓展文件
./configure --with-php-config=/Applications/MAMP/bin/php/php7.4.25/bin/php-config --with-oci8=instantclient,/Users/自己的Mac名称/Desktop/oracle/19.8
–with-php-config= 后面是php-config这个程序的所在位置
-with-oci8= 后面是刚刚安装好的instantclient位置
### 编译成功之后安装,
```
make install
```
### 安装成功之后记得,在当前版本的PHP配置文件PHP.ini中加入
```
extension=oci8.so
```
### 最后查看一下是否配置成功,进入php拓展页面查看,能够搜索到OCI8即为成功
PDO_OCI同上,
cd /Applications/MAMP/bin/php/php7.4.25/include/php/ext/pdo_oci
/Applications/MAMP/bin/php/php5.6.10/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.4.25/bin/php-config --with-pdo-oci=instantclient,/Users/自己的Mac名称/Desktop/oracle/19.8
make install
安装成功之后记得,在当前版本的PHP配置文件PHP.ini中加入
```
extension=pdo_oci.so
```
同样看到
即可。
到此mamp pro的oci8 以及pdo_oci即配置完毕。
mac下phpize编译如下报错:
/usr/bin/phpize
Configuring for:
PHP Api Version: 20190902
Zend Module Api No: 20190902
Zend Extension Api No: 320190902
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
解决办法也简单,在终端中运行如下命令:
$ brew install autoconf