Tidak dapat menggemakan atau menghuraikan rentetan JSON yang panjang
P粉116631591
P粉116631591 2024-03-28 09:27:52
0
1
419

Saya sedang memproses fail data JSON yang besar (25 mb) dalam PHP.

Kini saya boleh mendapatkan fail dan menyemak panjang rentetannya, walaupun saya tidak dapat echo mengeluarkan rentetan, saya mendapat 24479798.

di echo strlen() 之后,脚本的其余部分崩溃了,我没有得到进一步的输出,包括 echo "Made it to the Bottom";

Mengapa saya tidak boleh json_decode bekerja? Adakah ini isu memori skrip atau isu pengekodan aksara dalam data JSON? saya buntu.

<?php

error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);   

if($result = file_get_contents("test.json")){
    echo "GOT IT";
}else{
    echo "NO";
}

// This works

echo "Got to here";

// This works

echo strlen($result);

// I get "24479798", which is the file string length

var_dump($diffbotResult);

// Outputs all the JSON data, so I know I have it and it's proper JSON data

$result = json_decode($result, true);

echo json_last_error_msg();

// No output

print_r($result);

// No output

echo "Made it to the bottom";

// Does not echo out anything

?>

P粉116631591
P粉116631591

membalas semua(1)
P粉043295337

Memandangkan anda cuba mengimport fail yang besar, skrip mengambil masa lebih lama untuk dijalankan daripada yang diperlukan oleh penyemak imbas/pelayan dan akan tamat masa sebelum selesai. Skrip seperti ini perlu dijalankan dari baris arahan atau melalui cron untuk menghapuskan tamat masa. Anda juga boleh meningkatkan memori dengan menambah ini_set('memory_limit', '512M'); (atau nilai yang lebih tinggi jika perlu) pada permulaan skrip untuk memastikan ia mempunyai memori yang mencukupi untuk memuatkan dan memproses fail json.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!