Как использовать oracle client 11.2 с php (xampp) на win7 x64

Я только что установил точный XAMPP на свой ПК win7 (x64), чтобы написать несколько сценариев PHP для подключения к оракулу БД. У меня также установлен нормальный клиент Oracle 11.2.0 (PATH и ORACLE_HOME установлены правильно). Клиент используется для всей моей другой работы без каких-либо проблем.

Когда я пытаюсь подключиться к оракулу БД PHP не удается с Fatal error: Call to undefined function oci_connect() in, Я помню, что мне пришлось включить «oci8-extensions» в моем php.ini, когда я делал то же самое несколько лет назад на x32 winXP PC.
Но мой текущий XAMPP не имеет этих DLL в php/ext папка (только php_oci8_12c.dll который выдает несколько ошибок неизвестных функций при запуске apache, и это для oracle 12, а не 11), а php.ini также говорит, что они нужны только для текущего клиента.

;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

Также это SO-вопросы показывает, что использование расширения комментария с обычным клиентом не будет работать (что я тоже пробовал).

Я пытался найти решение для Google, но все «решения» — это «установить мгновенный клиент win32 и включить расширение». Но я не могу этого сделать, так как большая часть моей QA-работы требует установленного и настроенного 11.2.0-клиента, и у меня нет .dll в моей папке php / ext в любом случае

Я также пытался скопировать ociw32.dll из папки client / bin в папку php / ext, но тогда apache говорит, что это не PHP-библиотека.

Итак, как я могу включить библиотеки Oracle Oracle для использования oci8 для XAMPP на x64 win7 БЕЗ установить win32 Oracle Instant Client и уничтожить мои текущие настройки?

редактировать: я также попробовал описанные шаги в PHP: Руководство по установке (Пост: Саманта Дот Винсент в gmail dot com) включая изменение моего apache-http.conf, который также не помог.

Я также смущен моим phpinfo()-Выход как говорится

Configure Command   "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared"

4

Решение

Я наконец нашел решение:

Я скачал актуальные OCI-DLL из «PECL :: PAckage :: oci8 :: 2.0.8» (в моем случае 32-битная, многопоточная DLL), а затем удалил ; из этой линии

;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

Я также добавил следующие строки в мой http.conf apache

SetEnv ORACLE_BASE "C:/oracle/"SetEnv ORACLE_HOME "C:/oracle/product/11.2.0/client_1"

После этого я перезапустил apache, убедившись, что мой псевдоним подключения, вероятно, находится в моем tsnames.ora и тогда я мог бы использовать oci8-функции без каких-либо проблем.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]