我正在使用以下代码解码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)。
谢谢!
答案 0 :(得分:0)
最有可能导致这种情况的是PHP内存不足。
检查 memory_limit 设置下的 php.ini 并将其增加。
此外,您需要检查 max_execution_time ,以确保它没有超时。
json_encode语句之前的最后一件事: set_time_limit(0);
另外,我建议使用JMS/Serializer
等软件包答案 1 :(得分:0)
将服务器内存增加到1GB就解决了这个问题。