Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警告:mysqli_connect():php_network_getaddresses:getaddrinfo失败:名称或服务未知_Php - Fatal编程技术网

警告:mysqli_connect():php_network_getaddresses:getaddrinfo失败:名称或服务未知

警告:mysqli_connect():php_network_getaddresses:getaddrinfo失败:名称或服务未知,php,Php,这是使用CLOUD9作为主机的db.php IM function getDB() { $dbhost="paralphdigm-vtms-2622120"; $dbuser="paralphdigm"; $dbpass=""; $dbname="vtms_db"; $port = 3306; $dbConnection = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); $dbConnection->set

这是使用CLOUD9作为主机的db.php IM

function getDB() {
$dbhost="paralphdigm-vtms-2622120";
$dbuser="paralphdigm";
$dbpass="";
$dbname="vtms_db";
$port = 3306;
$dbConnection = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbConnection;
}

我现在把代码编辑成这个了*

这是错误信息 致命错误:第8行的/home/ubuntu/workspace/db.php中出现未捕获的异常“PDOException”,并显示消息“SQLSTATE[HY000][2002]Connection-seeded”

php_网络_getaddresses:getaddrinfo失败:名称或服务不可用 已知的

非技术性的中,此错误消息的意思是:“我不知道服务器的地址。”

技术中,这意味着您尝试连接到的主机名没有公共名称服务器记录

数据库服务器只能从几个特定的服务器中访问,这是一种安全功能,以防止整个世界访问它。所以不是每个人都可以尝试破解或过载(DoS)它

允许连接到数据库服务器的主机很可能就是您上载html/php/的服务器。。文件到。

虽然您混合了PDO、MySQLi和mysql,这是很糟糕的,但是错误是由网络相关的东西引起的,而不是由编程错误引起的


编辑后,问题完全变了


“连接被拒绝”表示您的主机知道地址,可以访问数据库服务器,但不允许连接。它指的是与以前相同的情况,您的主机现在处于“不同的邻居”中,这对db仍然不“友好”。

看起来它无法解析域。getDB能工作吗,还是在同一条消息中失败了?你在混合MySQL API,这就是为什么。定义在哪里?
$dbhost
等等?读一读=>另外,你向我们展示的都是函数,没有其他功能。我当然也希望这些不是真实的凭据。如果读者不清楚,请稍作澄清-FTP是服务器向其发送文件的方式,但这不是数据库服务器在主机外不可见的原因。@halfer我已相应地更改了答案,希望它能让事情更清楚。太好了,谢谢你,丹!已经投票了。(旁白:我希望数据库服务器是从互联网上安装防火墙的,他们不只是使用缺少公共DNS作为安全功能。否则人们就可以编辑自己的主机文件,并从主机的LAN外部连接到数据库服务器…@halfer I谷歌搜索“hostinger.ph”我认为它们足够大,可以很好地隔离它们的网络和机器。但你当然是对的,公共IP地址甚至比主机名还要花哨;-)嗨,我编辑了我的帖子,以及我到目前为止收到的错误消息