Неустранимая ошибка: класс «MySQLi» не найден - PullRequest
80 голосов
/ 20 марта 2009

Я занимаюсь обучением и получаю эту ошибку:

Неустранимая ошибка: класс 'MySQLi' не найден (длинный URL) в строке 8

Код в строке 8:

$mysqli = new MySQLi($db_server, $db_user, $db_pass, $db_name) or die(mysqli_error());

Я видел в Интернете, кто-то сказал, чтобы посмотреть, включен ли он в моем phpinfo (), но там не было ничего, что указано в разделе "mysqli".

Также я использую PHP версии 5.2.5

Ответы [ 17 ]

76 голосов
/ 20 марта 2009

Похоже, вам просто нужно установить MySQLi .

Если вы думаете, что сделали это и у вас все еще есть проблема, пожалуйста, опубликуйте свою операционную систему и все остальное, что может помочь в дальнейшей диагностике.

42 голосов
/ 22 марта 2009

Вы можете проверить наличие библиотек mysqli, выполнив этот код:

if (!function_exists('mysqli_init') && !extension_loaded('mysqli')) {
    echo 'We don\'t have mysqli!!!';
} else {
    echo 'Phew we have it!';
}
35 голосов
/ 20 марта 2014

Если вы используете Ubuntu , запустите:

 sudo apt-get install php5-mysqlnd
15 голосов
/ 09 марта 2015

Если вы вызываете «new mysqli (..)» из класса с пространством имен, вы можете увидеть похожую ошибку Fatal error: Class 'foo\bar\mysqli' not found in. Способ исправить это - явно установить его в корневое пространство имен с предыдущей обратной косой чертой, например:

<?php 
$mysqli = new \MySQLi($db_server, $db_user, $db_pass, $db_name) or die(mysqli_error());
10 голосов
/ 22 октября 2010

Помимо раскомментирования расширения php_mysqli.dll в php.ini , также раскомментируйте директиву extension_dir в php.ini и укажите ваше местоположение:

extension_dir = "C:\software\php\dist\ext"

Это заставило меня работать.

6 голосов
/ 15 июля 2014

Моя ОС является Ubuntu . Я решил эту проблему с помощью:

sudo apt-get install php5-mysql
2 голосов
/ 20 марта 2009

Кажется, проблема с вашей установкой.

  • Вы установили MySQLi?
  • Вы активировали его в php.ini?

http://www.php.net/manual/en/mysqli.installation.php

1 голос
/ 11 июня 2018

Как включить mysqli в php.ini

  1. Редактировать / раскомментировать, удалив ';' (двоеточие) в конфиге php.ini: 1-й (раскомментируйте и добавьте конфигурацию): include_path = "C: \ php \ includes" 2nd (uncomment): extension_dir = "ext" 3-й (раскомментируйте и отредактируйте конфигурацию): Расширение = C: /PHP/ext/php_mysql.dll Расширение = C: /PHP/ext/php_mysqli.dll
  2. Перезагрузите сервер IIS
  3. Убедитесь, что в системе запущен mysql.

Как загрузить файл php.ini

  1. Переименуйте любой файл php.ini-production / php.ini-development в php.ini из C: \ PHP (обратите внимание, что расширение будет ini, т.е. "php.ini").
  2. После переименования файла php.ini перезапустите сервер
  3. См. Изменения в http://localhost/phpinfo.php
1 голос
/ 25 октября 2017

Я подумал, что могу помочь кому-нибудь с такой же проблемой, используя серверы Namesco. Я пытался решить эту проблему после перемещения базы данных с моего локального сервера на домашнем компьютере в namesco. Они не помогут, они сказали, что это проблема кодирования.

  • Однако это было легко исправить с их хостинга CPANEl LINUX интерфейс.
  • Нажмите на php.
  • , затем нажмите на модули php, и из их списка предустановленных модулей просто установите флажок для mysqli.
  • Затем нажмите Сохранить. (Нет необходимости менять код, если он работал (а) на другом сервере.)

К сожалению, их статьи поддержки были пустой тратой времени. Прочитав это, я отправился в интерфейс администратора с новым определением.

Спасибо всем.

0 голосов
/ 23 марта 2019

В новой версии PHP удалите ; до extension_dir в php.ini.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...