PHP无法识别安装oci8.so的位置

时间:2017-07-10 18:55:41

标签: php oci8 debian-jessie instantclient

我正在尝试使用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中启用了扩展程序。当我尝试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文件之间做了相同的更改。

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

尝试卸载OCI8。

检查您是否拥有多个版本的PHP - 路径名称差异让我觉得您这样做。