如何在fsockopen中禁用ssl检查? (PHP 5.6)

时间:2015-05-18 13:46:15

标签: php ssl

将PHP升级到5.6.5并在fsockopen中出错:

fsockopen('ssl://74.201.154.90', '465', $errno, $error, $this->timeout);

警告:fsockopen():对等证书CN = *.zoho.com' did not match expected CN= 74.201.154.90'在......

警告:fsockopen():无法在...中启用加密。

警告:fsockopen():无法连接到ssl://74.201.154.90:465

2 个答案:

答案 0 :(得分:3)

  

fsockopen(' ssl://74.201.154.90' ;,' 465',$ errno,$ error,$ this-> timeout);

尝试将74.201.154.90替换为smtp.zoho.com。这应该可以解决问题。

答案 1 :(得分:2)

我应该提一下,这个问题和答案有两点: 1)。这个ssl错误的原因是什么?你应该怎么做才能避免它?正确的答案是:原因是证书和主机名不匹配,你应该尽量避免设置IP地址而不是主机名来避免这种错误(并避免MiTM攻击等),这是一个很好的做法; 2)。我应该在PHP文件中指定什么来禁用证书验证?我知道这是一个糟糕的做法,但我想知道如何完全禁用此验证。