【发布时间】:2016-08-03 13:53:54
【问题描述】:
我正在使用以下方法解码 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)。
谢谢!
【问题讨论】:
-
PHP 错误日志是怎么说的?
-
如果您已经修改了内存限制,我猜您已经修改了错误的
php.ini文件。apache\bin` folder (affects PHP under apache) and one in thephp` 文件夹中有 2 个(仅影响 PHP CLI 模式)。 -
PHP也有时间限制,请尝试在
json_decode之前调用set_time_limit(0)。 -
JSON 是由另一个站点创建的,文件大小应该不是问题(最大 22MB)。即使是 9MB 的文件,它也会失败。所以不是重复的问题。
标签: javascript php json decode