Я пытаюсь включить расширение oci8
Я раскомментировал его строку в php.ini и добавил для нее необходимые файлы (мгновенный клиент oracle).
Теперь из CMD, когда я набираю: php --ri oci8, он показывает:
oci8
OCI8 Support => enabled OCI8 DTrace Support => disabled OCI8 Version => 2.1.8 Revision => $Id: 4543974aab26d8a3d85257ab18d0dca4503ff9e7 $ Oracle Run-time Client Library Version => 12.1.0.2.0 Oracle Compile-time Instant Client Version => 12.1
Directive => Local Value => Master Value oci8.max_persistent => -1 => -1 oci8.persistent_timeout => -1 => -1 oci8.ping_interval => 60 => 60 oci8.privileged_connect => Off => Off oci8.statement_cache_size => 20 => 20 oci8.default_prefetch => 100 => 100 oci8.old_oci_close_semantics => Off => Off oci8.connection_class => no value => no value oci8.events => Off => Off
Statistics => Active Persistent Connections => 0 Active Connections => 0
Так что он должен работать нормально. Но когда я пытаюсь подключиться к oracle с php, я получаю ошибку:
Call to undefined function Yajra\Pdo\oci_connect()
Я открыл страницу PHPINFO, поискал oci8, блок, который должен присутствовать, чтобы показать, что он включен, отсутствует.
В чем может быть проблема? Я использую xampp 7.2 в Windows 10
Связанный: Как найти файл php.ini (xampp)
Используйте echo phpinfo () из Интернета и посмотрите на эти параметры «Путь к файлу конфигурации (php.ini)», «Загруженный файл конфигурации», «Сканировать этот каталог на наличие дополнительных файлов .ini», «Разбираются дополнительные файлы .ini» и т. д. может помочь вам узнать, где находятся файлы .ini






Вы должны отредактировать файл php.ini, который отображается в параметре phpinfo («Загруженный файл конфигурации»), и для его работы также требуется перезапуск apache.
В phpinfo я вижу: (Файл конфигурации (php.ini) Путь C: \ Windows - Загруженный файл конфигурации D: \ xampp \ php \ php.ini) Я искал в c: \\ windows и не нашел php .ini внутри него. Другой файл, который считается загруженным, - это файл, в который я уже внес изменения. и я перезапустил apache.
Решено.
Дело в том, что моему компьютеру требовалась перезагрузка, а не только Apache для Интернета, чтобы загрузить новые переменные среды, что важно для поиска мгновенного клиента oracle, необходимого для расширения PHP OCI8.
Странно то, что интерфейс командной строки PHP загрузил новые переменные среды, но сеть PHP не загрузила их, хотя Apache перезапущен. Я заметил это на странице PHPinfo, которая отображает загруженные переменные окружения, показывая старые перед добавлением оракула.
Так что просто перезагрузил мой компьютер, и теперь все в порядке. Спасибо за совет.
Небольшое примечание - иногда существуют разные файлы
php.iniдля cli и web. Поскольку вы используете XAMPP, я полагаю, что это снова более вероятно. Я не знаком с XAMPP, но проверьте, есть ли редактор конфигурации, который позволяет вам проверятьphp.iniдля этой среды.