繁体   English   中英

如何在 macOS Catalina 或 Big Sur 上的 PHP 7.4 上安装 OCI8 扩展?

[英]How to install OCI8 extension on PHP 7.4 on macOS Catalina or Big Sur?

我已经通过 Homebrew 在我的 Mac 上安装了 PHP 7.4.11 和 Apache 2.4.46。

然后安装了 Oracle 即时客户端 & sqlplus (v19.3.0.0.0):

$ brew tap InstantClientTap/instantclient
$ brew install instantclient-basic
$ brew install instantclient-sqlplus

接下来是安装 OCI8 扩展,运行:

pecl install oci8

PECL 提示我:

请提供 ORACLE_HOME 目录的路径。 如果您使用 Oracle Instant Client [autodetect] 进行编译,请使用 'instantclient,/path/to/instant/client/lib' :

我不确定这是什么/path/to/instant/client/lib ,所以我运行locate sqplus

/usr/local/Cellar/instantclient-sqlplus /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/.brew /usr/local/ Cellar/instantclient-sqlplus/19.3.0.0.0dbru/.brew/instantclient-sqlplus.rb /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/INSTALL_RECEIPT.json /usr/local/Cellar/instantclient-sqlplus /19.3.0.0.0dbru/bin /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/bin/sqlplus /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/lib /usr/local /Cellar/instantclient-sqlplus/19.3.0.0.0dbru/lib/libsqlplus.dylib /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/lib/libsqlplusic.dylib /usr/local/Cellar/instantclient-sqlplus /19.3.0.0.0dbru/libexec /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/libexec/sqlplus /usr/local/Homebrew/Library/Taps/instantclienttap/homebrew-instantclient/Formula/instantclient-sqlplus .rb /usr/local/bin/sqlplus /usr/local/lib/libsqlplus.dylib /usr/local/lib/libsqlplusic.dylib /usr/local/opt /instantclient-sqlplus /usr/local/var/homebrew/linked/instantclient-sqlplus

好的,让我们试试这两个目录:

/usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/lib

检查 Oracle ORACLE_HOME 安装目录... /usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/lib 检查 ORACLE_HOME 库有效性...配置:错误:在 /usr/local/Cellar/ 中找不到 Oracle 库目录Instantclient-sqlplus/19.3.0.0.0dbru/lib 错误:`/private/tmp/pear/temp/oci8/configure --with-php-config=/usr/local/opt/php/bin/php-config -- with-oci8=/usr/local/Cellar/instantclient-sqlplus/19.3.0.0.0dbru/lib' 失败

/usr/local/lib/

检查 Oracle Instant Client 目录... /usr/local/lib/ 检查 Oracle Instant Client SDK 头目录...配置:错误:未找到 Oracle Instant Client SDK 头文件 错误:`/private/tmp/pear/temp/oci8 /configure --with-php-config=/usr/local/opt/php/bin/php-config --with-oci8=instantclient,/usr/local/lib/' 失败

/path/to/instant/client/lib产生与前者相同的错误。

那什么是正确的呢?

我个人会从 Oracle安装新的Instant Client 19.8 DMG 下载页面和软件包包含说明。 另请参阅Notarized macOS Oracle Instant Client Packages Make Installation Easer 中的步骤。 安装 Basic 和 SDK 包 - 如果您也需要,也可以安装 SQL*Plus。 您在 PECL 提示符下提供的路径将是 /Users/yourname/Downloads/instanclient_19_8 但如果您想将它放在其他地方,您可以移动该目录。

可能是 brew 包将头文件放在 OCI8 安装脚本不知道的地方。 通过使用 DMG,将找到标题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM