我寫了一個函數,它接收一些參數(電子郵件地址)併發送電子郵件。我需要在用戶操作上執行此操作,如下所示 -PHP郵件功能在後臺
有人回答問題,添加問題的HTTP請求,控制器接收請求並將問題添加到數據庫。現在我希望我調用函數發送電子郵件,但不要等待它完成 - 所以返回HTTP響應。
我該怎麼做?
我寫了一個函數,它接收一些參數(電子郵件地址)併發送電子郵件。我需要在用戶操作上執行此操作,如下所示 -PHP郵件功能在後臺
有人回答問題,添加問題的HTTP請求,控制器接收請求並將問題添加到數據庫。現在我希望我調用函數發送電子郵件,但不要等待它完成 - 所以返回HTTP響應。
我該怎麼做?
把它放進一個單獨的PHP腳本並運行它作爲一個獨立的過程中,我將一列添加到數據庫 - 一個布爾值或時間戳 - 這表示電子郵件是否已被髮送。然後設置一個cron作業爲這些記錄發送電子郵件。
這也可以更容易地限制一次發送的電子郵件數量。
通過exec
exec('mailer.php &');
您需要'>/dev/null 2>&1&'100%確定它會立即釋放,有時'&'本身不會削減它。你需要在其他地方發送'STDOUT'和'STDERR'。 – DaveRandom 2012-01-12 15:42:57
是的。這絕對有道理。我想我會這樣做。 – Siddharth 2012-01-12 15:59:12