Расширение включено в CLI, но не в PHPinfo

Я пытаюсь включить расширение 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 для cli и web. Поскольку вы используете XAMPP, я полагаю, что это снова более вероятно. Я не знаком с XAMPP, но проверьте, есть ли редактор конфигурации, который позволяет вам проверять php.ini для этой среды.

Darragh Enright 21.11.2018 12:11

Связанный: Как найти файл php.ini (xampp)

Darragh Enright 21.11.2018 12:13

Используйте echo phpinfo () из Интернета и посмотрите на эти параметры «Путь к файлу конфигурации (php.ini)», «Загруженный файл конфигурации», «Сканировать этот каталог на наличие дополнительных файлов .ini», «Разбираются дополнительные файлы .ini» и т. д. может помочь вам узнать, где находятся файлы .ini

Francesco Simeoli 21.11.2018 12:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
1 375
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны отредактировать файл php.ini, который отображается в параметре phpinfo («Загруженный файл конфигурации»), и для его работы также требуется перезапуск apache.

В phpinfo я вижу: (Файл конфигурации (php.ini) Путь C: \ Windows - Загруженный файл конфигурации D: \ xampp \ php \ php.ini) Я искал в c: \\ windows и не нашел php .ini внутри него. Другой файл, который считается загруженным, - это файл, в который я уже внес изменения. и я перезапустил apache.

Moustafa Egypt 21.11.2018 12:29
Ответ принят как подходящий

Решено.

Дело в том, что моему компьютеру требовалась перезагрузка, а не только Apache для Интернета, чтобы загрузить новые переменные среды, что важно для поиска мгновенного клиента oracle, необходимого для расширения PHP OCI8.

Странно то, что интерфейс командной строки PHP загрузил новые переменные среды, но сеть PHP не загрузила их, хотя Apache перезапущен. Я заметил это на странице PHPinfo, которая отображает загруженные переменные окружения, показывая старые перед добавлением оракула.

Так что просто перезагрузил мой компьютер, и теперь все в порядке. Спасибо за совет.

Другие вопросы по теме