Включение OpenSSL в WAMP
Я установил последнюю версию WAMP (с http://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.
6 ответов
Wampserver с Apache 2.4.4 выпущен с неправильными файлами openssl. Все, что нужно сделать, это загрузить и установить openssl 1.0.1e отсюда: http://slproweb.com/products/Win32OpenSSL.html
Затем найдите эти файлы в установленном каталоге:
бен \openssl.cfg
бен \libeay32.dll
бен \ssleay32.dll
бен \openssl.exe
Остановите сервер Apache. сначала сохраните BACKUP из них. Затем перезаписать эти файлы в вашем каталоге apache:
conf \ openssl.cnf-> переименуйте cfg здесь
бен \libeay32.dll
бен \ssleay32.dll
бен \openssl.exe
Перезагрузите сервер. Решаемые.
Путь к php.ini [в случае, если вы хотите, чтобы это было для композитора] - C:\wamp\bin\php\php5.4.x\php.ini . Этот файл отличается от того, который у вас есть, если вы перемещаетесь по значку Wamp tray
Идите туда и удалите точку с запятой, как говорит @milesstewart88
Просто раскомментируйте расширение openssl в файле php.ini.
Например.; Расширение =php_openssl.dll
Удалите точку с запятой, чтобы это было так.
расширение =php_openssl.dll
Это должно работать; это сработало для меня.
На 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
Как сказал milesstewart88 - расширение строки uncoment =php_openssl.dll в файле php.ini.
Делать это из меню вампа не получится - что может привести к реальной проблеме.
Посмотрите, как я справился с этим..
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>