0

データベースに何千ものメールアドレスがあります。彼らにメッセージを送りたい。しかし、送信するたびに「500 Internal Server Error. Request Timeout. This request takes too long to process, it is timed out by the server. If it should not be timeout, contact the administrator of this web site to increase 「接続タイムアウト」。

maximum_execution_time、set_time_limit、またはこのようなものを 0 (または無制限) に設定しました。最終的に Request Timeout になります。解決策はありますか?

私のコード

<?php
$query = mysql_query("SELECT * FROM user");
while($q=mysql_fetch_array($query)){
  // Send email to $q['user_email']
  echo "sent to ".$q['user_email'];
}
?>

タイムアウトなしでループを正常に実行した後、別のループを実行できますか?

たぶん、このようなものですか?

<?php
$query = mysql_query("SELECT * FROM user LIMIT 0,99");
while($q=mysql_fetch_array($query)){
  // Send email to $q['user_email']
  echo "sent to ".$q['user_email'];
}
//do another looping
$query = mysql_query("SELECT * FROM user LIMIT 100,199");
while($q=mysql_fetch_array($query)){
  // Send email to $q['user_email']
  echo "sent to ".$q['user_email'];
}
?>
4

1 に答える 1

0

ループ時に set_time_out 内に問題があると思います。

考えられる解決策は、すべての反復の前に set_time_out(0) にすることです。

于 2013-05-23T15:56:12.370 に答える