我们有一个管理屏幕,用户可以在其中编辑大量数据,此外还可以输入几十个类型的文件。
在PHP中,每个文件输入都注入到名为$_FILES
的超全局变量中。
在我的本地开发环境中,一切工作正常, 问题在于,在暂存我们得到的数据时,数据是不完整的。
如果我将相同的数据保存在暂存和本地中,那么我只能从本地获取完整的数据,而当用户尝试上传图片时,解析出的全部数据我什至没有在$_FILES
变量中看到。
所以我的问题是,分期导致此问题的限制是什么?
我或多或少具有相同的php.ini设置(max_post_size,max_upload_size等。),并且我无权在登台中编辑设置。
$_FILES
请求的Jon Stirling
输出:
我已经将其编码为JSON,因此更具可读性。
登台输出:
{
"user_guide": {
"name": "",
"type": "",
"tmp_name": "",
"error": 4,
"size": 0
},
"instructionsData": {
"name": {
"102": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1395": {
"image": ""
},
"1398": {
"image": ""
},
"1401": {
"image": ""
},
"1404": {
"image": ""
}
}
},
"103": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1405": {
"image": ""
},
"1408": {
"image": ""
},
"1411": {
"image": ""
},
"1414": {
"image": ""
},
"1417": {
"image": ""
},
"1420": {
"image": ""
},
"1423": {
"image": ""
},
"1426": {
"image": ""
}
}
},
"105": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1428": {
"image": ""
}
}
}
},
"type": {
"102": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1395": {
"image": ""
},
"1398": {
"image": ""
},
"1401": {
"image": ""
},
"1404": {
"image": ""
}
}
},
"103": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1405": {
"image": ""
},
"1408": {
"image": ""
},
"1411": {
"image": ""
},
"1414": {
"image": ""
},
"1417": {
"image": ""
},
"1420": {
"image": ""
},
"1423": {
"image": ""
},
"1426": {
"image": ""
}
}
},
"105": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1428": {
"image": ""
}
}
}
},
"tmp_name": {
"102": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1395": {
"image": ""
},
"1398": {
"image": ""
},
"1401": {
"image": ""
},
"1404": {
"image": ""
}
}
},
"103": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1405": {
"image": ""
},
"1408": {
"image": ""
},
"1411": {
"image": ""
},
"1414": {
"image": ""
},
"1417": {
"image": ""
},
"1420": {
"image": ""
},
"1423": {
"image": ""
},
"1426": {
"image": ""
}
}
},
"105": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1428": {
"image": ""
}
}
}
},
"error": {
"102": {
"icon": 4,
"icon_inverted": 4,
"instructionData": {
"1395": {
"image": 4
},
"1398": {
"image": 4
},
"1401": {
"image": 4
},
"1404": {
"image": 4
}
}
},
"103": {
"icon": 4,
"icon_inverted": 4,
"instructionData": {
"1405": {
"image": 4
},
"1408": {
"image": 4
},
"1411": {
"image": 4
},
"1414": {
"image": 4
},
"1417": {
"image": 4
},
"1420": {
"image": 4
},
"1423": {
"image": 4
},
"1426": {
"image": 4
}
}
},
"105": {
"icon": 4,
"icon_inverted": 4,
"instructionData": {
"1428": {
"image": 4
}
}
}
},
"size": {
"102": {
"icon": 0,
"icon_inverted": 0,
"instructionData": {
"1395": {
"image": 0
},
"1398": {
"image": 0
},
"1401": {
"image": 0
},
"1404": {
"image": 0
}
}
},
"103": {
"icon": 0,
"icon_inverted": 0,
"instructionData": {
"1405": {
"image": 0
},
"1408": {
"image": 0
},
"1411": {
"image": 0
},
"1414": {
"image": 0
},
"1417": {
"image": 0
},
"1420": {
"image": 0
},
"1423": {
"image": 0
},
"1426": {
"image": 0
}
}
},
"105": {
"icon": 0,
"icon_inverted": 0,
"instructionData": {
"1428": {
"image": 0
}
}
}
}
}
}
本地输出:
{
"user_guide": {
"name": "",
"type": "",
"tmp_name": "",
"error": 4,
"size": 0
},
"instructionsData": {
"name": {
"102": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1395": {
"image": ""
},
"1398": {
"image": ""
},
"1401": {
"image": ""
},
"1404": {
"image": ""
}
}
},
"103": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1405": {
"image": ""
},
"1408": {
"image": ""
},
"1411": {
"image": ""
},
"1414": {
"image": ""
},
"1417": {
"image": ""
},
"1420": {
"image": ""
},
"1423": {
"image": ""
},
"1426": {
"image": ""
}
}
},
"105": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1428": {
"image": ""
},
"1431": {
"image": ""
},
"1434": {
"image": ""
},
"1437": {
"image": ""
}
}
},
"106": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1438": {
"image": ""
},
"1441": {
"image": ""
},
"1444": {
"image": ""
}
}
},
"109": {
"icon": "",
"icon_inverted": "",
"instructionData": {
"1447": {
"image": ""
},
"1450": {
"image": ""
},
"1453": {
"image": ""
},
"1456": {
"image": ""
},
"1459": {
"image": ""
},
"1462": {
"image": ""
},
"1465": {
"image": ""
},
"1468": {
"image": ""
},
"1471": {
"image": ""
},
"1474": {
"image": ""
},
"1477": {
"image": ""
},
"1480": {
"image": ""
},
"1483": {
"image": ""
},
"1486": {
"image": ""
},
"1489": {
"image": ""
},
"1492": {
"image": ""
},
"1495": {
"image": ""
},
"1498": {
"image": ""
},
"1501": {
"image": ""
},
"1504": {
"image": ""
},
"1507": {
"image": ""
}
}
},
....
答案 0 :(得分:0)
我发现登台中有一个名为suhosin
的模块,显然它具有更多的安全限制。
要查找我已添加到php.ini
的问题:
suhosin.simulation = 1
suhosin.log.file = 511
suhosin.log.file.name = /tmp/suhosin-alert.log
这导致我遇到错误ALERT-SIMULATION - configured fileupload limit exceeded - file dropped
,经过研究后,我不得不在php.ini
中更新这些属性:
max_file_uploads = 300
suhosin.upload.max_uploads=300
然后所有数据正确显示