以下是我在php中的代码:
set_time_limit(0);
$sql="select * from Words where `Ph`=\"to be added\"";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result))
{
$url = 'http://somewebsite.com?word='.$row["Word"];
if (!$str = file_get_contents($url)) {
$error = error_get_last();
echo "<font color='red'>FORGET ".$row['Word']."</font><br>";
}
else{
preg_match_all("/<div>\/(.+?)\/(,<img url=.*>)<\/div>/s", $str, $matches);
$sqlupdate="UPDATE Words SET `Ph`=\"".$matches[1][0]."\" WHERE `Word`="."\"".$row["Word"]."\";";
echo $sqlupdate."<br>";
}
}
这涉及2679条记录。我一直在从localhost运行它,数据库在远程服务器中。我已将CGI的超时更改为01:15:00,FastCGI应用程序的应用程序超时为1200,实例MaxRequests为10000,请求超时为1200,但我仍然收到错误。如果我通过在查询中指定范围来缩小要更新的记录数,我只能防止错误。我已经做了一段时间了,但我想知道是否有解决这个问题的方法,因为这会非常有帮助。谢谢。