Я пытаюсь протестировать сайт PHP локально на компьютере с Ubuntu 16.04, но у меня возникают проблемы с подключением к базе данных MySQL с использованием mysqli_connect()
.
У меня Apache 2.4 работает с mod_php7.0
.Я установил пакет Ubuntu php7.0-mysql
.Доступ к файлу php.info()
по адресу localhost в том же каталоге, что и веб-сайт, указывает на то, что мой файл php.ini - /etc/php/7.0/apache2/php.ini
.В этом файле я удалил комментарий из строки ;extension=php_mysqli.dll
.
Файл, к которому я пытаюсь получить доступ, содержит строку
$con=mysqli_connect("localhost","db_user","db_password","db_name");
Когда я пытаюсь получить доступ к сайту, яполучите ошибку
Warning: mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known"
со ссылкой на строку выше.
MySQL работает локально с заданным пользователем, паролем и базой данных.Я пытался использовать 127.0.0.1
вместо localhost
, но ошибка та же.
Похоже, ошибка в том, что PHP не может установить локальное соединение с MySQL.Как я могу выяснить, в чем дело?
Редактировать Чтобы дать больше контекста, я пытаюсь создать версию сайта на локальном хосте, которая работает на его производственных / dev серверах.Насколько я могу судить, я воссоздал все соответствующие аспекты настройки сервера, но, очевидно, что-то упустил.
Самое большое различие между локальной установкой и версией для производственной / dev состоит в том, что у меня есть PHP7локально но PHP5.5.9 на производстве / dev.Мое лучшее предположение на данный момент заключается в том, что именно это различие является причиной отказа localhost, но я не знаю достаточно о PHP, чтобы сузить его значение.