flapflapjack
@flapflapjack
на треть я прав

Какой есть рабочий вариант PHP7.4+Oracle8?

На работе трекер, да и вся CRM написана была миллион лет до нашей эры на PHP 5.3 и oracle 8.

Уже третий день бьюсь - не могу подружить ни одну библиотеку oci, работающую с Oracle 8 вместе с php 7.4.

Все современные версии клиента oracle тупо не хотят коннектиться к базе.

Понимаю, что самое верное решение - перейти на новый Oracle, но дело в том, что все сервисы компании работают на Oracle 8, особенно биллинг, который не перенесешь в новую версию просто так, и у меня уже даже появляются в мыслях такие идеи, как поставить debian 7-8, вернуться в доисторический век, и писать сервисы на библиотеке adodb.inc.php для оракла 8. Но это ваще жесть.
  • Вопрос задан
  • 373 просмотра
Пригласить эксперта
Ответы на вопрос 2
@rPman
https://www.php.net/manual/en/ref.pdo-oci
https://www.php.net/manual/ru/oci8.requirements.php

там в требованиях веселая чехарда с версиями библиотек и клиента, но теоретически возможно.

Могу предложить попробовать разнести (если сейчас не так) на разные машины (конечно виртуалка/докер) сервер и клиент для php, так как инсталлятор oracle может плохо обрабатывать такие ситуации.

p.s. если не сумеете побороть, пилите прослойку, благо работы на вечер, т.е. буквально http (или даже websocket) сервер на самом php (осторожно с многопоточностью) старой версии работает исключительно для выполнения запросов и сериализацию ответа. Накладные расходы конечно будут (не обязательно большие) но дальше уже вопрос что вам важнее - затраты на разработку или затраты на железо и главное у вас будет возможность подправить эту прослойку для оптимизации.

Не уверен но есть шанс что данная прослойка уже существует (http => sql), ищите.
Ответ написан
Комментировать
@evgensoft
Как вариант - поставить минимальную установку Oracle 10-11 и сделать ДБ-линк на Oracle 8. Oracle не гарантирует официально работу со старыми версиями, но у нас так в продакшене вполне успешно работает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы