Uruchomienie SSL w XAMPP

Apache
URL:
Technologia:

Ostatnio bawiłem się skryptem do łączenia się z mBankiem i pobierania pewnych potrzebnych dla mnie danych. Jako że lokalnie pracuję pod Windowsem i korzystam z instalacji XAMPP okazało się że nie ma on włączonej obsługi SSL. Natknąłem się na ten problem, gdy próbowałem wywołać funkcję fsockopen() do połączenia się ze stroną mBank’u.

W domyślnej instalacji XAMPP transport SSL nie jest włączony dlatego też moim oczom ukazał się komunikat: “Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?”
Rozwiązanie – jak to zwykle bywa – okazuje się to dość proste a więc:

  1. Zatrzymujemy usługę Apache
  2. Kopiujemy Libeay32.dll i ssleay32.dll z folderu xampp/php do xampp/apache/bin, nadpisując starsze pliki
  3. Edytujemy plik „xampp/apache/bin/php.ini” i znajdujemy wpis „extension = php_openssl.dll” a następnie usuwamy średnik na początku linii
  4. Uruchamiamy usługę Apache

Jeśli teraz sprawdzimy wynik działania funkcji phpinfo() to pojawi się na wyświetlonej liście OpenSSL.

UWAGA!
W najnowszej wersji xampp (1.7.7) problem nadal istnieje. Co gorsza plik php.ini nie zawiera komendy „extension = php_openssl.dll” więc trzeba ją tam dodać. Nie jest wymagane przegrywanie ww. bibliotek .dll, gdyż znajdują się one w odpowiednim katalogu. Wystarczy jedynie zrestartować serwer Apache i będzie wszystko OK.