我有一個正在運行的PHP腳本,我有時只想重新啓動Apache並擺脫所有正在運行的PHP腳本。重啓Apache不應該讓PHP腳本繼續運行後?
但是,我注意到我的重啓後,一個PHP腳本將繼續運行。爲什麼是這樣?有沒有一個選項來確保Apache能夠正確重啓?或者是ignore_user_abort
函數導致這個問題?
感謝所有的幫助
我有一個正在運行的PHP腳本,我有時只想重新啓動Apache並擺脫所有正在運行的PHP腳本。重啓Apache不應該讓PHP腳本繼續運行後?
但是,我注意到我的重啓後,一個PHP腳本將繼續運行。爲什麼是這樣?有沒有一個選項來確保Apache能夠正確重啓?或者是ignore_user_abort
函數導致這個問題?
感謝所有的幫助
這取決於你如何重新啓動httpd。 「軟重啓」(例如killall -HUP httpd
)允許當前運行的httpd子級在死前完成請求。這消除了瀏覽器在請求期間「死亡」的情況,但這確實意味着當前正在運行的PHP腳本(因爲它們在httpd子節點中運行)將繼續運行。
PHP腳本也可以從CLI中啓動,他們在後臺運行並執行varios工作。那些不是由Apache管理的,你必須單獨管理它們。
ignore_user_abort只忽略用戶,你不能真正忽略服務器關機:)除非你不是真的關閉了,而只是重新加載配置,因爲Ignacio上面說過