2016-11-21 92 views
0

我有一个循环的代码PHP函数,的SimpleXMLElement停止执行代码

$xml = new SimpleXMLElement($request_url,null, TRUE); 

的功能来看,在良好高达到底在本地主机XAMPP但是当把它上传到服务器 它运行高达的SimpleXMLElement,线,停止,没有超出功能有

错误消息是结束时运行,

Message: SimpleXMLElement::__construct(): I/O warning : failed to load external entity "http:/..." 
failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable 

而且我的本地PHP版本就是Apache/2.4.23(Win32的)的OpenSSL/1.0.2h PHP/5.6.24 而我的服务器版本的PHP版本:5.5.9-1ubuntu4.20 的Apache/2.4.7(Ubuntu的)

你知道任何原因,提前

感谢

回答

0

sloved功能停止执行的问题,采用php睡眠()函数和try-catch块。现在,这个流程成功执行到最后。

foreach ($params as $key => $value) { 
     .... 
     .... 
     $request_url = "the url"; 
    try{ 
     sleep(1); 
     $xml = new SimpleXMLElement($request_url,null, TRUE); 

     }catch(Exception $e){ 
     echo "Skipped"; 
     } 
    } 
0

返回的503 Http标头表明您尝试加载资源的服务器不可用。

该HTTP头503服务不可用意味着:

服务器由于服务器的暂时超载或维护是目前无法处理该请求。

按照W3规格:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

+0

难道这是内cap的问题吗? – Janaka

+0

难道不是PHP版本的问题吗? – Janaka

+1

这不太可能。这不是你的脚本不起作用。它是您尝试获取导致错误的xml的远程服务器。你的脚本只是暂停,因为它不能处理XML。 –