使用如下所示的php脚本,我预计它会抛出一个异常,并且try / catch块会捕获它。
<?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;
}
但我也收到了警告错误。任何解决方法?
PHP Warning: PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /var/www/twitcasting/pdo.php on line 3
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
答案 0 :(得分:2)
显然,当将PDO实例化为the document says时,PHP5.6会抛出异常并收到警告错误。 <{1}}不会被调用。
PHP7.1.5不会按预期触发警告错误。