fopen
リモート URL で いくつかのエラーが発生しています。
いくつかの xml データを別のサーバーに投稿する必要があります。ライブラリがインストールされていないという問題を回避したいのでcurl
、ストリームを使用することを好みました。
これは私のコードです:
$url = 'http://test.mysite.com/index.php?foo=bar';
$params = array('http' => array('method' => 'POST','content' => $data));
$ctx = stream_context_create($params);
$fp = fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = stream_get_contents($fp);
ローカル コンピューター (Windows、PHP 5.3.8) でテストしたところ、問題なく動作し、ライブ (Linux PHP 5.3.13) でテストして問題ありませんでした。次に、別の PC (Windows 5.2.9) でローカルにテストしました。
この最後のケースでfopen
は、タイムアウトになるまでハングします。
allow_url_fopen
がオンになっている場合、ファイアウォールに問題はないはずです (基本的に私は自分自身を呼び出しています: localhost/mysite
from localhost/mysite
)
私の数人の顧客がこのエラーを報告したので、さらに調査したいと思います.
何かアドバイス?
PHP 5.2 にバグか何かがありますか?