2013-05-19 89 views
0

我不知道它是否是正確的問題。php代碼可以執行多久?

問題是,我有一個用戶列表和他們的電子郵件存儲在我的數據庫中。

現在我想通過循環和設置時間間隔延遲(可能需要5-10秒)給所有人發送電子郵件。

foreach($users as $user){ 
    //code to send the email 
} 

我大致有大約50個用戶。那麼代碼將會執行直到循環完成?我的意思是這是一個正確的方法嗎?

如果將來有數百甚至數千用戶,該怎麼辦?

+0

然後你必須做很多操作;] –

+0

whydo你暫停循環? –

回答

4

默認的最大執行時間爲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); 
+0

這隻適用於活動時間。如果你調用'sleep()',它在等待的時間不會被計算。 –

+0

如果您將時間限制設置爲0例如:'set_time_limit(0)',它將在沒有時間限制的情況下運行 –

0

http://php.net/manual/en/info.configuration.php

默認情況下的max_execution_time爲30秒。但我不明白爲什麼當你發送電子郵件時,你想爲每個用戶拖一段腳本5-10秒。您可能想要查看一個cron作業。

+0

+1詢問暫停 –