2017-06-07 10 views
0

PHPのスクリプトでは、次のような例外がスローされ、catch/catchブロック。「PHP警告:PDO :: __ construct():php_network_getaddresses:getaddrinfo failed:名前またはサービスが不明」

<?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 

答えて

1

はどうやらPHP5.6はthe document saysとしてPDOをインスタンス化するときに例外をスローし、警告エラーを取得します。 setAttribute()は、とにかく呼び出されません。

PHP7.1.5は予期したとおりに警告エラーを発生させません。

関連する問題