2012-03-07 11 views
9

Używam Authorize.net w mojej aplikacji (ITS w osCommerce), gdy dokonywania płatności jego powrocie pusty Działanie użytkownika. I debugowania i uważają, że powrót ten błąd:protokół HTTPS nie obsługiwane lub niepełnosprawnych w libcurl

Protocol https not supported or disabled in libcurl

przesyłam URL zaczyna się od https gmeracz nie ma miejsca w tym https://secure.authorize.net/gateway/transact.dll

mojej aplikacji w serwerze współdzielonym hostingu. Mam wątpliwości, czy to problem z serwerem czy programowaniem?

Odpowiedz

9

utworzyć skrypt info.php aw niej umieścić <?php phpinfo(); ?>. Zapisz go gdzieś w witrynie, aby uzyskać do niego dostęp z przeglądarki.

Znajdź sekcję zwijania i sprawdź, jakie obsługiwane są protokoły Protokoły. Jeśli na liście nie ma nazwy https, to cURL nie został zbudowany z obsługą SSL i nie można używać protokołu HTTPS.

Możesz również zajrzeć do pierwszej sekcji dla Registered PHP Streams i sprawdzić, czy na liście znajduje się https. Jeśli tak, to możesz skorzystać z funkcji gniazd PHP lub funkcji, takich jak file_get_contents() lub fopen z context.

Ponieważ wspomniałeś, że jesteś na współdzielonym hoście, poproś o rekompilację PHP, aby zarówno PHP jak i curl zostały zbudowane z obsługą OpenSSL, więc możesz użyć szyfrowania, w przeciwnym razie musisz znaleźć inne rozwiązanie.

+1

Krótko mówiąc, skontaktuj się ze swoją firmą hostingową, jeśli jej nie obsługuje, musisz przejść do tych, które to robią. – soemarko

+0

Dzięki Lot drew010 .. Dałeś dobre rozwiązanie dla mnie – AnNaMaLaI

+9

Dzięki @ drew010, ale co powinienem zrobić, jeśli phpinfo() mówi mi, że cURL obsługuje HTTPS i nadal wyrzuca ten błąd? – xanderiel

16

Dla tych, którzy mają https wsparcia, ale nadal pojawia się błąd podobny do poniżej

[curl] 1: Protocol %20https not supported or disabled in libcurl [url] %20https://www.example.com/%20 

Upewnij się, że adres URL jest poprawny

  • Spróbuj na podstawowy adres URL, takich jak https://www.example.com
  • Sprawdź adresy URL i upewnij się, bez spacji na początku/końca URL (jak pokazano powyżej jako% 20)
  • Sprawdź znaków w adresie URL, które mogą złamać Curl zażądania
+0

Naprawdę doceniam twój wkład, czasami jako programiści pomijamy pewne szczegóły, w moim przypadku był jeden cytat na końcu mojego adresu URL i nie zauważyłem go, który był przyczyną tego błędu. Z poważaniem. –

+0

To było okropne: webeditor dodaje kilka niewidocznych spacji przed https! : ścieżka = https://jsonblob.com ... –

+1

dzięki za oszczędność czasu!jest miejsce tuż przed https w adresie URL ... – gonglong

0

miałem ten problem, a to z powodu miejsca w URL:

' https://www.google.com/recaptcha/api/siteverify' 

jak widać jest przestrzeń przed https

Powiązane problemy