Php 如何在macOS Mojave中使用XAMPP设置Oracle即时客户端?
我正在使用macOS,并已在我的系统上成功安装和设置XAMPP。但问题是,我想通过PHP轻松语法连接到oracle数据库,如下所示:Php 如何在macOS Mojave中使用XAMPP设置Oracle即时客户端?,php,oracle,terminal,xampp,Php,Oracle,Terminal,Xampp,我正在使用macOS,并已在我的系统上成功安装和设置XAMPP。但问题是,我想通过PHP轻松语法连接到oracle数据库,如下所示: $conn = oci_connect('xx', 'xx', '123.123.xxx.x/xxxx'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } 但是我在运行页面时遇到了这个
$conn = oci_connect('xx', 'xx', '123.123.xxx.x/xxxx');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
但是我在运行页面时遇到了这个错误
Call to undefined function oci_connect()
在阅读了一些文章后,我发现我必须安装oracle instant client,但我真的不知道下载哪个版本的步骤,以及在xampp文件夹中解压文件的位置。在这方面我真的是个新手。这就是我在macOS Mojave上所做的。我使用了来自的本机安装程序XAMPP 7.4.9 xampp-osx-7.4.9-0-installer.dmg。我用开发人员文件进行了基本安装 选择选项-这是默认设置 似乎XAMPP for macOS没有构建OCI8扩展。(我注意到 从XAMPP-osx-7.4.9-0-VM.dmg安装的XAMPP-VM也没有OCI8 分机,但我还没有玩过。) 遗憾的是,使用
pecl
命令安装OCI8的“明显”方法失败了
正确找到正确的PHP版本。例如,跑步:
sudo /Applications/XAMPP/xamppfiles/bin/pecl install oci8
答复:
instantclient,/Applications/XAMPP/xamppfiles/lib/instantclient-11.2.0.3.0/
检查PHP版本时,失败。。。未知选项:n
。PECL配置看起来不错,但一定与本机PHP版本有冲突
无论如何,OCI8稍微长一点的手动安装是可行的。说明如下
- 我更喜欢使用最新的即时客户端,所以请下载最新的即时客户端
来自的客户端Basic和SDK包
并将其解压缩:
cd $HOME/Downloads curl -O https://download.oracle.com/otn_software/mac/instantclient/instantclient-basic-macos.zip curl -O https://download.oracle.com/otn_software/mac/instantclient/instantclient-sdk-macos.zip
- 提取即时客户端(替换下载目录路径):
- 您可以选择进行一些清理。摆脱旧的即时客户端:
并删除OCI8不需要的新库:sudo rm -rf /Applications/XAMPP/xamppfiles/lib/instantclient-11.2.0.3.0
sudo rm -f /Applications/XAMPP/xamppfiles/lib/instantclient_19_3/{*jdbc*,*occi*,*mysql*,*jar,uidrvci,genezi,adrci}
- 从和下载OCI8扩展插件
提取它:
cd $HOME/Downloads curl -O https://pecl.php.net/get/oci8-2.2.0.tgz tar -xzf oci8-2.2.0.tgz
- 构建并安装OCI8。您将需要某种可用的编译器;我已安装XCode:
cd oci8-2.2.0 /Applications/XAMPP/xamppfiles/bin/phpize ./configure --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config --with-oci8=shared,instantclient,/Applications/XAMPP/xamppfiles/lib/instantclient_19_3 make sudo make install
- 然后,告诉XAMPP启用扩展:
在提示下,输入即时客户端目录的路径,如:sudo /Applications/XAMPP/xamppfiles/xampp oci8
Please enter the path to your Oracle or Instant Client installation: [/Applications/XAMPP/xamppfiles/lib/instantclient-11.2.0.3.0] /Applications/XAMPP/xamppfiles/lib/instantclient_19_3 installing symlink... patching php.ini... OCI8 add-on activation likely successful. XAMPP: Stopping Apache...ok. XAMPP: Starting Apache...ok.
- 现在,当您检查时,您应该看到OCI8部分
Please enter the path to your Oracle or Instant Client installation:
[/Applications/XAMPP/xamppfiles/lib/instantclient-11.2.0.3.0] /Applications/XAMPP/xamppfiles/lib/instantclient_19_3
installing symlink...
patching php.ini...
OCI8 add-on activation likely successful.
XAMPP: Stopping Apache...ok.
XAMPP: Starting Apache...ok.