PHP 文件在执行过程中抛出 404(约 45 秒后)

PHP File throwing 404 in the middle of executing (After ~45 seconds)

我在一个没有相关执行时间限制的文件夹中有一个脚本(我经常从这个目录中 运行 一个小时长的脚本),其中有一个文件。该文件从 codeingiter 视图上的 html 表单调用,并上传一个 csv 文件,读取它并使用其中包含的信息更新数据库条目。

如果我有一个较小的 csv 文件(1-1000 个条目),它工作正常。超出此范围的任何内容都将处理大约 1000 个条目(包括将调试文本回显到屏幕上),然后抛出 404 错误。

从那以后,我试图通过让 post 页面进行 ajax 调用来规避错误,但它做的事情完全相同。

"NetworkError: 404 Not Found - xxxx/xxxx/xxxxx.php"

我已通过确认数据库中的更改并在屏幕上看到回显的调试代码,确认脚本 运行ning 在 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

Image of 404 rendering after text is echo'd

我找到了跳闸的设置。 不是使用标准 php 最大执行时间,而是从 FastCGI 设置中命中超时。来自 AJAX 发布或读取操作。

不管怎样,我在服务器上的 apache 设置中增加了 FcgidIOTimeout,并且能够执行完整的脚本。