2017-02-08 14 views
0

Я использую базу данных mysql, я развертывал свою базу данных с какой-либо хостинговой компанией, и она отлично работает, но они сосут, поэтому я перешел на upCloud. теперь я столкнулся с проблемой подключения к базе данных и получаю сообщение об ошибке:Ошибка подключения: SQLSTATE [HY000] [2002] php_network_getaddresses: getaddrinfo не удалось: имя или служба неизвестны

Connection failed: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

$servername = 'localhost'; 
$username = "root"; 
$password = "password"; 
$database = 'dbname'; 

try{ 
    $conn = new PDO("mysql:host=localhost;dbname=driver", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    echo "Connected successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo "Connection failed: " . $e->getMessage(); 
    } 

Я попытался изменить локальный хост на 127.0.0.1, но не повезли, я не пытался манипулировать одиночные кавычки и двойные кавычки в строках, но и это не сработало. вы можете посоветовать, почему я получаю эту ошибку? Я развертываю это в Ubonto 16.04

+0

Что было рекомендацией upCloud для подключения к базе данных? –

+0

Что вы подразумеваете под «рекомендациями»? –

+0

Разве upCloud рассказал вам, как была настроена ваша база данных? Имеет ли он частный IP-адрес? Располагается ли он в том же экземпляре, на котором находится ваш веб-сайт? –

ответ

1

Дважды проверьте данные вашего соединения с БД (имя хоста, имя БД, имя пользователя и пароль).

Если он по-прежнему не работает, то, по-видимому, есть ошибка, недавно обнаруженная и зарегистрированная в Ubuntu, , которая исправляет себя, если вы перезагрузите свой Сервер.

Подробнее перечислены здесь:

  1. Bug сообщили в Ubuntu: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1674733

  2. Другая ссылка StackOverflow, где этот вопрос докладывались и обсуждались: PDOException: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Надеется, что это помогает :)


EDIT:

Ubuntu, видимо, выпустил исправление, а также: https://www.ubuntu.com/usn/usn-3239-2/

Обновите версию Ubuntu и библиотек, перечисленные на этой странице ,