错误网址GET http://xxxx/getSoru.php?notin=66733,17234,65585,16126,1790,45282,2522504,36297,66733,17234,65585,16126,45282,25613,44739 ,43419,19521,49195,34736,59717,3701,11671,24810,12358,66733,17234,65585,16126,1790,45282,25613,27092,60758,21701,44739,5403 6,20215,63234,59201,43419 ,19521,49195,34736,59717,3701,11671,24810,12358,19600,67182,47380,43313,4421,44779,32417,39457,48284,19056,35821,11085,1230 6,22573,12131,19561,61720 ,3923,43192,28483,8768,26383,3758,54901,32784,1109,6860,36101,375,1547,16996,15377,37769,5248,8171,25155,49890,8658,22504,3 6297
没有错误网址GET http://xxxx/getSoru.php?notin=66733,17234,65585,16126,1790,45282,2522504,36297,66733,17234,65585,16126,45282,25613, 44739,43419,19521,49195,34736,59717,3701,11671,24810,12358,66733,17234,65585,16126,1790,45282,25613,27092,60758,21701,44739 ,54036,20215,63234,59201, 43419,19521,49195,34736,59717,3701,11671,24810,12358,19600,67182,47380,43313,4421,44779,32417,39457,48284,19056,35821,11085 ,12306,22573,12131,19561, 61720,3923,43192,28483,8768,26383,3758,54901,32784,1109,6860,36101,375,1547,16996,15377,37769,5248,8171,25155,49890,8658,22 504
删除36297号码或url中的任何号码都没有问题 getSoru.php 文件
<?php
$notin = $_GET['notin'];
echo $notin;
?>
我没有收到 414 Request-URI Too Long
错误
为什么返回空?
最佳答案
如果您urlencode()
无错误 URL 字符串,您将得到以下内容:
66733%2C17234%2C65585%2C16126%2C1790%2C45282%2C2522504%2C36297%2C66733%2C17234%2C65585%2C16126%2C45282%2C25613%2C44739%2C43419%2C19521%2C49195%2C34736%2C59717%2C3701%2C11671%2C24810%2C12358%2C66733%2C17234%2C65585%2C16126%2C1790%2C45282%2C25613%2C27092%2C60758%2C21701%2C44739%2C54036%2C20215%2C63234%2C59201%2C43419%2C19521%2C49195%2C34736%2C59717%2C3701%2C11671%2C24810%2C12358%2C19600%2C67182%2C47380%2C43313%2C4421%2C44779%2C32417%2C39457%2C48284%2C19056%2C35821%2C11085%2C12306%2C22573%2C12131%2C19561%2C61720%2C3923%2C43192%2C28483%2C8768%2C26383%2C3758%2C54901%2C32784%2C1109%2C6860%2C36101%2C375%2C1547%2C16996%2C15377%2C37769%2C5248%2C8171%2C25155%2C49890%2C8658%2C22504
如果您随后使用 echo $_GET['notin']
将其传递到 URL 中,它显示字符串计数为 507 的正确值:
66733,17234,65585,16126,1790,45282,2522504,36297,66733,17234,65585,16126,45282,25613,44739,43419,19521,49195,34736,59717,3701,11671,24810,12358,66733,17234,65585,16126,1790,45282,25613,27092,60758,21701,44739,54036,20215,63234,59201,43419,19521,49195,34736,59717,3701,11671,24810,12358,19600,67182,47380,43313,4421,44779,32417,39457,48284,19056,35821,11085,12306,22573,12131,19561,61720,3923,43192,28483,8768,26383,3758,54901,32784,1109,6860,36101,375,1547,16996,15377,37769,5248,8171,25155,49890,8658,22504
如果您使用下面的内容对错误 URL 执行相同的操作,您将得到 513 的字符串计数,这意味着如果 suhosin 补丁,您的字符数超出了默认字符限制已安装。
66733%2C17234%2C65585%2C16126%2C1790%2C45282%2C2522504%2C36297%2C66733%2C17234%2C65585%2C16126%2C45282%2C25613%2C44739%2C43419%2C19521%2C49195%2C34736%2C59717%2C3701%2C11671%2C24810%2C12358%2C66733%2C17234%2C65585%2C16126%2C1790%2C45282%2C25613%2C27092%2C60758%2C21701%2C44739%2C54036%2C20215%2C63234%2C59201%2C43419%2C19521%2C49195%2C34736%2C59717%2C3701%2C11671%2C24810%2C12358%2C19600%2C67182%2C47380%2C43313%2C4421%2C44779%2C32417%2C39457%2C48284%2C19056%2C35821%2C11085%2C12306%2C22573%2C12131%2C19561%2C61720%2C3923%2C43192%2C28483%2C8768%2C26383%2C3758%2C54901%2C32784%2C1109%2C6860%2C36101%2C375%2C1547%2C16996%2C15377%2C37769%2C5248%2C8171%2C25155%2C49890%2C8658%2C22504%2C36297
我怀疑您安装了 suhosin 补丁,因此您需要通过更改 PHP.ini 中的以下内容来扩展此限制:
suhosin.get.max_value_length = <limit>
参见:
关于PHP GET 错误返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41383318/