UPDATE:セットアップをテストした - それは動作します - 私のウェブホストは約6秒で600の電子メールを扱うことができない - 私が持っていた各接続は20秒待ってから、1通のメールを送って - それらのすべてがPHP複数のポスト要求
を経て私は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