0

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/mysitefrom localhost/mysite)

私の数人の顧客がこのエラーを報告したので、さらに調査したいと思います.
何かアドバイス?
PHP 5.2 にバグか何かがありますか?

4

1 に答える 1

1

URL の構文が無効です。
交換:

$url = 'http://test.mysite.com?foo.php';

と:

$url = 'http://test.mysite.com/?foo.php';
于 2012-09-12T15:49:09.383 に答える