2

我正在尝试连接到 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 文档简要提到“为了验证安全服务器的身份,您需要Verisign Class 3 Public Primary Certification Authority 的根证书,该证书可从 www.verisign.com 免费获得(该证书也随大多数 Web 浏览器分发)。 - 这可能是问题?

更新 按要求,我已经对错误值以及 $socket 本身进行了 var_dump,它们都是 false/0。fsockopen PHP 文档指出“如果 errno 中返回的值为 0 并且函数返回 FALSE,则表明错误发生在 connect() 调用之前。这很可能是由于初始化套接字的问题。

任何帮助将不胜感激。

4

1 回答 1

3

我遇到了完全相同的问题,原因是 Nominet 防火墙没有使用正确的 IP 地址进行更新。当您在 Nominet 控制面板中进行设置时,您需要等待一个小时才能让他们的防火墙完全更新——一旦完成,连接就可以正常工作。

于 2011-04-03T18:53:10.890 回答