使用大文件时,带有json_decode的HTTP ERROR 500

时间:2016-08-03 13:53:55

标签: javascript php json decode

我正在使用以下代码解码JSON文件:

$filename = 'file.json';
$json = file_get_contents($filename);
$data = json_decode ($json,true);

对于不大的文件,这非常适用。它在XAMMP json_decode中也可以正常工作。

小文件工作正常,但一旦它们变大(几MB +),HTTP 500错误就会启动。

$ filename在PHP中加载得很好,所以这不是问题。

任何人都知道这是JSON处理大文件或服务器设置的限制(在PHP中将内存和时间限制已经设置为-1和0)。

谢谢!

2 个答案:

答案 0 :(得分:0)

最有可能导致这种情况的是PHP内存不足。

检查 memory_limit 设置下的 php.ini 并将其增加。

此外,您需要检查 max_execution_time ,以确保它没有超时。

json_encode语句之前的最后一件事: set_time_limit(0);

另外,我建议使用JMS/Serializer

等软件包

答案 1 :(得分:0)

将服务器内存增加到1GB就解决了这个问题。