совместимость с oci8, php7 и Oracle 10.1

Мне нужно обновить систему с php5.6 до php7.2. Система использует базу данных oracle 10.1.

Теперь я попытался собрать всю информацию, но все еще не понимаю совместимости между php, oci8, instant client и базой данных.

Я читал, что с php7 мне нужно как минимум установить oci8 2.1, но это не работает с oracle 10.1.

Это правильно?

Или можно запустить php7 с оракулом 10.1?

Пожалуйста, просветите меня :)


person C. Leo    schedule 11.06.2018    source источник
comment
php 7.2 — новейшая версия, а Oracle 10.1 — 15 лет. Я не знаю, может ли текущий клиент Oracle (12.2) подключаться к Oracle DB 10.1 — возможно, нет.   -  person Wernfried Domscheit    schedule 11.06.2018


Ответы (1)


Я читал, что с php7 мне нужно как минимум установить oci8 2.1, но это не работает с оракулом 10.1.

Это правильно?

Нет. Из руководства:

OCI8 2.0 требует клиентских библиотек Oracle 12c, 11g или 10g и будет установлен на PHP 5.2 и выше.

Обратите внимание, что версия клиента Oracle, которую вы используете, не обязательно должна совпадать с версией сервера. На той же странице руководства (переформатированной в маркированные списки для удобства чтения):

  • Если OCI8 использует клиентские библиотеки 9iR2, то PHP может подключаться к Oracle Database 8i, 9iR2, 10g или 11g.
  • Если OCI8 использует клиентские библиотеки 10gR2, база данных может быть 9iR2, 10g, 11g или 12c.
  • Если OCI8 использует клиентские библиотеки 11g, база данных может быть 9iR2, 10g, 11g или 12c.
  • Если OCI8 использует клиентские библиотеки 12c, база данных может быть 10gR2, 11g или 12c.

Таким образом, только для последнего сценария (клиентские библиотеки 12c) требуется версия базы данных выше 10.1.

Независимо от того, что говорится в руководстве, я настоятельно рекомендую создать тестовый экземпляр и посмотреть, есть ли у вас какие-либо проблемы.


Изменить: дополнительная информация на странице PECL пакета OCI8:

Применяется стандартная связь между версиями Oracle. Например, PHP OCI8, связанный с Instant Client 11.2, может подключаться к Oracle Database 9.2 и выше. Дополнительные сведения см. в примечании Oracle «Поддержка взаимодействия между клиентом и сервером Oracle» (ID 207303.1).

person timclutton    schedule 11.06.2018
comment
Хорошо, спасибо ... так что я могу использовать oci8 2.1 (это минимальная версия для php 7) вместе с мгновенным клиентом, который совместим с oracle 10.1, верно? - person C. Leo; 11.06.2018
comment
Это похоже на то, что говорится в документации, да. Но повторюсь: создайте тестовый экземпляр и убедитесь, что он работает так, как вы ожидаете. - person timclutton; 11.06.2018
comment
@C.Leo Если этот ответ работает для вас, подумайте о том, чтобы принять его, чтобы он больше не оставался без ответа. - person timclutton; 12.06.2018
comment
спасибо за ответ, но я хотел бы сначала проверить это, а затем, конечно, я отмечу это как ответ. - person C. Leo; 13.06.2018