Webmin / Virtualmin-处理大文件-内部服务器错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webmin / Virtualmin-处理大文件-内部服务器错误相关的知识,希望对你有一定的参考价值。

我正在使用php脚本将数组的唯一值插入数据库。这是脚本

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

if (isset($_POST['submit'])) {
    $df = $_POST['df'];

    $arr = array();
    $file = fopen('files/'.$df.'.csv', 'r');
    while (($line = fgetcsv($file)) !== false) {
        $arr[] = $line[2];
    }
    $arruniq = array_unique($arr);
    fclose($file);
    $arr_count = count($arr);

    $time = strtotime(date_default_timezone_get());
    $ts = date("Y-m-d H:i:s", $time);

    $mysqli = new mysqli("localhost", "root", "pass", "tab");
    if ($mysqli === false) {
        die("ERROR: DB could not connect. ");
    }

    $sqlins = "insert into tab (created_time, uniq_id) values (?, ?);";
    for ($i = 0; $i < $arr_count; $i++) {
        if ($stmt = $mysqli->prepare($sqlins)) {
            $stmt->bind_param("ss", $ts, $arruniq[$i]);
            $stmt->execute();
        } else {
            echo "ERROR: Could not prepare query";
        }
    }
    $mysqli->close();
}

脚本正在读取CSV文件,将值唯一并插入数据库。这是问题所在,如果文件较小,则脚本可以正常运行,但是如果使用较大的文件,则会出现此“ 500内部服务器错误”。

服务器PHP日志以及apache日志中没有显示或记录错误。>>

[我什至使用ini_set('memory_limit','2048M');max_execution_time标头也增加了脚本的执行时间和脚本的内存限制,但它们也不起作用。

我正在使用PHP脚本将数组的唯一值插入数据库。这是脚本ini_set('display_errors',1); ini_set('display_startup_errors',1); error_reporting(E_ALL);如果(...

答案

这是脚本执行时间的问题。由于我使用的是webmin / virtualmin max_execution_time

另一答案

如果使用准备好的报表和交易,应该会更快。

以上是关于Webmin / Virtualmin-处理大文件-内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

Cloudflare 开启时 Virtualmin-Webmin 无法访问

如何设置我的 VPS Webmin/Virtualmin 服务器以在托管网站中显示来自 MongoDB 的数据?

如何在 Virtualmin 上禁用 root 登录

Webmin - 我的电子邮件将进入垃圾文件夹

如何在 Virtualmin 子服务器中设置文档根目录?

Webmin:是目前功能最强大的基于Web的Unix系统管理工具