我不知道它是否是正確的問題。php代碼可以執行多久?
問題是,我有一個用戶列表和他們的電子郵件存儲在我的數據庫中。
現在我想通過循環和設置時間間隔延遲(可能需要5-10秒)給所有人發送電子郵件。
foreach($users as $user){
//code to send the email
}
我大致有大約50個用戶。那麼代碼將會執行直到循環完成?我的意思是這是一個正確的方法嗎?
如果將來有數百甚至數千用戶,該怎麼辦?
我不知道它是否是正確的問題。php代碼可以執行多久?
問題是,我有一個用戶列表和他們的電子郵件存儲在我的數據庫中。
現在我想通過循環和設置時間間隔延遲(可能需要5-10秒)給所有人發送電子郵件。
foreach($users as $user){
//code to send the email
}
我大致有大約50個用戶。那麼代碼將會執行直到循環完成?我的意思是這是一個正確的方法嗎?
如果將來有數百甚至數千用戶,該怎麼辦?
默認的最大執行時間爲30
秒。您可以通過轉至php.ini
文件並更改max_execution_time
選項輕鬆修改此選項。
如果您希望修改PHP腳本中的最大執行時間,可以使用此函數:set_time_limit (int $seconds)
,稍後還可以恢復這些更改。
//Settings time limit to 0 will make the script execute without time limit(see comments).
set_time_limit (0);
foreach($users as $user){
//code to send the email
}
set_time_limit (30);
這隻適用於活動時間。如果你調用'sleep()',它在等待的時間不會被計算。 –
如果您將時間限制設置爲0例如:'set_time_limit(0)',它將在沒有時間限制的情況下運行 –
http://php.net/manual/en/info.configuration.php
默認情況下的max_execution_time爲30秒。但我不明白爲什麼當你發送電子郵件時,你想爲每個用戶拖一段腳本5-10秒。您可能想要查看一個cron作業。
+1詢問暫停 –
此問題屬於服務器配置最大時間執行。你可以在這裏閱讀How can I set the maximum execution time for a PHP script?
然後你必須做很多操作;] –
whydo你暫停循環? –