Impossible de faire écho ou d'analyser de longues chaînes JSON
P粉116631591
P粉116631591 2024-03-28 09:27:52
0
1
417

Je traite un gros fichier de données JSON (25 Mo) en PHP.

Maintenant, je peux récupérer le fichier et vérifier la longueur de sa chaîne, même si je ne peux pas echo afficher la chaîne, j'obtiens 24479798.

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

Pourquoi ne puis-je pas amener json_decode au travail ? S'agit-il d'un problème de mémoire de script ou d'un problème d'encodage de caractères dans les données JSON ? Je suis coincé.

<?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

répondre à tous(1)
P粉043295337

Étant donné que vous essayez d'importer un fichier volumineux, le script prend plus de temps à s'exécuter que ce dont le navigateur/serveur a besoin et expirera avant de se terminer. Des scripts comme celui-ci doivent être exécutés à partir de la ligne de commande ou via cron pour éliminer les délais d'attente. Vous pouvez également augmenter la mémoire en ajoutant ini_set('memory_limit', '512M'); (ou une valeur plus élevée si nécessaire) au début du script pour vous assurer qu'il dispose de suffisamment de mémoire pour charger et traiter le fichier json.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!