2012-03-07 37 views
9

Tôi đang sử dụng Authorize.net trong đơn đăng ký của mình (trong OSCOMMERCE), Khi người dùng thanh toán trả lại phản hồi trống của nó. Tôi sửa lỗi và thấy rằng nó trở về lỗi này:Giao thức https không được hỗ trợ hoặc vô hiệu hóa trong libcurl

Protocol https not supported or disabled in libcurl

Tôi gửi một url prober bắt đầu bằng https không có không gian trong đó https://secure.authorize.net/gateway/transact.dll

ứng dụng của tôi trong chia sẻ máy chủ lưu trữ. Nghi ngờ của tôi là đây là vấn đề phía máy chủ hoặc vấn đề lập trình?

Trả lời

9

Tạo tập lệnh có tên info.php và đặt nó vào <?php phpinfo(); ?>. Lưu nó ở đâu đó trên trang web của bạn để bạn có thể truy cập nó từ trình duyệt.

Tìm phần curl và kiểm tra xem Giao thức nào được hỗ trợ. Nếu https không được liệt kê, thì cURL không được tạo bằng hỗ trợ SSL và bạn không thể sử dụng https.

Bạn cũng có thể tìm trong phần đầu tiên cho Registered PHP Streams và xem nếu https được liệt kê. Nếu đúng như vậy, bạn có thể dự phòng để sử dụng các chức năng hoặc chức năng của trình cắm của PHP như file_get_contents() hoặc fopen với một context.

Vì bạn đề cập đến bạn đang ở trên một máy chủ chia sẻ, yêu cầu máy chủ của bạn biên dịch lại PHP để cả PHP và curl đều được hỗ trợ OpenSSL để bạn có thể sử dụng mã hóa, nếu không bạn sẽ cần tìm giải pháp khác.

+1

trong ngắn hạn, liên hệ với công ty lưu trữ của bạn, nếu họ không hỗ trợ nó, bạn sẽ cần phải đi đến những người làm. – soemarko

+0

Cảm ơn Lot drew010 .. Bạn đã đưa ra một giải pháp tốt cho tôi – AnNaMaLaI

+9

Cảm ơn @ drew010, nhưng tôi phải làm gì nếu phpinfo() cho tôi biết rằng cURL hỗ trợ HTTPS và nó vẫn ném lỗi này? – xanderiel

16

Đối với những người có https hỗ trợ nhưng vẫn nhận được một lỗi tương tự như dưới đây

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

Đảm bảo rằng URL là hợp lệ

  • Hãy thử vào một URL cơ bản như https://www.example.com
  • Kiểm tra URL của bạn và đảm bảo không có khoảng trắng ở đầu/cuối URL (như được hiển thị ở trên là% 20)
  • Kiểm tra cho các ký tự trong URL của bạn có khả năng phá vỡ các yêu cầu curl
+0

Tôi thực sự đánh giá cao sự đóng góp của bạn, đôi khi là nhà phát triển chúng tôi bỏ qua một số chi tiết, trong trường hợp của tôi có một trích dẫn ở cuối url của tôi và không nhận thấy nó, điều đó đã gây ra lỗi đó. trân trọng. –

+0

Thật kinh khủng: một webeditor thêm một số không gian vô hình trước https! : đường dẫn = https://jsonblob.com ... –

+1

cảm ơn vì đã tiết kiệm thời gian của tôi!có một không gian ngay trước https trong url ... – gonglong

0

Tôi có vấn đề này và đó là vì không gian trong url:

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

như bạn thấy đó là một không gian trước khi https

Các vấn đề liên quan