im在一个主要使用数据库的网站上工作。问题是,正在获取以下错误:mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known
我想不出该怎么修。我已经检查了连接,似乎没问题。
function connect($hostname, $username, $password, $database)
{
$conid = mysqli_connect($hostname, $username, $password, TRUE);
if($conid == FALSE)
{
if(DEBUG == TRUE)
{
show_error("MySQL Connection using `$hostname`, `$username`, `$password` was refused");
}
return;
}
else
{
$dbid = mysqli_select_db($database, $conid);
if($dbid == FALSE)
{
if(DEBUG == TRUE)
{
show_error("MySQL could not connect to database `$database`");
}
return;
}
else
{
self::$connections[] = $conid;
self::$connection = $conid;
}
}
}
该代码是在2010年编写的,然后不知何故它起了作用。有可能修复吗?
这是服务器托管问题。你必须和主持人核实一下。
你也可以在这个链接上阅读更多提示:http://albertech.net/2011/05/fix-php_network_getaddresses-getaddrinfo-failed-name-or-service-not-known/
您的PHP服务器已升级,但您的主机不支持它。
我也遇到过类似的问题,我的问题是通过检查和解析DNS解析来解决的(在我们的案例中,cagefs中的使用与核心系统有不同的/etc/hosts)
我自己刚刚在两个工作的PHP 7.1、Apache 2.4&mariaDB 10.2/10.4服务器。
对我来说,问题是由使用"http://1.2.3.4/"作为数据库主机-这将导致PHP返回此错误mysqli_connect(): php_network_getaddresses: getaddrinfo failed: Name or service not known
。对我来说,这当然是一些虚假的错误,因为他们都单独托管相同的网站和数据库,所以没有理由不工作。
主机变量应仅为IP地址"1.2.3.4"或域/子域(不包括协议)"example.com"或"subdomain.example.com"-现在可以正确连接。