Я только что развернул свой сайт в промежуточную среду и получил следующую ошибку:
Fatal error: Class 'mysqli' not found in D:\ClientSites\baileyboiler.com\www\new\php\db.php on line 11
Сначала я предположил, что MySQLI просто не установлен, но запуск phpinfo()
показывает следующее:
Для меня это похоже, что 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
– потому что я вижу файл. Что теперь?
Я получил исправленную ошибку, включив / отредактировав следующую конфигурацию в php.ini
:
1-й (uncomment и add config):
include_path = "C:\php\includes"
2-й (раскол):
extension_dir = "ext"
3rd (uncomment и edit config):
extension=D:/PHP/ext/php_mysql.dll extension=D:/PHP/ext/php_mysqli.dll
Убедитесь, что включена под php.ini, просто найдите php_mysqli.dll и удалите полуточку и перезапустите apache
Христианский Марк прав, но я думаю, что это необходимо:
4rd Скопируйте php.ini в "C: \ Windows". На моем компьютере необходимо скопировать его в «C: \ Windows», потому что phpinfo () выводит «Файл конфигурации (php.ini) Путь: C: \ Windows» и «Загруженный файл конфигурации: C: \ Windows \ php.ini»
5-й вход в систему Компьютер и вход в систему.
Тогда это работает для меня.
Если я не делаю 4,5-го, это тоже не работает для меня, выход phpinfo include_path не настроен. и extension_di тоже нет. запустить тест также не работает.