Apabila mengimport fail Excel ke dalam Laravel, jumlah data adalah terlalu besar dan pelayan sering mendapat 500 permintaan Apakah yang perlu saya lakukan?
我想大声告诉你
我想大声告诉你 2017-05-16 16:48:23
0
3
835

Menggunakan sambungan excel Laravel, cara mengimport lebih daripada 10,000 keping data excel dengan cepat tanpa mengubah konfigurasi pelayan tanpa melaporkan 500 ralat, terima kasih

我想大声告诉你
我想大声告诉你

membalas semua(3)
PHPzhong

Situasi ini biasanya berlaku apabila penggunaan memori melebihi konfigurasi maksimum PHP yang dibenarkan atau masa pelaksanaan terlalu lama dan tamat masa. Jika anda terus menggunakan sambungan excel Laravel dan import berdasarkan muat naik web, ia pasti akan tamat masa dan melebihi had saiz memori.

Penyelesaian adalah dengan menggunakan tugas berjadual atau baris gilir tugas Laravel.

  • Tugas bermasa

    上传文件后,定时任务去检查是否有新上传的文件,如果有就执行导入处理。
    
  • Barisan Tugas

    上传文件后,发布一个异步事件,由任务listener去异步处理excel内容的导入。
    

    Selepas import akhir selesai, tulis hasil import ke pangkalan data atau kaedah storan lain, supaya import data tak segerak tidak akan menyebabkan ralat disebabkan memori atau tamat masa.

曾经蜡笔没有小新

Ia perkara biasa. Bertemu ini agak kerap. Jadi saya membangunkan sambungan.
https://git.oschina.net/xavie...
https://github.com/xavieryang...

Masalah PHP mengimport xls sangat serius Kerana xlsx adalah pakej termampat ditambah xml, ia lebih baik daripada xls. Xls ialah fail binari yang mesti dimuatkan sepenuhnya sebelum ia boleh dihuraikan, dan penghuraian agak rumit pada masa ini PHPEXCEL yang popular sangat lambat dalam memproses xls, dan ia sering gagal menghuraikan apabila mengimport xls.

巴扎黑

Anda tidak perlu membaca item 1W ke dalam ingatan sekali gus Baca satu persatu dan simpan satu persatu

function getRows($file)
{
    $handle = fopen($file, 'rb');
    if (!$handle) {
        throw new Exception();
    }
    while (!feof($handle)) {
        yield fgetcsv($handle);
    }
    fclose($handle);
}


foreach (getRows('data.csv') as $k) {

}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan