Я использую Authorize.net в своем приложении (его в OSCOMMERCE), когда пользователь делает платеж своим возвратным пустым ответом. Я отлаживаю и обнаруживаю, что он возвращает эту ошибку:
Протокол https не поддерживается или отключен в libcurl
Я отправляю prober url начинается с https, нет места в https://secure.authorize.net/gateway/transact.dll
Мое приложение на сервере общедоступного хостинга. Мое сомнение в том, что это проблема на стороне сервера или проблема с программированием?
Создайте скрипт под названием info.php и вставьте его <?php phpinfo(); ?>
<?php phpinfo(); ?>
. Сохраните его где-нибудь на своем сайте, чтобы вы могли получить к нему доступ из браузера.
Найдите раздел curl и проверьте, какие протоколы поддерживаются. Если https
отсутствует в списке, cURL не был создан с поддержкой SSL, и вы не можете использовать https.
Вы также можете посмотреть в первом разделе для Registered PHP Streams
и посмотреть, указан ли https
. Если это так, то вы можете отказаться от использования функций или функций сокета PHP, таких как file_get_contents()
или fopen
с контекстом .
Поскольку вы упоминаете, что находитесь на общем хосте, попросите ваш хост перекомпилировать PHP, чтобы PHP и curl были построены с поддержкой OpenSSL, чтобы вы могли использовать шифрование, иначе вам нужно будет найти другое решение.
Для тех, у кого есть поддержка https, но по-прежнему появляется ошибка, аналогичная приведенной ниже
[curl] 1: Protocol %20https not supported or disabled in libcurl [url] %20https://www.example.com/%20
Убедитесь, что URL-адрес действителен
У меня была эта проблема, и это было из-за места в URL:
' https://www.google.com/recaptcha/api/siteverify'
как вы видите, есть пробел до https