2012-03-10 7 views
0

私は動的にこれを使用してXMLを生成します。PHPのDOMDocument負荷XMLタイムアウト

$domtree = new DOMDocument('1.0', 'UTF-8'); 
$domtree -> formatOutput = true; 
$xmlRoot = $domtree -> createElement("theparent"); 
bla..bla..bla.. 
echo $domtree->saveXML(); 

私はこの

$f = "http://localhost/myapp/xml/products.php"; //full url path 
$doc = new DOMDocument(); 
$doc->load($f) 

bla..bla..blaを使用してPHPから生成されたXMLをロード..

しかし、それは長い実行を必要とし、私はこのエラーが表示されます:

Warning: DOMDocument::load(http://localhost/myapp/xml/products.php) [function.load]: failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in F:\xampp\htdocs\myapp\loader\loadxml.php on line 14 

Fatal error: Maximum execution time of 60 seconds exceeded in F:\xampp\htdocs\myapp\loader\loadxml.php on line 16 

同じ方法でこのXMLメソッドをロードしたことがありますが、なぜこのアプリケーションでエラーが発生しますか?特別なxamppやPHPの設定はありますか?または私のコードが間違っていますか?

はあなたに感謝:)

+0

btw、私はPHPバージョン5.0.5を使用しています – Samodra

+0

ファイルパスに絶対パスを使用してみてください。次の解決策を試してください:http://www.php.net/manual/en/domdocument.load.php#91384 –

+0

いいえ、それはproducts.phpです。 XML dynamicalyを生成し、content-typeはtext/xmlです。 btw、リンクありがとうございました。私はそれを試して.. – Samodra

答えて

0

あなたのスクリプトは、XML出力を取得していない、PHPファイルをダウンロードしようとしています。サーバー上のXMLファイルに出力し、代わりにそのファイルをフェッチするか、XMLを返すWebサービスを作成し、cURLのようなものを使用して使用します。

+0

はいこれもやっています。 (しかし、上記のコメントを試しましたが、(!file_exists($ f))echo "ファイルが存在しません"、どうして私のファイルが存在しないのですか? – Samodra

+0

ああ 'allow_url_オープン? (しかしそれはとにかく警告を投げるだろう)。間違ったパス?厳密なファイルのアクセス許可? – Ing

+0

allow_url_openがOnであるか、php.iniまたはphpinfo()に1つの値があります。OMG私のPHPで何が問題なのですか#O – Samodra