クライアント サーバーとの接続を確立し、トランザクション レコードを検証する php スクリプトがあります。ローカルホストからは正常に実行されますが、何らかの理由でサーバーで失敗し続けます。
私のphpコードはとてもシンプルです:
<?php
$header = "POST /license HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($query) . "\r\n\r\n";
$fp = fsockopen($url, $port, $errno, $errstr, $timeout);
if (!$fp) { connection failure...}
else {check response}
?>
私のローカルホストでは完全に動作しますが、私たちの iis サーバーでは次のようになります。
接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました。
私が見る限り、唯一の違いは、Web サーバーの応答ヘッダーにあります。 サーバー: Microsoft-IIS/6.0 X-Powered-By: ASP.NET
私のローカルホストは次のとおりです。 サーバー: Apache/2.2.22 (Unix) PHP/5.3.10 mod_ssl/2.2.22 OpenSSL/1.0.1b X-Powered-By: PHP/5.3.10
私たちの Web サーバーには php があり (また、正常に実行される他の php スクリプトもあります)、open ssl が有効になっています (ただし、fsockopen には使用していません)。
助けてください!