php json_decode不适用于大字符串

时间:2016-12-21 08:23:29

标签: php

任何人都可以帮我解决json_decode问题,这是我的json字符串工作正常 -

{"323":"723","317":"704","316": {"date":"28\/12\/2016"},"314":"701","315": {"area":"sdfgdfg"}}

但如果我再添加一个键值对,则json_decode函数不起作用。

{"336":"761","323":"723","317":"704","316": {"date":"28\/12\/2016"},"314":"701","315": {"area":"test"}}

第二个字符串不起作用,但在我的本地系统中,两个字符串都正常工作,我需要检查的php配置参数是什么?我增加了内存限制最长执行时间最大帖子大小我需要检查的其他内容,请帮忙。

已更新以下是我的代码 -

$arrProducts = array(
        array(
            "product_id" => $_REQUEST['product_id'],
            "qty" => $_REQUEST['quantity'],
            "options" => json_decode($_REQUEST['product_options'], true),
            "sku" => $_REQUEST['sku'],
            "store_id" => 1
        )
    );
print_r($arrProducts);

它为第二个字符串打印空白数组。

我已检查错误日志,它显示 - PHP警告:未知:POST内容 - 长度为274字节超过了第0行未知的256字节限制

1 个答案:

答案 0 :(得分:1)

这里的问题很容易引起误解,   您面临的问题不是json_decode无法解码而是POST最大大小超过

您可以在php.ini文件中找到类似以下内容的内容

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 256

将上述内容更改为

post_max_size = 8M

即8M作为职位大小限制

如果您使用的是apache,您可能需要更改.htaccess。 以下是#post_max_size

的参考