当提交带有超过POST内容长度限制的文件附件的表单时,我会收到以下警告
Warning: POST Content-Length of 143854246 bytes exceeds the limit of 134217728 bytes in Unknown on line 0我的问题是,出于某种原因,PHP的行为就好像$_POST['form_input_field']不存在,而我得到了这个错误。
Undefined index: form_input_field ...输入存在并包含值,如果文件没有超过限制,PHP就可以得到它。
我通过添加isset isset($_POST['form_input_field'])来解决这个问题。但是对于为什么PHP不能获得$_POST['form_input_field'],有什么解释吗?
编辑:
我对这个限制没有问题,也不想增加它。
编辑我无意增加上传限制。我只想知道为什么PHP会在警告之后认为$_POST['form_input_field']不存在。
发布于 2016-05-09 05:33:36
要回答实际的问题:“对于为什么PHP不能获得输入有解释吗?”在“我没有问题,我不想增加限制”的情况下:
这是PHP的一种奇怪行为,它会删除所有其他POST数据,以防超出该限制。可能是这样的,因为如果文章的某一部分违反了规则,文章就会全部无效(这是有道理的)。
如果post数据的大小大于post_max_size,则$_POST和$_FILES超全局值为空。
你可以在这里读到http://php.net/manual/en/ini.core.php#ini.post-max-size
发布于 2016-05-09 05:14:56
你应该提高你的职位限制
使用php.ini
post_max_size=20M
upload_max_filesize=20M使用.htaccess / httpd.conf /虚拟主机包括
php_value post_max_size 20M
php_value upload_max_filesize 20M备注:20M代表一个示例,根据您的需要修改它
https://stackoverflow.com/questions/37108095
复制相似问题