我的PHP代码超时时出现以下错误:
此请求处理时间过长,服务器超时。如果不应该超时,请联系本网站的管理员以增加“连接超时”
我不确定为什么会这样。这是我的代码:
if(!in_array($name,$names)){
mysql_query("INSERT INTO `tbl` (`name`, `time`, `link`) VALUES ( '$name', '$time', '$link');");
} else {
mysql_query("UPDATE `tbl` SET `time` = '$time', `link` = '$link' WHERE `pishkhan`.`name` = $name;");
echo $name.'<br/>';
}
file_put_contents('test/albums/news/'.$name.".jpg", fopen($link, 'r'));
答案 0 :(得分:7)
正如我在my answer here中所述,这个特殊的错误消息是由LiteSpeed Web服务器生成的(Apache的更快替代品)。它具有一个特殊功能,可以取消长时间运行的脚本(甚至是那些使用set_time_limit()
的脚本)。要禁用此功能,您需要将以下内容放在网站根目录的.htaccess
文件中。
RewriteEngine On
RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]
答案 1 :(得分:3)
您可以将set_time_limit
设置为比默认值30s更大的值。但是从你的代码中,我不明白为什么它必须超时。也许一些配置问题?像mysql连接太长了?
此外,请勿使用已弃用的mysql_*
函数。使用mysqli_*
或PDO。
答案 2 :(得分:0)
听起来主机限制了执行时间。也许在运行循环之前要考虑设置时间限制? http://php.net/manual/en/function.set-time-limit.php