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

How to disable ssl check in fsockopen ? (PHP 5.6)

已将 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' in ...

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

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

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

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

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