Соединение fsockopen ssl не работает

Я пытаюсь использовать php-функцию fsockopen на SMTP-сервере, используя ssl на порту 465 на моем локальном сервере с apache. Он хорошо работает с командной строкой php, но при запуске скрипта в моем браузере я получаю сообщение об ошибке SSL.

Любая помощь будет принята с благодарностью 🙂

php.ini

extension=php_openssl.dll line is not commented 

phpinfo через Apache

 Loaded Configuration File : D:\localhost\php-5.4.11\php.ini openssl OpenSSL support enabled OpenSSL Library Version OpenSSL 0.9.8x 10 May 2012 OpenSSL Header Version OpenSSL 0.9.8x 10 May 2012 

phpinfo с командной строкой

 Loaded Configuration File => D:\localhost\php-5.4.11\php.ini openssl OpenSSL support => enabled OpenSSL Library Version => OpenSSL 0.9.8x 10 May 2012 OpenSSL Header Version => OpenSSL 0.9.8x 10 May 2012 

Мой скрипт

 <?php $smtp = fsockopen('ssl://in.mailjet.com', 465, $errno, $errstr, 30); $response = fgets($smtp, 4096); if(empty($smtp)){ echo $response; return false; } echo $response . '<br/>'; fclose($smtp); 

Вывод под apache

 Warning: fsockopen(): SSL: crypto enabling timeout in XXX on line 2 Warning: fsockopen(): Failed to enable crypto in XXX on line 2 Warning: fsockopen(): unable to connect to ssl://in.mailjet.com:465 (Unknown error) in XXX on line 2 

Выход с командной строкой

 220 srv12.mailjet.com ESMTP Mailjet <br/> 

Платформа

Я использую PHP 5.4.11 / Apache 2.2.22 (Win32) для Windows 8 64

– Изменить – я попытался использовать TLS, как было предложено:

 $smtp = fsockopen('tls://in.mailjet.com', 567, $errno, $errstr, 30); 

И я получаю

 E_WARNING: fsockopen(): in XXX on line XXX 

Сообщение об ошибке пустое и $ errno = (int) 0 и $ errstr = (строка) ''

Я обновил версию Apache с 2.2 до 2.4 и теперь работает.

Я следил за этим преподавателем: http://lifeofageekadmin.com/how-install-apache-2-4-php-5-4-and-mysql-5-5-21-on-windows-7/, чтобы получить новой версии Apache.

У меня была аналогичная проблема с контактной формой, которая использует captcha, получив ошибку fsockopen (): не удалось подключиться к ssl: //mail.google.com: 443

Это на FreeBSD vm, с установленной Joomla.

я нашел http://php.net/manual/en/function.fsockopen.php, который упоминал проверку сертификата.

Установлен порт FreeBSD «ca_root_nss», который включает проверку сертификата для корневых сертификатов из органов сертификации, включенных в библиотеку NSS Mozilla