如何停止php執行

來源:互聯網
上載者:User
我現在搞了個採集的php代碼,把網頁的資料擷取下來儲存在案頭,現在測試的時候發現一個問題,在瀏覽器關閉的情況下,php還在繼續執行產生資料,問題來了:如何在關閉瀏覽器或者點擊瀏覽器上url輸入後面的停止按鈕使得php代碼不再繼續執行?


回複討論(解決方案)

php預設是關閉就停止執行了啊,你用ajax請求php嗎?

回複樓上的沒有用ajax

直接關閉瀏覽器就停止了,當前的PHP操作了。

建議從幾個角度去查問題:
1.瀏覽器的進程是否結束
2.Linux的情況,使用不同WEB服務時,配置是否正確,是否存在配置導致瀏覽器關閉,但是WEB服務的當前進程仍然在執行。

偽進程?
很多人想搞還搞不來呢!
你需要在你的代碼中設施並處理可以觸及到的終止訊號

最近我也發現了這個問題, 瀏覽器關閉, 程式是會執行的。

但是應該是執行完當前的內容後, 就會停止。

如果你是本地測試, 我一般都直接重啟服務。

你要做採集, 建議還是用bin方式來做。

最近我也發現了這個問題, 瀏覽器關閉, 程式是會執行的。

但是應該是執行完當前的內容後, 就會停止。

如果你是本地測試, 我一般都直接重啟服務。

你要做採集, 建議還是用bin方式來做。

bin方式指的是?求指點

set_time_limit();

設定指令碼最多執行的時間,是最簡單的方法。

呵呵,你雖然關了瀏覽器,但是程式的指令早就已經發出去了,再他未完成所有的指令之前,假如沒有給停止命令(是的是跟底層,伺服器有關的指令,不是指管瀏覽器),之前的未完成的指令會繼續執行,知道指令完成或者被迫停止(比如重啟伺服器,或者重啟web服務程式)

加個exit()試試看

嗯,我的採集也出現了這個問題,關閉了瀏覽器,還一直在下。我的猜想是跟php curl的工作機制有關,具體原因不清楚。

起初我登出電腦都不行,一定是重啟。
可能因為是http協議,最後我在進程裡關閉瀏覽器的進程就可以了;另外我覺得可以關閉apache服務應該也可以,沒試過。

程式設定了最大執行時間很長,程式裡面用了sleep主要防止採集的太快封ip,不知道和這個有沒關係。

程式設定了最大執行時間很長,程式裡面用了sleep主要防止採集的太快封ip,不知道和這個有沒關係。 目測和這個沒有關係,php curl是可以支援代理的。

跟這個沒關係,但跟你的程式寫法有關係,由於並沒有看到你的程式,所以也不能明確的說

一般的說:
當關閉瀏覽器,程式會終止(php 還專門設有函數來改變這個行為),是有條件的
這個條件就是程式必須有輸出
php 只在有輸出時才去檢查到使用者的串連是否斷開

先在工作管理員確認瀏覽器進程是否關閉了再談更高深的問題吧

我關瀏覽器通常都要等幾分鐘進程才結束,機器年代久遠……

還是沒找到解決辦法,只有重啟apache才能終止。

就是php的命令列方式, 而且最好是在Linux下面使用, 穩定。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.