作者davidou (老歐 ! 月夜雪嵐)
看板Web_Design
標題[問題] 網頁重新整理到crash掉
時間Sat Apr 7 11:47:07 2012
我有寫一個網頁php機器人程式
然後 我透過
<meta http-equiv="refresh" content="5" />
的方式 讓他每隔幾秒就重新執行一次我的php 程式
這隻只是一個很簡單的抓網頁然後if else的程式而已
平常跑是都沒問題
可是有發現他要是放了個一陣子後 他就會不動了
這邊的一陣子 有可能是一週也可能是一個月甚至以上不定
我會看到瀏覽器一直在轉圈圈
然後猜測可能程式就卡在某一行跑不過去
(因為我有寫讓他可以寄信到我信箱來的功能 然後我發現他一直在重複寄信)
所以上來問看看說 有沒有高手有個甚麼見解之類的
是記憶體問題嗎? 還是甚麼的
這邊附註一下我有用到的功能
php的curl、session、mail、if..else for while等的判斷式與迴圈
當然其他不是很重要的函數就不提了
有人有想法嗎? 另外 有時候掛掉後 要必須整個瀏覽器重開程式才會跑
(這我猜會不會是session的問題? 只是我也不知道該從哪下手)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.211.74
1F:→ tyf99:你讓瀏覽器每5秒就去戳一下php? 04/07 13:07
2F:→ tyf99:如果執行一次平均6秒,你算算一天會累積多少 threads 04/07 13:11
3F:→ davidou:執行蓄不會釋放的意思? 04/07 15:24
4F:→ tyf99:執行完會釋放,但是你有 session,session write 會 block 04/07 20:08
5F:→ tyf99:所以用了 session 的話,正常下同時只會有一個 thread 在跑 04/07 20:10
6F:→ tyf99:後面的 threads 全部 queue 住.. 04/07 20:10
7F:→ tyf99:改用 while loop 和 sleep 去處理,內部設停止條件 04/07 20:13
我程式沒有想要停止說 假設我一直用WHILE loop去跑 瀏覽器自己會強制timeout吧
8F:→ tyf99:讓 php 自己去重複執行就好 04/07 20:14
9F:→ tyf99:用瀏覽器去短時間不斷 refresh,是邪道寫法.. 04/07 20:15
※ 編輯: davidou 來自: 59.126.211.74 (04/07 22:01)
10F:→ tyf99:set_time_limit, ignore_user_abort 04/08 00:41