我不知道它是否是正确的问题。
问题是,我有一个用户列表和他们的电子邮件存储在我的数据库中。
现在我想借助循环向所有人发送电子邮件并设置时间间隔延迟(可能是5-10秒)。
foreach($users as $user){
//code to send the email
}
我大约有50个用户。那么代码会执行,直到循环完成?我的意思是这是一种正确的做法吗?
如果将来我有数百甚至数千名用户,该怎么办?
答案 0 :(得分: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);
答案 1 :(得分:0)
http://php.net/manual/en/info.configuration.php
默认情况下,max_execution_time为30秒。但是我不明白你为什么要在发送电子邮件时为每个用户停止脚本5-10秒。你可能想看看一个cron作业。
答案 2 :(得分:0)
此问题属于服务器配置以执行最长时间。你可以在这里阅读How can I set the maximum execution time for a PHP script?