В течение 2 дней я пытаюсь решить это, но, к сожалению, никакого результата. Позвольте мне рассказать вам мою историю о проблеме. Я запутал приложение на сайте, и приложение имеет дело с отзывами. Но я пытаюсь поместить его на другой сайт, и я скопировал php-файлы, файл sql со старого сайта и переместил их на новый сайт (они находятся на разных FTP-серверах). Когда я пытаюсь перейти на страницы из приложения, я получаю эту ОШИБКУ FATAL:
Неустранимая ошибка: вызов неопределенной функции mysqli_connect ()
Код, который я написал для подключения к базе данных, это (со скрытыми учетными данными):
$con = mysqli_connect("","*the_name*","*the_pass*","*the_database*"); if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }
Почему я получаю сообщение об ошибке? Он работает на старом сервере, а код, я думаю, не проблема, потому что он работает на localhost, а на новом сервере – нет. Может кто-нибудь мне помочь?
Расширение PHP mysqli не установлено на вашем новом сервере.
Обратитесь к администратору вашего сервера.
Если вы размещаете сервер самостоятельно, в файле php.ini удалите точку с запятой перед расширением расширения = php_mysqli.dll
Для CentOS выполните:
sudo yum install php-mysqli
На Ubuntu мне пришлось установить расширение php5 mysql.
apt-get install php5-mysql
Случается, когда php-расширения не используются по умолчанию. В файле php.ini измените
;extension=php_mysql.dll
в
extension=php_mysql.dll
.
** Если эта ошибка регистрируется, добавьте путь к этому DLL-файлу, например
extension=C:\Php\php-???-nts-Win32-VC11-x86\ext\php_mysql.dll
Сделайте то же самое для php_mysqli.dll
и php_pdo_mysql.dll
. Сохраните и запустите свой код еще раз.
Если вы размещаете сервер самостоятельно, и этот сервер оказывается Apache, вы также можете получить эту ошибку, даже если в php.ini есть uncommented extension=php_mysqli.dll
.
Вам также нужно сообщить Apache, где найти php.ini, используя директиву PHPIniDir
в httpd.conf Apache
AddHandler application/x-httpd-php .php PHPIniDir "<path-to-folder-where-php-ini-lives>"
Поздно к разговору …
Если у вас установлен модуль и правильно настроили файл PHP.INI, проверьте свой журнал ошибок apache примерно так:
PHP Предупреждение: запуск PHP: невозможно загрузить динамическую библиотеку «C: \ php \ ext \ php_mysqli.dll» – указанный модуль не найден.
В этом случае ваш каталог расширений не так, как вы думаете. Вы можете настроить его явно, например:
extension_dir="C:\xampp\php\ext"
Ошибок нет, но расширение mysqli PHP не установлено на вашем компьютере. Для устранения этой проблемы обратитесь к поставщику услуг.
Mysqli не установлен на новом сервере. Запустите phpinfo () для подтверждения.
<?php phpinfo();
Просто сделайте это
sudo apt-get install php-mysqli
Он отлично работает