0

我不知道它是否是正确的问题。

问题是,我有一个用户列表和他们的电子邮件存储在我的数据库中。

现在我想在循环的帮助下向所有人发送电子邮件并设置时间间隔延迟(可能是 5-10 秒)。

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

我大约有 50 个用户。那么代码会一直执行到循环完成吗?我的意思是这是一个正确的方法吗?

如果我将来有成百上千的用户怎么办?

4

3 回答 3

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);
于 2013-05-19T17:55:42.917 回答
0

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

默认情况下,max_execution_time 为 30 秒。但是我不明白为什么您要在发送电子邮件时为每个用户暂停脚本 5-10 秒。您可能想查看一个 cron 作业。

于 2013-05-19T17:55:43.107 回答
0

这个问题属于服务器配置的最长执行时间。您可以在此处阅读如何设置 PHP 脚本的最长执行时间?

于 2013-05-19T17:56:07.940 回答