Заставляем Denwer поддерживать HTTPS
Безопасный протокол HTTPS сегодня нужен всё чаще при программировании web-приложений. В комплекте Denwer, устанавливаемом по умолчанию, попытавшись вызвать локальной скрипт через HTTPS, мы видим обычно лишь следующее:
Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Z:\home\localhost\www\https.php on line 3
Warning: file_get_contents(https://www.google.com/): failed to open stream: Invalid argument in Z:\home\localhost\www\https.php on line 3
Это был результат выполнения на локалхосте Denwer скрипта
<?php error_reporting(E_ALL); $file = file_get_contents('https://www.google.com/'); die($file); ?>
Как решить проблему с настройкой протокола HTTPS на Denwer?
1. Выясняем, какой именно файл php.ini
подключён, например, запустив на локальном хосте следующий скрипт
<?php phpinfo(); ?>
и прочитав ответ в строке Loaded Configuration File первой таблицы с данными. С версии PHP 5.2.4 и выше поможет и просто
<?php echo php_ini_loaded_file(); ?>
Для Denwer в норме должно получиться Z:\usr\local\php5\php.ini
2. В нужном файле php.ini
ищем и раскомментируем (удалим из первой позиции точку с запятой) строку вида
;extension=php_openssl.dll
3. Если в папке дополнений (при запущенном Denwer это обычно папка Z:\usr\local\php5\ext\
, при условии, что вы не конфигурировали сервер по-другому) есть файл php_openssl.dll
, то идём к п. 5 :)
Иначе качаем вот отсюда пакет расширений (потребуется ввести адрес E-mail, на который придёт ссылка для скачивания).
4. Установщик пакета кривоват, особенно под новыми Windows, проще его открыть как архив обычным WinRAR или 7Zip и извлечь нужный файл в папку Z:\usr\local\php5\ext\
- путь от корня архива тоже будет \usr\local\php5\ext\php_openssl.dll
.
5. Перезагружаем компьютер и перезапускаем Denwer, теперь первый скрипт успешно (с точноcтью до кодировки) показал содержимое главной страницы Google на локалхосте, при этом содержимое получено обычной функцией file_get_contents
.
Не забудьте также, что пользоваться устаревшей версией PHP 5.3 совсем необязательно, привычный Denwer легко заставить работать и с PHP 5.5.
21.11.2016, 17:57 [20246 просмотров]