Включение OpenSSL в WAMP

Сегодня я установил последнюю версию WAMP (от wampserver.com) на своем компьютере под управлением Windows 7.

Я включил SSL в PHP > PHP Extensions > php_openssl

И Apache > Apache Modules > open_ssl

Но когда я пытаюсь получить доступ к чему-либо с помощью https://, я получаю "Страница загрузки проблем". Apache_error.log говорит

[Thu Jun 27 16:25:08.622056 2013] [ssl:warn] [pid 4812:tid 356] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior


[Thu Jun 27 16:25:08.973076 2013] [ssl:warn] [pid 4812:tid 356] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior


[Thu Jun 27 16:25:09.356098 2013] [ssl:warn] [pid 4812:tid 356] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]


[Thu Jun 27 16:25:09.365099 2013] [mpm_winnt:notice] [pid 4812:tid 356] AH00455: Apache/2.4.4 (Win64) OpenSSL/1.0.1d PHP/5.4.12 configured -- resuming normal operations

[Thu Jun 27 16:25:09.365099 2013] [mpm_winnt:notice] [pid 4812:tid 356] AH00456: Server built: Feb 22 2013 22:08:37

[Thu Jun 27 16:25:09.365099 2013] [core:notice] [pid 4812:tid 356] AH00094: Command line: 'c:\\wamp\\bin\\apache\\apache2.4.4\\bin\\httpd.exe -d C:/wamp/bin/apache/Apache2.4.4'

[Thu Jun 27 16:25:09.366099 2013] [mpm_winnt:notice] [pid 4812:tid 356] AH00418: Parent: Created child process 3452

[Thu Jun 27 16:25:09.664116 2013] [ssl:warn] [pid 3452:tid 248] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior

[Thu Jun 27 16:25:09.954132 2013] [ssl:warn] [pid 3452:tid 248] AH01882: Init: this version of mod_ssl was compiled against a newer library (OpenSSL 1.0.1e 11 Feb 2013, version currently loaded is OpenSSL 1.0.1d 5 Feb 2013) - may result in undefined or erroneous behavior

[Thu Jun 27 16:25:10.327154 2013] [ssl:warn] [pid 3452:tid 248] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]


[Thu Jun 27 16:25:10.339154 2013] [mpm_winnt:notice] [pid 3452:tid 248] AH00354: Child: Starting 150 worker threads.

Ответ 1

Wampserver с apache 2.4.4 выпущен с неправильными файлами openssl. Все, что вам нужно сделать: загрузить и установить 1.0.1e openssl отсюда: http://slproweb.com/products/Win32OpenSSL.html

Затем найдите эти файлы в установленной папке:

Bin\openssl.cfg

Bin\libeay32.dll

Bin\ssleay32.dll

Bin\openssl.exe

Остановить сервер Apache. сначала сохраните BACKUP из них. Затем верните эти файлы в каталог apache:

conf\openssl.cnf- > переименовать cfg здесь

Bin\libeay32.dll

Bin\ssleay32.dll

Bin\openssl.exe

Перезагрузите сервер. Решаемые.

Ответ 2

Путь к php.ini [в случае, если вы хотите, чтобы для композитора] был C:\wamp\bin\php\php5.4.x\php.ini. Этот файл не совпадает с тем, который у вас есть, если вы перемещаетесь по иконке Wamp tray

Идите туда и удалите точку с запятой, как @milesstewart88 говорит

Ответ 3

Просто раскомментируйте расширение openssl в файле php.ini.

Eg.; extension = php_openssl.dll

Удалите точку с запятой, чтобы она выглядела так.

расширение = php_openssl.dll

Это должно работать; это сработало для меня.

Ответ 4

На Wampserver с Apache 2.4.4 это работало для меня:
Предполагая, что вы уже создали каталог с ключом SSL и сертификатом, например, по адресу: c: /wamp/OpenSSL

раскомментируйте в httpd.conf:

LoadModule socache_shmcb_module modules/mod_socache_shmcb.so  
LoadModule log_config_module modules/mod_log_config.so  
LoadModule setenvif_module modules/mod_setenvif.so  
LoadModule ssl_module modules/mod_ssl.so

# Secure (SSL/TLS) connections
<IfModule ssl_module>
    Include conf/extra/httpd-ssl.conf
</IfModule>

отредактируйте в httpd-ssl.conf:

SSLSessionCache "shmcb:c:/wamp/OpenSSL/logs/ssl_scache(512000)"  

<VirtualHost _default_:443>
    DocumentRoot "c:/wamp/www" 
    ServerName localhost:443
    ErrorLog "c:/wamp/logs/error.log"
    TransferLog "c:/wamp/logs/access.log"
    SSLCertificateFile "c:/wamp/OpenSSL/certs/server.crt"
    SSLCertificateKeyFile "c:/wamp/OpenSSL/certs/server.key"
    <Directory "c:/wamp/www">
        SSLOptions +StdEnvVars
    </Directory>
    CustomLog "c:/wamp/logs/ssl_request.log" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

раскомментируйте в php.ini: extension=php_openssl.dll

Ответ 5

Посмотрите, как я справился с этим.

uncomment below line from <WEBroot>/bin/apache/Apache2.x/conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so

           &

Include conf/extra/httpd-ssl.conf

Поместите свои сертификаты и ключ в отдельную папку, скажем, "wwwssl"

AND GOT TO <WEBroot>/bin/apache/Apache2.x/conf/extra/httpd-ssl.conf

Создайте виртуальный хост для желаемого сервера, например: ниже

<VirtualHost _default_:443>
    DocumentRoot "<WEBroot>/www/"
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "<WEBroot>/wwwssl/webserver.cert"
    SSLCertificateKeyFile "<WEBroot>/wwwssl/webserver.key"

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
</VirtualHost>                                  

Ответ 6

Как сказал milesstewart88 - несовместное расширение строки = php_openssl.dll в файле php.ini.

Выполнение этого из меню wamp не будет работать - что может пролететь от реальной проблемы.