0

我正在尝试使用 PHP 7.1 安装 oci8。我按照这里的说明进行操作:http ://www.oracle.com/technetwork/articles/technote-php-instant-084410.html

我有:

  • Debian 8.8
  • php 7.1
  • 安装在 /opt/instantclient_12_2 中的即时客户端
  • pecl install oci8在以下结束安装过程的情况下正确安装(使用instantclient,/opt/instantclient_12_2):

    Build process completed successfully
    Installing '/usr/lib/php/20151012/oci8.so'
    install ok: channel://pecl.php.net/oci8-2.1.4
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=oci8.so" to php.ini
    

我也在 php.ini 中启用了扩展。当我尝试做 a 时,php -i我得到以下信息:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/oci8.so' - /usr/lib/php/20160303/oci8.so: cannot open shared object file: No such file or directory in Unknown on line 0

oci8.so 在 20151012 而不是 20160303 中。我尝试了符号链接并将其移过来,但它检测到它不是针对该格式编译的,也不喜欢那样。

我错过了什么?我怎样才能让这一切玩得很好?

我在 cli 和 apache php.ini 文件之间进行了相同的更改。

提前致谢。

4

1 回答 1

1

PECL 上的 PHP OCI8 支持 PHP 7(和旧版本 - 请参阅 PECL 页面以在旧 PHP 版本上安装)。

尝试卸载 OCI8。

检查您没有多个版本的 PHP - 路径名称差异让我认为您有。

于 2017-07-11T00:52:50.293 回答