【问题标题】:PHP File Upload problems when uploading "larger" (over 2MB) files上传“较大”(超过 2MB)文件时的 PHP 文件上传问题
【发布时间】:2012-02-02 18:16:39
【问题描述】:

我在尝试上传“更大”文件时遇到问题,我相信我被允许的限制约为 2MB。我已经上传了多个小于 2MB 的文件类型(.js、.png、.jpg、.psd、.php),但是任何超过 2MB 的文件都失败了。

  • 1.8MB psd 图片工作
  • 2.4MB psd 图像不起作用(与 1.8 相同的文件,只是更大)

我已经将 php.ini 更改为以下内容:

  • upload_max_filesize = 20M(从 2M 更改为)
  • post_max_size = 40M(从 2M 更改为)
  • max_execution_time = 60(从 45 更改)
  • max_input_time = 180(从 30 更改为)
  • memory_limit = 48M(从 8M 更改)

我还在我希望移动文件的最终目录和上传表单所在的初始目录中的 htaccess 文件中添加了以下内容:

  • LimitRequestBody 53687091

就像我提到的,上传适用于较小的文件,所以我认为它必须是对上传大小的限制,而不是表单有任何问题。

关于我接下来可以看哪里的任何想法?我希望限制为 20M,这一切都在我们的后端,需要登录才能访问该页面,所以我不担心 rouge 上传。

【问题讨论】:

  • 根据您的服务器配置方式,您可能需要重新启动 Web 服务器服务才能使更改生效。另外,什么是 phpinfo();页面展示?
  • 是否有实际的错误被抛出?还是页面只是“过期”而不导致“文件上传”结果?也许是您的代码检查大小而不是服务器软件?
  • 这个错误只是我的自定义表单错误,说上传没有完成,没有来自 apache 或 php 或任何错误。
  • 您能发布您用于表单和处理脚本的代码吗? (如果你对它感到满意,你的 phpinfo() 会打印出来?另外(长镜头),页面上是否有任何定时事件(js)运行?几年前我遇到了类似的问题,它变成了有一个 setinterval 事件正在中断上传。

标签: php forms apache upload


【解决方案1】:

在进行更改后,您是否尝试过重新启动您的网络服务器?

【讨论】:

  • 我有。有一条线对我来说很重要,临时上传位置在 php.ini 文件中被注释掉了。这应该没关系,它应该默认为其他东西,但这可能与它有关吗?
  • 仅当位置位于有限的磁盘分区或配额耗尽的卷上。
【解决方案2】:

确认您的 upload_max_filesize / post_max_size 确实已更新。 有时用户不知道要编辑哪个php.ini 文件。

最好的方法是创建文件(稍后删除)并添加以下代码:

<?php
phpinfo();
?>

运行该文件以获取您的系统设置(搜索 upload_max_filesize 等);

【讨论】:

  • 是的,我用 phpinfo() 确认了所有更改。我完全被难住了,据我所知,它应该可以工作。
  • 换句话说,我认为这家伙是想说更新你的 PHP.ini 文件,然后再试一次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-23
  • 2013-07-17
  • 1970-01-01
  • 1970-01-01
  • 2021-08-30
  • 1970-01-01
  • 2011-04-08
相关资源
最近更新 更多