$ _FILES变量中的部分数据

时间:2019-02-12 10:52:46

标签: php apache file-upload

我们有一个管理屏幕,用户可以在其中编辑大量数据,此外还可以输入几十个类型的文件。

在PHP中,每个文件输入都注入到名为$_FILES的超全局变量中。

在我的本地开发环境中,一切工作正常, 问题在于,在暂存我们得到的数据时,数据是不完整的。

如果我将相同的数据保存在暂存和本地中,那么我只能从本地获取完整的数据,而当用户尝试上传图片时,解析出的全部数据我什至没有在$_FILES变量中看到。

所以我的问题是,分期导致此问题的限制是什么?

我或多或少具有相同的php.ini设置(max_post_size,max_upload_size等。),并且我无权在登台中编辑设置。

分期规范

  • 服务器版本:Apache / 2.2.15
  • PHP 5.3.29
  • Akamai CDN

编辑

$_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": ""
          }
        }
      },
      ....

1 个答案:

答案 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

然后所有数据正确显示