2014-02-18 4 views
3

Я просто развернуть свой сайт в промежуточной среде, и я получаю следующее сообщение об ошибке:MySQLi не найдена ошибка

Fatal error: Class 'mysqli' not found in D:\ClientSites\baileyboiler.com\www\new\php\db.php on line 11 

В первом я предположил, что Mysqli просто не установлен, но работает phpinfo() показывает следующее:

enter image description here

Для меня это выглядит как установлено Mysqli (хотя я мог читать это неправильно). Что мне делать?

Код

class DB 
{ 
    public static function GetConnection() 
    { 
     return new mysqli(DBHOST, DBUSER, DBPASSWORD, DEFAULTDATABASE); 
    } 
} 

(строка 11, является return new mysql(...);) Обновление

Я добавил extension=php_mysqli.dll на мой php.ini, расположенный в /Windows/php.ini (согласно phpinfo(), это один загружается):

Loaded Configuration File C:\WINDOWS\php.ini 

Но ошибка сохраняется. Я знаю, что mysqli.dll существует в C:\php\ext - потому что я вижу файл. Что теперь?

+1

Пожалуйста, покажите свой код. –

+2

Попробуйте найти 'extension = php_mysqli.so' в вашем' php.ini' (если на сервере Linux) 'php_mysqli.dll' <= (на сервере Windows) и удалить комментарий перед ним. Затем перезапустите веб-сервер после внесения изменений в php.ini. Или вам может понадобиться установить MySQLi http://www.php.net/manual/en/mysqli.installation.php и посмотреть ['этот ответ'] (http://stackoverflow.com/a/670012/) для проверки. –

+0

@DamienBlack Добавлено – drewwyatt

ответ

3

я получил ошибку исправленной путем включения/редактирования следующей конфигурации в php.ini:

первых (раскомментируйте и добавить конфигурации):

include_path = "C:\php\includes" 

второй (раскомментировать):

extension_dir = "ext" 

третий (раскомментируйте и редактировать конфигурации):

extension=D:/PHP/ext/php_mysql.dll 
extension=D:/PHP/ext/php_mysqli.dll 
1

Убедитесь, что включен под php.ini просто найти php_mysqli.dll и удалить точку с запятой и перезапустить Apache

0

Кристиан Марк прав, но я думаю, что нужно:

Copy php.ini 4-я в "C: \ Windows". На моем компьютере необходимо скопировать его в «C: \ Windows», потому что phpinfo() выводит «Файл конфигурации (php.ini) Путь: C: \ Windows» и «Загруженный файл конфигурации: C: \ Windows \ php.ini»

5-я Логин из компьютеров Войти в систему.

Тогда это работает для меня.

Если я не делаю 4,5-го, это также не работает для меня, выход phpinfo include_path не настроен. и extension_di тоже нет. запустить тест также не работает.

+0

Вместо копирования php.ini в C: \ Windows вы также можете просто установить переменную среды PHPRC в путь (ы) вашего php.ini ... см. Http://stackoverflow.com/a/43531113/1593026 для получения дополнительной информации –

Смежные вопросы