PHP не распознает, где был установлен oci8.so

Я пытаюсь установить oci8 с PHP 7.1. Я следую инструкциям здесь: http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html.

У меня есть:

  • Debian 8.8
  • php 7.1
  • мгновенный клиент установлен в / opt / instantclient_12_2
  • # P3 #
    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.

Заранее спасибо.


person Ryan Price    schedule 10.07.2017    source источник
comment
Возможно, расширение oci8 pecl еще не поддерживает PHP 7.1 (PHP 7.1 имеет другие привязки расширений, чем PHP 7.0, поэтому потребуется версия, специально скомпилированная для PHP 7.1). Не могли бы вы попробовать расширение с PHP 7.0?   -  person Jirka Hrazdil    schedule 10.07.2017


Ответы (1)


PHP OCI8 на PECL поддерживает PHP 7 (и более старые версии - см. Страницу PECL для установки на более старые версии PHP).

Попробуйте удалить OCI8.

Убедитесь, что у вас нет нескольких версий PHP - я думаю, что у вас есть разница в именах путей.

person Christopher Jones    schedule 11.07.2017
comment
Спасибо, Крис, твоя догадка верна. У меня было установлено несколько версий PHP. Для всех, кто обнаружит это в будущем, мне нужно было установить php-dev, чтобы он включал phpize, который необходим для установки oci8. - person Ryan Price; 11.07.2017
comment
Итак, вместо установки php7.0 я должен установить только php7.0-dev (не php-cli и т. Д.)? У меня такая же проблема - person Enrique; 20.07.2017