#php #laravel #oracle #yajra-datatable
Вопрос:
Запуск сервера PHP IIS.
ошибка Использование неопределенной константы OCI_CRED_EXT — предполагается, что «OCI_CRED_EXT» (это приведет к ошибке в будущей версии PHP)
Запустив php, artiasan обслуживает подключение к базе данных Oracle.
конфигурация:
Windows 10 x64 Pro версии 20H2
Вручную установленный 7.3 Не Потокобезопасный x86 добавьте путь к env
Сервер IIS версии 10
Ларавель 8
OCI 8.2.2 для WIndows Не Потокобезопасный (NTS) x86 распаковать C:Program Файлы (x86)Php(X86)7.3
композитор устанавливает laravel-oci8
instantclient-basic-nt-11.2.0.4.0 добавить путь к env
добавить php.ini extensions:php_oci8.dll
команда cmd
php —ri oci8
oci8
Поддержка OCI8 => включена
Поддержка OCI8 DTrace => отключена
Версия OCI8 => 2.2.0
Версия клиентской библиотеки Oracle для времени выполнения => 11.2.0.4.0
Версия мгновенного клиента Oracle во время компиляции => 10.2
Директива => Локальное значение =>> Основное значение
oci8.max_persistent => -1 =>> -1
oci8.persistent_timeout => -1 =>> -1
oci8.ping_interval => 60 =>> 60
oci8.privileged_connect => Выключено =>> Выключено
oci8.statement_cache_size => 20 =>> 20
oci8.default_prefetch => 100 =>> 100
oci8.old_oci_close_семантика => Выкл =>> Выкл
oci8.события => Выключено =>> Выключено
Статистика =>
Активные Постоянные Соединения => 0
Активные соединения => 0
phpinfo не отображает модуль oci8.
функцию error_log PHP предупреждение: PHP в стартап: не удается загрузить динамическую библиотеку ‘php_oci8.dll’ (пробовал: C:Program файлы (для x86)PHP(в архитектуре x86)7.3extphp_oci8.dll (указанный модуль не может быть найден.), Файлы C:Program (для x86)PHP(в архитектуре x86)7.3extphp_php_oci8.dll.dll (указанный модуль не может быть найден.)) в неизвестных на линии 0
php_oci8.dll библиотека существует по указанному пути.
попытался проверить мгновенный клиент oracle, sqlplus подключается к базе данных.
прочитал много информации, но я в тупике, как двигаться дальше.
Ответ №1:
Ваша конфигурация не принимает мгновенного клиента. Где он установлен и вы установили ПУТЬ? Может быть, вам нужно переместить библиотеки туда, где находятся библиотеки DLL php?
Некоторые действительно старые заметки, которые у меня есть, находятся в https://blogs.oracle.com/opal/how-to-use-iis,-php-и-oracle
Кроме того, по историческим причинам OCI_CRED_EXT не поддерживается в Windows, см. https://github.com/php/php-src/blob/php-8.0.3/ext/oci8/oci8.c#L941-L948
Для чего вам нужен OCI_CRED_EXT?
(И почему вы используете такие старые клиентские библиотеки Oracle! — вы должны иметь возможность добавить более новый набор, так как они сохраняют совместимость)
Комментарии:
1. путь добавлен к переменным среды для мгновенного клиента. Добавлены библиотеки в php, безрезультатно. 11 клиент, который я использую для подключения к базе данных oracle 9i. OCI_CRED_EXT как я могу отключить эту авторизацию. Почему служба artisan отлично работает с базой данных connect oracle9i?