Я пытаюсь подключиться к тестовому лотку Nominet EPP, но я получаю сообщение «Failed to enable crypto», которое кажется редкой ошибкой без документированного решения или причины.
С линией:
$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 (сертификат распространяется также и в большинстве веб-браузеров). – Возможно, это может быть проблемой?
Обновление В соответствии с запросом, у меня есть var_dump'd значения ошибки, а также $ socket, они все false / 0. В документах fsockopen PHP указано « Если значение, возвращаемое в errno, равно 0, а функция возвращает FALSE, это указывает на то, что ошибка произошла до вызова connect (). Это, скорее всего, связано с проблемой инициализации сокета ».
Любая помощь будет принята с благодарностью.
У меня была точно такая же проблема, и до Nominet Firewall не обновлялся правильный IP-адрес. Когда вы установите это на панели управления Nominet, вам нужно дождаться часа, когда их брандмауэры будут полностью обновлены – как только это будет сделано, соединение работает нормально.