2012-03-10 84 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 2012-03-10 13:49:05

+0

尝试使用文件路径的绝对路径,BTW不应该是products'.xml'吗?并尝试下一个解决方案:http://www.php.net/manual/en/domdocument.load.php#91384 – 2012-03-10 13:49:21

+0

不,它是products.php。我生成的XML动态和内容类型是text/xml。顺便说一句,谢谢你的链接。我试试.. – Samodra 2012-03-10 13:56:52

回答

0

您的脚本试图下载PHP文件,不能获取XML输出。输出到服务器上的XML文件并取而代之,或创建一个返回XML的Web服务,然后使用类似cURL的东西来使用它。

+0

是的,我也这样做了。我生成了太多的products.xml并加载如上,它仍然不起作用: (。但我试过上面的注释如果(!file_exists($ f))echo“文件不存在”,是的,为什么我的文件不存在? – Samodra 2012-03-10 14:20:25

+0

哦。allow_url_打开'禁用? (但是,无论如何,这将会发出警告)。路径不正确?严格的文件权限? – Ing 2012-03-10 14:32:28

+0

allow_url_open在On或在php.ini或phpinfo()中有1个值.. OMG我的php有什么问题#O – Samodra 2012-03-10 14:40:30