SimpleXMLElement停止执行代码

时间:2016-11-21 09:40:01

标签: php apache ubuntu runtime-error

我有一个循环代码的php函数,

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

该函数在localhost 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)

你知道这个的原因吗,提前谢谢

2 个答案:

答案 0 :(得分:0)

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

此HTTP标头503 Service Unavailable表示:

  

由于服务器临时过载或维护,服务器当前无法处理请求。

根据W3规范:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

答案 1 :(得分:0)

函数停止执行问题解决,使用php sleep()函数和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";
      }
  }