2012-03-07 126 views
9

我在我的應用程序中使用Authorize.net(它在OSCOMMERCE中),當用戶付款時它返回空的響應。我調試,並發現它返回這個錯誤:Protocol不支持或禁用libcurl

Protocol https not supported or disabled in libcurl

我送探測器網址以https開頭存在這樣 https://secure.authorize.net/gateway/transact.dll

我的共享託管服務器應用程序沒有空間。我懷疑這是服務器端問題還是編程問題?

回答

9

創建一個名爲info.php的腳本,並在其中放入<?php phpinfo(); ?>。將它保存在您的網站的某個地方,以便您可以從瀏覽器訪問它。

找到捲曲部分,檢查什麼協議支持。如果沒有列出https,則cURL不是使用SSL支持構建的,並且您不能使用https。

您還可以查看Registered PHP Streams的第一部分,看看是否列出了https。如果是這樣,那麼你可以後備使用PHP的套接字函數或函數,如file_get_contents()fopencontext

由於您提到您位於共享主機上,因此請求您的主機重新編譯PHP,以便PHP和curl均使用OpenSSL支持構建,以便您可以使用加密,否則您需要查找其他解決方案。

+1

簡而言之,請聯繫您的託管公司,如果他們不支持它,那麼您需要去那些可以做的。 – soemarko 2012-03-07 04:41:43

+0

Thanks lot drew010 ..你給了我一個很好的解決方案 – AnNaMaLaI 2012-03-07 04:43:51

+9

Thanks @ drew010,但是如果phpinfo()告訴我cURL支持HTTPS並且它仍然會拋出這個錯誤,我該怎麼辦? – xanderiel 2013-12-11 15:40:56

16

對於那些具有HTTPS支持,但仍然得到類似的錯誤下面

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

確保URL是有效的

  • 嘗試在基本URL,如https://www.example.com
  • 檢查您的網址並確保網址開頭/結尾處沒有空格(如上面顯示爲%20)
  • 您在您的網址可能會打破捲曲請求
+0

我真的很感謝你的貢獻,有時候開發者會繞過一些細節,在我的情況下,在我的url結尾處有一個單引號,並沒有注意到它,這是導致這個錯誤。最好的祝福。 – 2017-02-08 23:40:11

+0

這真是太糟糕了:webeditor在https之前添加了一些不可見的空間! : path = https://jsonblob.com ... – 2017-02-10 14:47:46

+1

感謝您節省我的時間!在url之前有一個空格https ... – gonglong 2017-03-18 14:21:10

0

我有這個問題,這是因爲在網址空格字符:

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

,你看到有一個空間之前HTTPS

相關問題