【发布时间】:2013-05-23 15:46:35
【问题描述】:
我的数据库中有上千个电子邮件地址。我想给他们发信息。但是每次发送都会报错“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'];
}
?>
【问题讨论】:
-
是的...如果您的第一个循环有效,那么您的第二个循环也应该如此
-
set-time-limit和其他在safe-mode中不起作用。见PHP manual
标签: php timeout connection-timeout