【发布时间】:2017-03-16 02:09:02
【问题描述】:
我在一个没有相关执行时间限制的文件夹中有一个脚本(我经常从这个目录运行长达一小时的脚本),其中有一个文件。该文件从 codeingiter 视图上的 html 表单调用,并上传一个 csv 文件,读取它并使用其中包含的信息更新数据库条目。
如果我有一个较小的 csv 文件(1-1000 个条目),它可以正常工作。超出此范围的任何内容将处理大约 1000 个条目(包括在屏幕上回显调试文本),然后引发 404 错误。
此后,我试图通过使帖子页面进行 ajax 调用来规避该错误,但它的作用完全相同。
“网络错误:404 未找到 - xxxx/xxxx/xxxxx.php”
通过确认数据库中的更改并在屏幕上看到 echo 的调试代码,我已确认脚本在 404 之前运行。
抛出 404 时正在执行的代码... (简而言之,将 id(第一列)更新为 csv 文件中的值(第二列)。
if(file_exists($targetdir))
{
$file = fopen($targetdir, 'r');
$count = 0;
while(!feof($file))
{
$x = (fgetcsv($file));
if(is_numeric($x[1]) && $x[1] > 9999 && $x[0] != '-')
{
$count++;
// echo "UPDATE xxxx SET xxxxx ='".$x[0]."' WHERE id=".$x[1];
$db->query("UPDATE xxxx SET xxxxx ='".$x[0]."' WHERE id=".$x[1]);
//echo $x[1].' - '.$x[0]."<br/>";
}
}
fclose($file);
}
编辑 看起来 Jquery 正在抛出错误?我四处搜索,看到有人说这是服务器设置(但不是什么服务器设置,所以为了它,我将最大执行时间设置为 300 秒并得到相同的结果)。
xxxxx.php 404 xhr jquery-1.12.4.min.js:4 1.6 KB 40.07
【问题讨论】:
-
我怀疑是 php 代码。您必须检查服务器配置。除非您明确告诉它,否则 php 脚本不会随机抛出 404。服务器可能会因超出执行时间限制而终止它,但为什么会显示为 404 是……很奇怪。
-
发生这种情况时,您是否听到了暮光之城的主题曲?可能是服务器配置错误,当它应该发送 408 时给出 404?
-
我现在正在研究它,但相对于其他一些运行的脚本,它会在短时间内抛出 408?与运行近一个小时而没有问题的一些脚本相比,我说的是一分钟......谢谢!
标签: php ajax csv runtime-error http-status-code-404