Re: [請益] simplexml_load_file讀不到資料的問題

看板PHP作者 (天真可愛CQD)時間10年前 (2015/04/13 01:40), 10年前編輯推噓2(204)
留言6則, 2人參與, 最新討論串3/3 (看更多)
推 poeta: 可是好像又不是語法的問題,因為還是直接報錯: 04/10 18:11 → poeta: HTTP 錯誤 500.0 - Internal Server Error 04/10 18:11 → poeta: 讀取的網站一多就會變成那樣 04/10 18:12 用「simplexml_load_file 500」搜尋,第一篇是 http://stackoverflow.com/questions/1436614 從這篇看起來,simplexml_load_file() 只能處理 200 的回應 對方如果噴了 500 回來就會噴 warning 從這個方向來考慮,想出的解法是「用某個不管 200 還是 500 都能動的東西來抓資料」 例如說...curl,也就是連結中 RageZ 的回答 ------------------------------------------------ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $xml = curl_exec($ch); $a = simplexml_load_string($xml); ------------------------------------------------ 是說要自己做 RSS reader 去爬別人的 RSS 應該還會踩到很多地雷,加油...XD 不過如果目的只是想讀 RSS 的話 我建議用 feedly,或者不想用網路服務可以用 Thunderbird。 -- 頂天立地:愛孩子就要支持蘿莉控 http://goo.gl/Bha7e -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.59.43 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1428860405.A.3E3.html

04/13 10:18, , 1F
04/13 10:18, 1F
※ 編輯: GALINE (61.218.242.230), 04/13/2015 10:49:23

04/13 22:35, , 2F
謝謝指導,我昨天把他放到阿帕契裡面試試看,結果報錯是:
04/13 22:35, 2F

04/13 22:35, , 3F
Maximum execution time of 30 seconds exceeded
04/13 22:35, 3F

04/13 22:36, , 4F
後來查到解決方法是改php.ini裡的「max_execution_time」
04/13 22:36, 4F

04/13 22:37, , 5F
也沒有完全解決問題,資料錄裡面的確匯入了一些xml,可是
04/13 22:37, 5F

04/13 22:37, , 6F
程式沒有跑完,我再研究看看好了,謝謝。
04/13 22:37, 6F
從 web server 那邊執行的話會有時間限制 如果你是用 linux 或 mac,直接在指令行「php reader.php」就可以 還可以迴圈裡面「echo $url, "\n";」確認執行的進度 windows 我不確定,不過應該有類似的作法可以在指令列直接執行 ※ 編輯: GALINE (61.227.55.198), 04/14/2015 23:57:48
文章代碼(AID): #1LAgtrFZ (PHP)
文章代碼(AID): #1LAgtrFZ (PHP)