连接失败:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo失败:名称或服务未知

时间:2017-02-08 19:44:45

标签: php mysql remote-server

我正在使用mysql数据库,我正在与一些托管公司部署我的数据库,它工作正常,但他们很糟糕,所以我迁移到upCloud。现在我遇到连接数据库并出错的问题:

  

连接失败:SQLSTATE [HY000] [2002] php_network_getaddresses:   getaddrinfo失败:名称或服务未知

    $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();
    }

我尝试将localhost更改为127.0.0.1,但没有运气,我也尝试在字符串中操作单引号和双引号,但它也没有用。你能告诉我为什么会收到这个错误吗? 我正在Ubonto 16.04中部署这个。

1 个答案:

答案 0 :(得分:1)

仔细检查您的数据库连接详细信息(主机,数据库名称,用户名和密码)。

如果它仍然不起作用,那么显然最近在Ubuntu上发现并报告了一个错误, 如果你重新启动服务器就会自行修复。

此处列出了更多详细信息:

  1. 在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

  3. 希望有所帮助:)

    修改

    Ubuntu显然也发布了修复程序:https://www.ubuntu.com/usn/usn-3239-2/

    更新您在此页面中列出的Ubuntu和库版本。