当我的应用程序尝试解码较大(15K〜行)的JSON字符串(来自CURL)时,会出现错误信息:
允许的内存大小为134217728字节已用尽(尝试分配91字节)
我知道可以扩展内存限制或取消限制,但我宁愿避免这样做。我一直在想是否有不同的方法来解决这种问题 - 例如将JSON字符串分成小块(如array_chunk)。
更新
为了确保问题不是由应用程序中的其他函数/循环引起的,我将JSON字符串提取到文件中,并尝试从文件直接解码它(文件大小= 11.8MB)。但仍然失败。
允许的内存大小为134217728字节已用尽(尝试分配91字节)
我知道可以扩展内存限制或取消限制,但我宁愿避免这样做。我一直在想是否有不同的方法来解决这种问题 - 例如将JSON字符串分成小块(如array_chunk)。
更新
为了确保问题不是由应用程序中的其他函数/循环引起的,我将JSON字符串提取到文件中,并尝试从文件直接解码它(文件大小= 11.8MB)。但仍然失败。
$y = json_decode( file_get_contents('/var/tmp/test.txt') );
更新2 该脚本在Mac OS X环境下运行。我还在Ubunto环境(也是128M内存限制)上进行了测试,那里它完美地工作。我应该担心吗?