Как решить «class mysqli not found» при подключенном расширении mysqli?
Машина на Win10, локальный сервер на Apache (версия свежая), версия php 8.2.1. Расширение mysqli подключено.
Пытаюсь подключить к БД
define("DB_HOST","localhost"); define("DB_LOGIN","..."); define("DB_PASS","..."); define("DB_NAME","..."); $mysqli = new MySQLi(DB_HOST,DB_LOGIN,DB_PASS,DB_NAME); |
define("DB_HOST","localhost"); define("DB_LOGIN","..."); define("DB_PASS","..."); define("DB_NAME","..."); $mysqli = new MySQLi(DB_HOST,DB_LOGIN,DB_PASS,DB_NAME);
Ловлю ошибку:
PHP Fatal error: Uncaught Error: Class "MySQLi" not found in F:servbres-lampassetsphpdb_connect.php
Пруф, что extension подключено:
Файл php.ini так же подключен. При вызове phpinfo():
В том же phpinfo() отображается:
Сам файл расширения так же в папке присутствует и не поврежден:
Подскажите как можно решить данную проблему?
Дополнительно:
Вы его в своём нэймспейсе вызываете? Покажите весь файл до подключения.
В чем логика этого действия? Предложить автору самому посмотреть - еще куда не шло. Но сюда-то зачем просить его писать очевидные вещи?
смотреть надо phi -i
Дмитрий, в комментариях дал ответ.
Проблема оказалась в том, что файл я вызывал через консоль, а php-cli берет не тот файл php.ini, что apache (путь который мы получали через phpinfo() ).
Проверить путь к используемому файлу можно командой:
php --ini
Там у меня высветился другой ini файл. Когда я в нем раскомментировал расширение mysqli все заработало.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос






Ошибка «class mysqli not found» возникает, когда PHP не может найти класс mysqli, несмотря на то, что расширение mysqli было успешно подключено. Это может быть вызвано несколькими причинами, и решение зависит от конкретной ситуации.
Одной из причин может быть неправильная конфигурация PHP или сервера. Убедитесь, что расширение mysqli правильно подключено в файле php.ini и что PHP был перезапущен после внесения изменений. Проверьте также, что расширение mysqli установлено на сервере и активировано.
Если расширение mysqli установлено и активировано, но ошибка все равно возникает, возможно проблема в самом коде. Убедитесь, что вы используете правильный синтаксис для подключения к базе данных с помощью mysqli. Проверьте также, что вы правильно создаете объект mysqli и вызываете методы этого объекта.
Если все вышеперечисленные шаги не помогли решить проблему, попробуйте обновить PHP до последней версии. Иногда проблемы с классами могут быть вызваны несовместимостью версий PHP и расширений.
Также стоит убедиться, что в вашем коде нет опечаток или ошибок, которые могли бы привести к появлению ошибки «class mysqli not found». Внимательно проверьте все использования класса mysqli в вашем коде и убедитесь, что они корректны.
В целом, решение проблемы «class mysqli not found» требует тщательной диагностики и анализа. Помимо вышеперечисленных способов, также можно обратиться за помощью к сообществу разработчиков или специалистам по PHP, чтобы найти наиболее подходящее решение для вашей конкретной ситуации.