2013-07-03 56 views
1

我正在運行一個PHP腳本,可將幾十萬條記錄從遠程MySQL服務器轉換爲本地數據庫。在轉移過程中有幾次,在error_logs顯示...服務器重新啓動期間,MySQL查詢正在運行的PHP腳本會發生什麼情況?

[Wed Jul 03 17:02:36 2013] [notice] Graceful restart requested, doing restart 
[Wed Jul 03 17:02:37 2013] [notice] SSL FIPS mode disabled 
[Wed Jul 03 17:02:37 2013] [notice] Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_bwlimited/1.4 PHP/5.3.16 configured -- resuming normal operations 

這是罕見的,我無法找到一個理由,但劇本似乎還在繼續,彷彿什麼都沒有發生。測試數據是否丟失將非常麻煩。所以我想知道,如果MySQL查詢中斷會發生什麼?爲什麼PHP似乎完全忽略了重啓,並繼續運行,就好像什麼都沒有發生?有關如何/測試什麼的任何想法?

+2

我相信一切平穩重啓等待它實際上它通過網頁運行重啓 – chrislondon

回答

2

這是一個Apache日誌,而不是PHP日誌。您的腳本可能在CLI(命令行)中運行,因此Apache重新啓動不會影響它。否則它可能已被重新啓動,-k graceful將允許子進程完成。

所以我想知道,如果MySQL查詢中斷會發生什麼

如果MySQL重新啓動,該腳本將失敗(除非程序員加入了一些額外的強大的錯誤處理,以處理這種情況)。

+0

前完成,而不是命令行......這是有道理的來說,Apache重啓不應影響MySQL的。 – neokio

+0

如果你通過網頁運行,那麼Apache重啓將會終止正在運行的PHP腳本(除非你有某種cgi設置)。 – webbiedave

+0

我也這麼認爲!但http://stackoverflow.com/questions/10947895/apache-graceful-restart-does-it-affect-current-php-script-execution說,否則,和長時間運行的腳本似乎完成得很好:P – neokio

相關問題