php打印出“;“终止”;在终端上没有任何错误


php prints out "Terminated" without any error on terminal

我有这个脚本,它应该读取一个大的csv文件并将内容插入数据库(mysql(。我正在从终端ie php index.php运行脚本,但一段时间后,脚本打印出Terminated并停止运行,没有任何合理的错误。我已经把所有这些都添加到了脚本中,但仍然无法完成测试:set_time_limit(0); ignore_user_abort() ; ini_set('memory_limit','5120M'); 下面是代码的狙击手。NB我刚刚选了一小部分。

<?php
set_time_limit(0);
ignore_user_abort() ;
ini_set('memory_limit','5120M');
echo ini_get("memory_limit")."'n";
$conn = new mysqli("dbase1", "apps", "t3ck", "transactional");
$files = array("/home/username/mycsv.csv");
foreach($files as $file){
    echo "----------------------------------------------------------------------------------$file--------------------------------------------'n";
    $rows = array_map('str_getcsv', file($file));
    $csv = array();
    $array = explode(".",$file);
    $name = $array[0];
    //$service = getserviceId($name);
    foreach ($rows as $row) {
        $conn->query("INSERT INTO transactions (foreign_key, model, created, modified) VALUES (NULL, NULL, now(), now());");
        $count = $conn->insert_id;
        echo "TRX id: $count 'n";
        $no= $row[0];
        $net = "FDO";
        $query = "insert ignore into text_gf services_id,no,net,sub_date,transactions_id,created,last_delivery_date) VALUES(118,$no,$net,now(),$count,now(),now())";
        $res =$conn->query($query);
        if($res) {
            echo "$msisdn saved  'n";
        } else {
            print_r($conn->error);
            die();
        }
    }
unlink($file);
}

您调用die();,在这里您的进程停止,没有任何消息。

else {
        print_r($conn->error);
        die();
}

很抱歉提出这个愚蠢的问题。有人添加了一个每5分钟运行一次的cronjob,它会杀死所有php进程。即CCD_ 3。

我猜"Terminated"消息是由脚本通过最长执行时间引起的,您可以尝试通过在PHP中设置它来增加执行时间。

ini_set('max_execution_time', 600); //600 seconds = 10 minutes