运行环境 php + nginx
<?php
#设置执行时间不限时
header('X-Accel-Buffering: no');// 关闭加速缓冲 nginx
header('Max-Forwards: 3000');// 关闭加速缓冲 nginx
set_time_limit(0);// 引入织梦函数
require_once("../include/common.inc.php");
// var_dump($_POST);die;
$validate = empty($validate) ? '' : strtolower($validate);
$svali = GetCkVdValue();
if ($validate == "" || $validate != $svali) {
ShowMsg("安全确认码不正确!", "javascript:;");
exit();
}if (ob_get_level() == 0) //判断缓冲区等级,如果没有活动缓冲区
ob_start(); //打开缓冲区
//判断表是否存在
// 关键字
$arrss = explode("\r\n", $_POST['keyys']);
foreach ($arrss as $k => $v) {
$va = explode(' ', $v);
$txts[$va[0]] = $va[1];
}$num_t = count($txts);
$nu = 0;
$nu2 = 0;
$nu3 = 0;
$timeSjc = time();
// 创建文件
$fileNameq = "./download/".date(time().rand(1000,9999));
$myfile = fopen($fileNameq.".txt", "a") or die("无法打开文件!");
foreach ($txts as $k => $v) {
ob_flush(); //发送缓冲区数据
flush(); //刷新缓冲区
$condition = empty($condition) ? '' : " WHERE $condition ";
$dsql1 = "select aid from $exptable where $rpfield like '%{$k}%'";
$db->SetQuery($dsql1);
$db->Execute();
while ($arr = $db->GetArray()) {
$link = GetOneArchive($arr['aid']);
$arcurl = $link['arcurl'];
$mmsg = '“'.$k.'”替换“'.$v . '”-' . $arcurl . "\r\n";
fwrite($myfile, $mmsg);
}
$rs = $dsql->ExecuteNoneQuery2("UPDATE $exptable SET $rpfield=REPLACE($rpfield,'$k','$v') $condition ");
$nu++;
$dsql->ExecuteNoneQuery("OPTIMIZE TABLE `$exptable`");
if ($rs) {
$nu2++;
$nurl = "article_keywords_make.php?dopost=fetch&totalnum=$totalnum&startdd=".($startdd+$pagesize)."&pagesize=$pagesize";
ShowMsg2($nu . "/" . $num_t . "“" . $k . "”替換“" . $v . "”已完成!", "javascript:;");
} else {
$nu3++;
ShowMsg2($nu . "/" . $num_t . "“" . $k . "”替換“" . $v . "”未找到鍵字!", "javascript:;");
}
}
$sj = time()-$timeSjc;
ShowMsg2("共查找".$num_t."个关键词<br>".$nu2 ."个关键字替換成功<br>" . $nu3 . "个关键字没有找到<br>共花费时间 ".$sj." 秒<br><a id='download1' download='".$fileNameq.".txt' href='".$fileNameq.".txt'>点击这里下载以替换的链接</a>", "javascript:;");
fclose($myfile);
以上是代码,本地运行没有问题,服务器运行到1.8分钟时候自动停止浏览器错误信息
net::ERR_HTTP2_PROTOCOL_ERROR 200
<?php
#设置执行时间不限时
header('X-Accel-Buffering: no');// 关闭加速缓冲 nginx
header('Max-Forwards: 3000');// 关闭加速缓冲 nginx
set_time_limit(0);// 引入织梦函数
require_once("../include/common.inc.php");
// var_dump($_POST);die;
$validate = empty($validate) ? '' : strtolower($validate);
$svali = GetCkVdValue();
if ($validate == "" || $validate != $svali) {
ShowMsg("安全确认码不正确!", "javascript:;");
exit();
}if (ob_get_level() == 0) //判断缓冲区等级,如果没有活动缓冲区
ob_start(); //打开缓冲区
//判断表是否存在
// 关键字
$arrss = explode("\r\n", $_POST['keyys']);
foreach ($arrss as $k => $v) {
$va = explode(' ', $v);
$txts[$va[0]] = $va[1];
}$num_t = count($txts);
$nu = 0;
$nu2 = 0;
$nu3 = 0;
$timeSjc = time();
// 创建文件
$fileNameq = "./download/".date(time().rand(1000,9999));
$myfile = fopen($fileNameq.".txt", "a") or die("无法打开文件!");
foreach ($txts as $k => $v) {
ob_flush(); //发送缓冲区数据
flush(); //刷新缓冲区
$condition = empty($condition) ? '' : " WHERE $condition ";
$dsql1 = "select aid from $exptable where $rpfield like '%{$k}%'";
$db->SetQuery($dsql1);
$db->Execute();
while ($arr = $db->GetArray()) {
$link = GetOneArchive($arr['aid']);
$arcurl = $link['arcurl'];
$mmsg = '“'.$k.'”替换“'.$v . '”-' . $arcurl . "\r\n";
fwrite($myfile, $mmsg);
}
$rs = $dsql->ExecuteNoneQuery2("UPDATE $exptable SET $rpfield=REPLACE($rpfield,'$k','$v') $condition ");
$nu++;
$dsql->ExecuteNoneQuery("OPTIMIZE TABLE `$exptable`");
if ($rs) {
$nu2++;
$nurl = "article_keywords_make.php?dopost=fetch&totalnum=$totalnum&startdd=".($startdd+$pagesize)."&pagesize=$pagesize";
ShowMsg2($nu . "/" . $num_t . "“" . $k . "”替換“" . $v . "”已完成!", "javascript:;");
} else {
$nu3++;
ShowMsg2($nu . "/" . $num_t . "“" . $k . "”替換“" . $v . "”未找到鍵字!", "javascript:;");
}
}
$sj = time()-$timeSjc;
ShowMsg2("共查找".$num_t."个关键词<br>".$nu2 ."个关键字替換成功<br>" . $nu3 . "个关键字没有找到<br>共花费时间 ".$sj." 秒<br><a id='download1' download='".$fileNameq.".txt' href='".$fileNameq.".txt'>点击这里下载以替换的链接</a>", "javascript:;");
fclose($myfile);
以上是代码,本地运行没有问题,服务器运行到1.8分钟时候自动停止浏览器错误信息
net::ERR_HTTP2_PROTOCOL_ERROR 200
php 的限定日期在ini里面为300,脚本中我设置了不限时,nginx的执行时间我设定了300,可是一到110左右秒的时候就自动停止。