2016-11-21 94 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。 –