UPDATE:安装测试 - 它的作品 - 但我的主网络不能处理600封电子邮件大约6秒 - 我有每个连接等待20秒,然后发送一个邮件 - 这些全部通过PHP多个POST请求
去我有一个包含600多封电子邮件的邮件列表 我有一个功能可以发出600多封电子邮件
不幸的是,执行时间(90秒)有一个限制 - 因此脚本在它之前被关闭完成了。我不能改变时间set_time_limit(0)
,因为它是由我的网络主机(不是在我可以更改的ini文件中)设置的
我的解决方案是从主文件发出请求到子文件每次发送大量100封邮件。但是,它们是否会立即发送 - 或者在发送下一个请求之前是否等待答案?
代码:
for($i=0;$i<$mails;$i+100) {
$url = 'http://www.bedsteforaeldreforasyl.dk/siteadmin/php/sender.php';
$myvars = 'start=' . $i . '&emne=' . $emne . '&besked=' . $besked;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $myvars);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$response = curl_exec($ch);
curl_close($ch);
}
$mails
是受助总人数
$start
是开始行号i的SQL语句
请问这个(我希望)开始6个并行连接 - 或它会(正如我担心的那样)每次都开始6次处理?
在接收脚本我有:
<br>
ignore_user_abort(true);<br>
$q1 = "SELECT * FROM maillist LIMIT $start,100 ORDER BY navn";
我不是100%肯定,但它看起来像它就要开始6个procesesses – Tomm
每个将等待对方完成 - 还是会同步? –
我不敢回答这个问题我不确定 – Tomm