Страница 1 из 2
Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 08 май 2024, 15:59
shakhzodmax
Как правильно подключить oracle в OSPanel 6?
Выскакивается оишбка: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries
instant client version: 12_2
enabled php extension: oci_8
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 08 май 2024, 19:04
Максим
Переключитесь на более новую версию PHP, где есть oci_12.
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 10:19
EvilKraft
У меня та же самая ошибка.
PHP Version: 8.0.30
instant client version: 21_12
пробовал подключать все доступные версии OCI: oci8, oci8_11g, oci8_12c, oci8_19
в phpinfo в разделе OCI:
OCI8 Support enabled
OCI8 DTrace Support disabled
OCI8 Version 3.0.1
Oracle Run-time Client Library Version 0.0.0.0.0
Oracle Compile-time Instant Client Version 19.3
Такое ощущение, что модуль включается, но не подхватывает instant client, т.к. "Oracle Run-time Client Library Version": 0.0.0.0.0
В предыдущей версии OpenServer значение "Oracle Run-time Client Library Version": 21.12.0.0.0
Путь к папке с instant client добавлен в переменную PATH
---------------------------------------------------------------------------------------------------
Не знаю, связанно это с ошибкой или нет, но Configure Command в пятой версии выглядит так:
cscript /nologo /e:jscript configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-pdo-oci=..\..\..\..\instantclient\sdk,shared" "--with-oci8-19=..\..\..\..\instantclient\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--without-analyzer" "--with-pgo"
А в шестой:
cscript /nologo /e:jscript configure.js "--enable-snapshot-build" "--enable-debug-pack" "--with-pdo-oci=n:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--with-oci8=n:\php-sdk\oracle\x64\instantclient_10_2\sdk,shared" "--with-oci8-11g=n:\php-sdk\oracle\x64\instantclient_11_2\sdk,shared" "--with-oci8-12c=n:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--with-oci8-19=n:\php-sdk\oracle\x64\instantclient_19_3,shared" "--enable-com-dotnet=shared" "--with-ereg=shared" "--enable-fd-setsize=1024" "--without-analyzer" "--with-php-build=../win64build.vc16o3"
в пути используется диск "N", которого у меня нет в системе.
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 10:26
Максим
То, на что вы ссылаетесь, это просто параметры сборки, эти пути не имеют отношения к тому, что и где у вас сейчас должно быть.
Перезапустите компьютер, чтобы PATH обновился если Oracle Instant Client только что поставили, думаю в этом дело.
И активируйте только то расширение PHP (одновременно включать можно только одно php_oci8_*), которое совпадает по версии с установленным Oracle Instant Client.
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 11:04
EvilKraft
Oracle Instant Client рабоатет уже давно. Комп много раз перезагружался с момента установки.
В пятой версии OpenServer все работает нормально.
Проблема именно с 6 версией.
"одновременно включать можно только одно php_oci8_*"
Я знаю.
Может я не в тот файл путь к Instant Client добавляю?
я редактирую файл "config\PHP-8.0\default\settings.ini"
Переменная PATH выглядит сейчас так:
PATH = {root_dir}\modules\{module_name}\Apache\bin;{root_dir}\modules\{module_name}\PHP;{root_dir}\data\{module_name}\{profile_name}\composer\vendor\bin;%PATH%;C:\Soft\Dev\Oracle\instantclient_21_12
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 11:09
EvilKraft
Все заработало, когда перенес путь к Instant Client на первое место в переменной PATH
PATH = C:\Soft\Dev\Oracle\instantclient_21_12;{root_dir}\modules\{module_name}\Apache\bin;{root_dir}\modules\{module_name}\PHP;{root_dir}\data\{module_name}\{profile_name}\composer\vendor\bin;%PATH%
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 11:25
Максим
Значит в системе где-то у вас установлена, или была установлена и остались её файлы, несовместимая версия, вон оно при поиске в %PATH% и обнаруживало несовместимую dll-ку.
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 12:20
EvilKraft
Это врятли.
Система переустанавливалась недавно. И в ней успела побывать всего лишь одна версия instantclient.
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 15:15
EvilKraft
Максим писал(а): ↑14 май 2024, 11:25
Значит в системе где-то у вас установлена, или была установлена и остались её файлы, несовместимая версия, вон оно при поиске в %PATH% и обнаруживало несовместимую dll-ку.
Вы отчасти правы.
После удаления файла \OSPanel\modules\PHP-8.0\PHP\oci.dll все переменная PATH заработала как надо.
Re: Как правильно подключить ORACLE в OSPANEL 6 ?
Добавлено: 14 май 2024, 15:52
Максим
EvilKraft писал(а): ↑14 май 2024, 15:15
Максим писал(а): ↑14 май 2024, 11:25
Значит в системе где-то у вас установлена, или была установлена и остались её файлы, несовместимая версия, вон оно при поиске в %PATH% и обнаруживало несовместимую dll-ку.
Вы отчасти правы.
После удаления файла \OSPanel\modules\PHP-8.0\PHP\oci.dll все переменная PATH заработала как надо.
В PHP добавлено сразу несколько расширений, а oci.dll может быть только один, поэтому он просто не совпал с выбранной вами версией, как я понимаю. Проще да, его сразу удалять. Я укажу об этом в документации, либо просто удалю из сборки скорее всего.