【问题标题】:PHP form upload 500kb limitPHP表单上传500kb限制
【发布时间】:2015-09-07 09:23:00
【问题描述】:

有一个奇怪的问题,我想不通。在不同的页面上有一个包含两个表单的网站 - 都将文件上传到服务器。

FormA 可以上传超过 20MB 的文件。 FormB 最多只能上传 500KB 的文件。我不知道为什么!

FormB 过去可以一次上传 30 张 300KB 左右的图片,但现在超时了。 60 秒后我收到的消息是“408 请求超时”。它一直有效,直到我开始使用 GD 在上传后更改图像,但现在即使删除了所有这些,所以表单实际上会上传文件并且什么都不做,它仍然超时。

我什至在 FormB 上复制了 FormA,但仍然存在同样的问题。

在本地主机上的 WAMP 2.5 上运行。

编辑

已在完全独立的网站(同一本地服务器)上创建了单独的表单,但在尝试上传超过 500KB 的单个文件或总大小超过 500KB 的多个文件时仍然出现超时。低于这个尺寸的任何东西都可以。这是表格:

<form action="" method="post" enctype="multipart/form-data" >
    <input name="uploads" type="file" />
    <input type="submit" name="submit" value="Upload Images" />
</form>

我已经在不编辑 PHP 文件上传大小的情况下尝试过,并且还使用 .htaccess 来增加限制:

php_value upload_max_filesize 50M
php_value post_max_size 60M
php_value max_file_uploads 50
php_value memory_limit 512M

这看起来更像是与 Apache 相关吗,因为没有任何 PHP 错误(如果我尝试上传大量文件,我确实会在 FormA 上得到),而且如果我将 phpinfo() 放在顶部表单,它永远不会显示 - 只是超时。

【问题讨论】:

  • 在你的 php 页面上写下这段代码
  • 检查phpinfo()什么是o/p
  • Bugfixer >> 完成 - 没有区别 - 在 60 秒后仍然超时。
  • @ShowStopper >> 假设你的意思是“输出”?不幸的是,在提交表单后,我无法让 phpinfo 显示任何输出,因为页面只是超时而没有显示任何通过 PHP 命令设置显示的内容。除非您希望在第一页加载之前(即在表单提交之前)使用 phpinfo?
  • 只要在任何页面使用这个功能。只是为了获取php的信息

标签: php apache wamp


【解决方案1】:

由于文件和其他&lt;input&gt; 字段都是post_max_size 的一部分,那么您应该像这样计算post_max_size:-

post_max_size = (max_file_uploads*upload_max_filesize) + space for <input> fields

这允许您上传 max_file_uploads 的文件,每个文件最多允许 upload_max_filesize

当您上传 50 个文件时,我假设您可能还会发送 50 多个其他字段,因此 + space for &lt;input&gt; fields 需要合理的额外字节数。

【讨论】:

  • 理论上我在某个时候上传了 50 个文件,但现在我上传 1 个文件时它甚至不起作用! :(
  • 您的文件上传代码是否包含对$_FILES['files']['error'] 的测试?它应该,如果它这样做了,它可能至少会给你一个关于哪里出了问题的线索! 很高兴了解您如何处理上传
  • 问题是 - 过程代码中的内容无关紧要,因为它甚至没有达到这一点。如果我将 phoinfo() 作为第一行并上传 500kb,它永远不会显示信息....只是等待和等待并等待正好60秒,然后我得到408请求超时。我随后设置了一个脚本,该脚本运行在一个包含图像和转换的文件夹(我最初尝试做的)并且一切正常 - 一次测试了大约 900 张图像。需要一段时间,但不会超时。所以这个问题似乎与 POST 相关。
  • 您是否在php error log 中查看过任何线索?
【解决方案2】:

不是这样的答案,但是在非本地网络服务器上进行测试后(它工作正常)&然后在几天后回到这个问题(在本地 PC 重新启动后)&它现在可以正常工作 - 所以似乎一直是本地问题,希望不会再次发生!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-19
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    相关资源
    最近更新 更多