我正在尝试连接到Nominet EPP测试台,但是我收到了“无法启用加密”,这似乎是一个罕见的错误,没有任何记录的解决方案或原因。
使用以下行:
$socket = fsockopen('ssl://testbed-epp.nominet.org.uk', 700, $errno, $errst, 10);
我得到的确切错误是:
Warning: fsockopen() [function.fsockopen]: Failed to enable crypto in /path/classes/nominet_epp.class.php on line 53
Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://testbed-epp.nominet.org.uk:700 (Unknown error) in /path/classes/nominet_epp.class.php on line 53
据我所知,OpenSSL是用PHP安装好的,正如我们的phpinfo()所示:
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
Nominet文档简要提及“为了验证安全服务器的身份,您需要从www.verisign.com免费获得 Verisign Class 3公共主要证书颁发机构的根证书(证书也是分发的)大多数网络浏览器。) - 这可能是问题吗?
更新 根据要求,我有var_dump的错误值以及$ socket本身,它们都是false / 0。 fsockopen PHP docs状态“如果errno中返回的值为0且函数返回FALSE,则表示错误发生在connect()调用之前。这很可能是由于初始化时出现问题插座。“
非常感谢任何帮助。
答案 0 :(得分:3)
我遇到了完全相同的问题,而且Nominet防火墙没有使用正确的IP地址进行更新。当您在Nominet控制面板中进行设置时,需要等待一小时才能使防火墙完全更新 - 一旦完成,连接就可以正常工作。