Protocol https not supported or disabled in libcur

2019-01-11 23:47发布

问题:

I am using Authorize.net in my application(its in OSCOMMERCE) , When the user making payment its returning empty response. I debugged and find that it returning this error:

Protocol https not supported or disabled in libcurl

I am sending a prober url starts with https there is no space in that https://secure.authorize.net/gateway/transact.dll

My application in shared hosting server. My doubt is this is server side problem or Programming problem ?

回答1:

Create a script called info.php and in it put <?php phpinfo(); ?>. Save it somewhere on your site so you can access it from a browser.

Find the curl section and check what Protocols are supported. If https is not listed, then cURL was not built with SSL support and you cannot use https.

You can also look in the very first section for Registered PHP Streams and see if https is listed. If so, then you can fallback to use PHP's socket functions or functions such as file_get_contents() or fopen with a context.

Since you mention you are on a shared host, request that your host recompile PHP so that both PHP and curl are built with OpenSSL support so you can use encryption, otherwise you will need to find another solution.



回答2:

For those that have https support but still get an error similar to below

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

Ensure that the URL is valid

  • Try on a basic URL such as https://www.example.com
  • Check your URLs and make sure no spaces at start/end of URL (as shown above as %20)
  • Check for characters in your URL likely to break the curl request


回答3:

I had this problem and it was because of space in url:

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

as you see there is a space before https