在 Ubuntu 23.10 PHP 8.2 上安装 OCI8 时出错

在 Ubuntu 23.10 PHP 8.2 上安装 OCI8 时出错

我在装有 PHP 8.2 的 Ubuntu 23.10 服务器上运行 Apache 2.4,并且无法安装 OCI8 扩展来连接到 Oracle。

我之前有一个从 makefile 构建的 PHP 5.6,但最近我手动将其删除了,因为没有需要卸载的包。

我安装了 Oracle instant client 12.2 和php-pear。我检查了一下,我可以通过 sqlplus 连接到数据库。当我运行:pecl install oci8我收到此错误:

检查 Oracle Database OCI8 支持... 是,共享 检查 PHP 版本... 配置:错误:您至少需要 PHP 8.1.0 才能使用此版本的 OCI8。对于 PHP 5.6.31,请使用 OCI8 2.0

看来 pecl 仍然认为我正在运行 PHP 5.6。我创建了从 PHP 8.2 到旧 PHP 的符号链接,否则 pecl 将无法启动,因为它仍在 /usr/bin/php 中寻找 php 二进制文件:

ln -s /usr/bin/php8.2 /usr/bin/php

phpinfo并且php -v都显示正在运行的版本为 PHP 8.2。

我尝试重新安装 PHP 8.2 和php-pear,但它说我已经拥有最新版本。

我该怎么做才能解决此错误并安装 OCI8?


编辑:跑步which php给予/usr/local/bin/phpwhich pecl产生/usr/local/bin/pecl

pecl channel-update pecl.php.net在安装 OCI8 之前运行了并收到了消息Channel "pecl.php.net" is up to date

答案1

在更改了一些 Pear 设置后,我成功安装了 OCI8:

pear config-set php_bin /usr/bin/php8.2
pear config-set php_ini /etc/php/8.2/apache2/php.ini
pear config-set php_suffix 8.2

相关内容