0

我的数据库中有数千个电子邮件地址。我想给他们发信息。但是每次发送都会报错“500 Internal Server Error.Request Timeout.这个请求处理时间太长,是服务器超时了。如果不应该超时,请联系本站管理员增加'连接超时”。

我已将 maximum_execution_time、set_time_limit 或其他类似的设置为 0(或无限制)。最后它会请求超时。有什么解决办法吗?

我的代码

<?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 存在问题。

一个可能的解决方案是在每次迭代之前设置_time_out(0)。

于 2013-05-23T15:56:12.370 回答