获取“PHP 警告:PDO::__construct():php_network_getaddresses:getaddrinfo 失败:名称或服务未知" [英] Getting "PHP Warning: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known"

查看:85
本文介绍了获取“PHP 警告:PDO::__construct():php_network_getaddresses:getaddrinfo 失败:名称或服务未知"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用像下面这样的 php 脚本,我预计它会抛出异常并且 try/catch 块会捕获它.

With a php script like the below, I expected it'd throw an exception and try/catch block will catch it.

<?php
try {
    $dbh = new PDO('mysql:host=does-not-exist;dbname=test;port=3306', 'root', '');
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo $e->getMessage(), PHP_EOL;
}

但我也收到了警告错误.有什么解决方法吗?

But I'm getting a warning error as well. Any workaround?

PHP Warning:  PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/pdo.php on line 3
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

推荐答案

显然 PHP5.6 在将 PDO 实例化为 文档说 并收到警告错误.setAttribute() 无论如何都不会被调用.

Apparently PHP5.6 throws an exception when instantiating PDO as the document says AND gets a warning error. setAttribute() won't be called anyways.

PHP7.1.5 没有按预期触发警告错误.

PHP7.1.5 do not trigger a warning error as expected.

这篇关于获取“PHP 警告:PDO::__construct():php_network_getaddresses:getaddrinfo 失败:名称或服务未知"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆