私は自分のアプリケーション(OSCOMMERCEにあります)でAuthorize.netを使用しています。ユーザーが支払いを行うと、空の応答が返されます。私はデバッグし、それがこのエラーを返すことがわかりました:
Libcurlでプロトコルhttpsがサポートされていないか無効になっている
Httpsで始まるプローバーURLを送信していますが、スペースはありません https://secure.authorize.net/gateway/transact.dll
共有ホスティングサーバーのアプリケーション。私の疑問はこれがサーバー側の問題またはプログラミングの問題ですか?
Info.phpというスクリプトを作成し、その中に<?php phpinfo(); ?>
を挿入します。ブラウザからアクセスできるように、サイトのどこかに保存します。
curlセクションを見つけ、サポートされているProtocolsを確認します。 https
がリストされていない場合、cURLはSSLサポート付きで構築されておらず、httpsを使用できません。
_Registered PHP Streams
_の最初のセクションを調べて、https
がリストされているかどうかを確認することもできます。その場合は、フォールバックして、PHPのソケット関数またはfile_get_contents()
やfopen
などの関数を context で使用できます。
共有ホストを使用しているとのことですので、ホストに再コンパイルを依頼してください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の前にスペースがあります