PHP检查SSL防止php警告

时间:2014-03-16 17:21:20

标签: php ssl

我使用下面的PHP代码加载SSL网站的证书属性:

$dnsname        = 'www.google.com';
$dnsport        = 443;
$stream     = stream_context_create (array("ssl" => array("capture_peer_cert" => true)));
$url        = stream_socket_client("ssl://".$dnsname.":".$dnsport, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $stream);
$content    = stream_context_get_params($url);

当SSL工作正常时,一切正常。但是如果无法打开SSL连接,则脚本会生成PHP警告:

  

stream_socket_client():无法连接到ssl://www.google.nl:443(Kan geen verbinding maken omdat de doelcomputer de verbinding actief heeft geweigerd。   )在第44行的C:\ inetpub \ monitor \ autotask \ checkssl.php

如何预防警告?我需要一个" if"但不知道该检查什么..请帮忙

1 个答案:

答案 0 :(得分:1)

使用@运算符取消警告,并根据return value自行检查结果:

$socket = @stream_socket_client(...);
if ($socket === false) {
    die("Socket error: $errstr");
}