Вопрос или проблема
Я использую сервер MySQL версии: 5.7.24-0ubuntu0.18.04.1 (Ubuntu), пытаюсь сделать простое соединение с базой данных, но каждый раз, когда я пытаюсь подключиться к базе данных, я получаю эту ошибку.
127.0.0.1:34236 [500]: /process.php - Необработанная ошибка: Вызов неопределенной функции mysqli_connect() в
/home/kipo/Desktop/php-crud/process.php:3 Стек вызовов:
#0 {main} выброшено в /home/kipo/Desktop/php-crud/process.php на строке 3
Пожалуйста, помогите мне. Спасибо
Вам нужно установить пакет php-mysql с помощью apt.
sudo apt-get install php-mysql
После этого перезапустите apache2
sudo service restart apache2
Для дистрибутива на systemd [Если команда service не определена], вы можете использовать:
sudo systemctl restart apache2
Ваш скрипт должен работать после этого
Ответ или решение
Ошибка "Uncaught Error: Call to undefined function mysqli_connect()" возникает, когда PHP не может найти функцию mysqli_connect
, что указывает на то, что расширение MySQLi не установлено или не активировано. Чтобы решить эту проблему, выполните следующие шаги:
-
Проверьте наличие установленного расширения: Убедитесь, что на вашем сервере установлено расширение
php-mysql
. Вы можете сделать это, выполнив следующую команду в терминале:dpkg -l | grep php-mysql
Если оно не установлено, переходите к следующему шагу.
-
Установите расширение php-mysql: Для установки расширения используйте следующую команду:
sudo apt-get install php-mysql
-
Перезапустите веб-сервер: После установки расширения вам необходимо перезапустить веб-сервер (например, Apache) для применения изменений. Используйте одну из следующих команд:
Для системы, использующей старый метод управления службами:
sudo service apache2 restart
Или, если ваша система использует systemd:
sudo systemctl restart apache2
-
Проверьте настройки PHP: Если проблема не исчезла даже после установки, убедитесь, что в вашем файле конфигурации PHP (обычно
php.ini
) расширение MySQLi активно. Найдите строку, содержащуюextension=mysqli
, и убедитесь, что она не закомментирована (без символа;
перед ней). -
Проверка установленных модулей: Вы также можете проверить список всех загруженных модулей PHP с помощью следующей команды:
php -m | grep mysqli
Если вы видите
mysqli
в списке, это означает, что расширение успешно загружено. -
Протестируйте соединение: После выполнения вышеуказанных шагов попробуйте снова запустить ваш скрипт для подключения к базе данных.
Если ошибка сохранится, возможно, вам потребуется проверить другие аспекты вашего окружения, такие как версия PHP (убедитесь, что она совместима с используемым расширением) или конфигурацию вашего веб-сервера.
Следуя этим шагам, вы должны успешно решить проблему "Call to undefined function mysqli_connect()". Если у вас возникнут дополнительные вопросы или сложности, не стесняйтесь задавать их.