我正在开发一个在实时环境中存在问题的网站,该环境在测试环境中运行良好。
问题出在此输入字段上:name="quantity[13500:YTozOntpOjEzODkwO3M6NToiNDcxMzgiO2k6MTM4OTE7czo1OiI0NzE0NCI7aToxMzg5MjtzOjU6IjQ3MTQ4Ijt9]">
在实时环境中,这似乎没有到达(没有显示在print_r($_POST))
而名称较短的相同类型的输入字段确实到达:
name="quantity[12624:YToxOntpOjEzODg5O3M6NToiNDcxMzMiO30=]"
在我的测试环境中,它们都很好。
有谁知道我该如何解决这个问题?也许是php/apache设置吗?
编辑:
我做了一个测试代码,这在测试中有效,但在实时失败:
<? print_r($_POST); ?>
<form action="#" method="POST">
<input type="text" name="quantity[13500:YTozOntpOjEzODkwO3M6NToiNDcxMzgiO2k6MTM4OTE7czo1OiI0NzE0NCI7aToxMzg5MjtzOjU6IjQ3MTQ4Ijt9]" value="1" size="1" />
<input type="text" name="quantity[12624:YToxOntpOjEzODg5O3M6NToiNDcxMzMiO30=]" value="1" size="1" />
<input type="submit" name="go">
</form>
您的实时服务器是否使用 suhosin?
如果是这样,很可能是此设置,https://suhosin.org/stories/configuration.html#suhosin-post-max-array-index-length
suhosin.post.max_array_index_length
类型:整数
默认值:64
定义通过 POST 请求注册的变量的数组索引的最大长度。
此外,suhosin.post.max_totalname_length
可能会发挥作用(尽管默认值为 256,因此对于如图所示的参数名称,这很好。