看板 PHP 關於我們 聯絡資訊
※ 引述《imyachi (yachi)》之銘言: : 最近在寫一個php,碰到一個問題,想向大家請教 : 網頁主要是將使用者的資料和參數傳到linux server上, : 然後對linux下指令,開始執行。 : 程式執行運算通常需要30分鐘以上, : 所以想要 在下指令以後 讓程式在server上面跑, : 跑完後再把結果 透過email傳給使用者。 : 現在遇到的問題是: : 用exec()傳送指令, : 程式開始執行.... : 然後 主網頁畫面就會因為timeout所以顯示無法使用 : 但是...在程式執行完後,email仍會收到結果。 : ================== : 所以希望 在程式開始執行時, : 網頁畫面就跳出 "" 程式執行中,我們會把執行結果送到您的信箱"" : 這些字樣~ : 然後使用者就可以關掉網頁???!! : ==================== : 主要想法是這樣, : 可是不知道該怎麼實作, : 剛剛爬文後,還是一頭霧水QQ : 只好再麻煩大家,提供一些建議:D:D : 謝謝謝謝~~~~~~~~ 這樣? 首先先彈個視窗給user echo "<script type='text/javascript'>alert('程式執行中,我們....');</script>"; 背景執行, unrar是隨便一個例子, 另外要把output導到/dev/null才行的樣子 只用&好像還是會卡在網頁load $cmd = "unrar aaa.rar > /dev/null &"; exec($cmd); 然後寄信 mailto(xxxxx); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.47.74.192
imyachi:好像懂了~~ 來試試看!!!! 謝謝你唷^_^ 12/01 11:00
MOONRAKER:max_execution_time可以到1800嗎? 12/01 11:57
bibo9901:set_time_limit(0); 就不會 timeout 12/01 19:19
MOONRAKER:這樣真的好嗎? 12/01 21:20
bibo9901:不知道耶... 12/01 22:11
shadowjohn:如果真的太大超時要跑,還是跑個crontab弄個queue :) 12/01 22:15
waterdroporg:設成0的確OK,有次我設成0做批次上傳圖片,結果 12/07 02:08
waterdroporg:想停止關掉網頁還是繼續跑= = 12/07 02:09