Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 016 355 раз!

Форум

Добро пожаловать, Гость!

Настройка ssl php

Обсуждение общих вопросов связанных с программой
Аватара пользователя
antoxa
Сообщения: 11
C нами: 4 года 11 мес
Откуда: Санкт-Петербург

Непрочитанное сообщение antoxa » 09 июн 2013, 21:50

Здравствуйте, возникла проблема при работе с ssl.
Unable to Connect to ssl://www.google.com:443. Error #24: Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?

Что делал для решения:
1) Раскоментил строку в php.ini extension=php_openssl.dl
2) Скачал необходимые библиотеки libeay32.dll и ssleay32.dll, забросил их в директорию C:\WINDOWS\system32\inetsrv
3) Добавил Пути к php и php/ext в path
4) Ребутил сервер и винду
5) Скачал и установил openSSl в виде инсталлера

phpinfo();
Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls

Все бестолку, может кто сталкивался с этим ?

Аватара пользователя
Asmodey
Сообщения: 299
C нами: 4 года 7 мес

Непрочитанное сообщение Asmodey » 09 июн 2013, 21:54

...не есть мочь использовать транспортный сокет SSL...
Вестимо надо HTTPS?

Аватара пользователя
antoxa
Сообщения: 11
C нами: 4 года 11 мес
Откуда: Санкт-Петербург

Непрочитанное сообщение antoxa » 09 июн 2013, 21:57

Что выдает composer при обновлении.

[Composer\Downloader\TransportException]
The "http://packages.zendframework.com/packages.json" file could not be dow
nloaded: failed to open stream: Unable to find the socket transport "ssl" -
did you forget to enable it when you configured PHP?

И как это поправить ?

Аватара пользователя
Максим
Сообщения: 4868
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 09 июн 2013, 22:17

К чем такой топик в теме про Open Server? Это в модули надо было постить.

Вы всё делали зря, необходимые для SSL файлы уже есть в Open Server и лежат они не в папке с PHP но автоматически подключаются при запуске сервера.

Что касается вашей проблемы. Может нужно отключить проверку сертификатов.

Для fopen, файл гет контентс и прочих:

$context = stream_context_create(
              array(
                'ssl' => array(
                           'verify_peer' => false,  //default
                           'allow_self_signed' => true, //needs verify peer, tried that
                           'ciphers'=>"SHA1", // quite random.
                   ),
                'https' => array(
                           'curl_verify_ssl_peer'  => false,
                           'curl_verify_ssl_host'  => false
                          )
      )
            );


И если через Curl:

curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);


Плюс в PHP коде нужно указать путь до сертификат сервера (в папке userdata/config) или до своего сертификата, если сертификат используется в коде.

Не берусь говорить что поможет, но попробуйте. Сейчас вспомню какие еще могут быть проблемы.

Добавлено спустя 9 минут 9 секунд:
Вот вспомнил. Если вы запускаете код в PHP через консоль, то нужно запускать PHP по правилам, т.е. с указанием пути до php.ini и всех опций. Если не указать путь, то php.ini не подхватится и библиотека OpenSSL не будет подключена. Эти слова справедливы для старых версий Open Server. В двух, кажется, последних версиях Open Server файл php.ini уже нормально подхватывается через консоль (встроенную, при запуске из меню "Дополнительно" после старта сервера).

Добавлено спустя 6 минут 26 секунд:
Вот еще вспомнил, в старых версиях, была проблема с openssl в php, он тупо не работал с сервером Apache. На nginx было все хорошо, поэтому если версия старая - обновите.

Плюс убедитесь что адрес сервера и порт правильно пишете, не вместе, а раздельно:
if ( $fp = fsockopen("ssl://www.google.com", 443, $errno, $errstr, 30) ) {

Аватара пользователя
antoxa
Сообщения: 11
C нами: 4 года 11 мес
Откуда: Санкт-Петербург

Непрочитанное сообщение antoxa » 09 июн 2013, 22:20

Спасибо большое, проблема разрешилась. Дело в том что я раскоментил расширение в php.ini в настройках сервера, но существовал еще один файл в c:\windows там то, строчка была закоменчена.

Как говорится "дело было не в бобине..." ))

Аватара пользователя
Максим
Сообщения: 4868
C нами: 5 лет 11 мес
Контакты:

Непрочитанное сообщение Максим » 09 июн 2013, 22:23

Если у вас не установлено других версий PHP, то удалите этот php.ini из папки с Windows и вообще всё остальное что вы понаустанавливали, включая собственные настройки PATH. Open Server портативен, ему стороннего ничего в данном случае абсолютно не нужно.


Вернуться в «Обсуждение Open Server»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей