この単純なコードを考えてみましょう:
<?php
error_reporting(E_ALL);
//error_reporting(E_STRICT);
date_default_timezone_set("Asia/Calcutta");
$smtp_server = fsockopen("onelocalserver.com", 25, $errno, $errstr, 120);
if(!$smtp_server)
{
// We have an error, do something
echo " Error found! <br>$errno <br>$errstr";
exit;
}
?>
Windows XP + php5.3.8 + apache 2.2では、エラーになります。 Warning:fsockopen():onelocalserver.com:25に接続できません(ターゲットマシンが積極的に拒否したため、接続できませんでした)。
しかし、ApacheとPHPがインストールされているのと同じシステムで、コマンドプロンプトex:c:phpphp.exe filename.phpからphpを実行すると、エラーにはなりません。
サーバーonelocalserver.comはポート25でlistenしています:そこではSMTPサーバーが実行されています。
何か案は?これは本当に奇妙です
前もって感謝します
回答:
回答№1は0異なるIPアドレスで何度か試した後、コマンドラインインターフェイスではうまく動作しますが、Webブラウザでは動作しませんでした。PHPは以前CGIとしてWindowsにインストールされていませんでした。 Apacheハンドラとして設定されている場合は動作しますが、動作します。 http://www.php.net/manual/en/install.windows.apache2.php .
これが誰かを助けることを願って!