的SimpleXMLElement停止执行代码
问题描述:
我有一个循环的代码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的)
你知道任何原因,提前
感谢
答
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";
}
}
答
返回的503 Http标头表明您尝试加载资源的服务器不可用。
该HTTP头503服务不可用意味着:
服务器由于服务器的暂时超载或维护是目前无法处理该请求。
按照W3规格:https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
难道这是内cap的问题吗? – Janaka
难道不是PHP版本的问题吗? – Janaka
这不太可能。这不是你的脚本不起作用。它是您尝试获取导致错误的xml的远程服务器。你的脚本只是暂停,因为它不能处理XML。 –