【问题标题】:Upload form - can't upload / post over 120 Kb上传表单 - 不能上传/发布超过 120 Kb
【发布时间】:2013-11-19 14:06:26
【问题描述】:

我正在建立一个带有上传表单的网站。它最多只能上传 120 Kb,但如果尝试更大的内容,浏览器会超时。没有错误信息,浏览器只是超时。

到目前为止我做了什么:

  1. 更改了所有 php.ini 设置,.htaccess 设置;

  2. 尝试了不同的浏览器;

  3. 在另一台服务器(托管公司)上重建表单,它工作正常 (删除了上传中的所有内容,除了最基本的内容);

这就是它开始变得奇怪的地方。它在我朋友的电脑上运行良好。

我想我已经淘汰了:

  1. 编码 - 因为它确实有效;
  2. 服务器 - 因为它在他们的计算机和我朋友的计算机上运行良好
  3. 浏览器 - 好吧,我使用了另一家网络托管公司,并且表单可以正常使用,所以我猜这不是浏览器问题,甚至不是我的互联网连接问题,甚至可能是我电脑上的设置问题?

问题出在我的网站上,该表单不适用于超过 120 kb 的任何内容。在另一台服务器上的测试网站上,它确实有效。这只是我的电脑,它不能在其他人的电脑上工作。为什么以及为什么设置为 120 kb。我错过了什么吗?我非常个人化,就好像互联网、我的电脑或技术不喜欢我一样。

编辑 1:

我刚刚尝试了其他方法。我买了另一台电脑并在上面试了一下,以消除这是电脑问题的可能性。仍然无法在我家的另一台计算机上工作 - 所以我在考虑我的宽带提供商?但这并不能解释为什么另一台服务器上的测试网站可以正常工作??

【问题讨论】:

  • 您在更改这些设置后是否重新启动了 Apache??
  • 另外检查您的httpd.conf!也可能有一些指令!
  • 您好,我将再次检查所有这些设置并仔细检查所有内容。我会让你知道发生了什么,谢谢。
  • 你好,llia,我还没有整理好,我已经尝试了这里提到的所有内容,老实说,在我来这里之前我已经完成了大部分建议,但我有一个与我的托管公司打了很长时间的电话,他们说这可能是他们系统中的一个错误,他们会调查它。如果他们真的这样做了,我会让你知道会发生什么,但他们确实说大约需要 48 小时。
  • 好的!随时通知我!

标签: php forms .htaccess upload


【解决方案1】:

查看您的设置:

php.ini

; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size=10M

; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize=512M

; Maximum number of files that can be uploaded via a single request
max_file_uploads = 10

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30 

; Maximum amount of time each script may spend parsing request data. It's a good
; idea to limit this time on productions servers in order to eliminate unexpectedly
; long running scripts.
; http://php.net/max-input-time
max_input_time = 60

; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

编辑php.ini文件后重启你的httpd服务器,重新读取php.ini文件很重要!

确保正确设置单位。没有速记字节 比如“MB”。为此,您应该使用 "K""M""G"。 检查这个 PHP FAQ

httpd.conf 或/和.htaccess

php_value post_max_size 10M
php_value upload_max_filesize 512M

【讨论】:

  • 哇,这很快,谢谢。但这不是问题我已经消除了这些设置作为问题,因为我已经更改了它们并且它确实可以在其他人的计算机上工作。
  • 嗯.. 让我们想想它还能是什么?
  • 您在更改这些设置后是否重新启动了 Apache??
  • 你好再次感谢,我已经仔细检查了 php.ini 一切都已经完成了。重新启动阿帕奇。并且 dobule 检查了其中的设置。还是一样的问题,就像我说的那样,所以我相信设置是正确的。
  • 那么您必须检查您提供的 php.ini 是否真的是那个!尝试调试并确保您确实使用了正确的 php.ini 文件。
【解决方案2】:

如果真的只是你的电脑,那很可能浏览器的问题。您是否在计算机上尝试过不同的浏览器?您是否尝试过禁用所有浏览器插件和扩展?

【讨论】:

  • 你们真的很快,是的,我已经禁用了 Firefox 上的所有内容,我尝试过 google chrome,IE8- 不起作用。我认为这不是问题,因为我在另一台服务器上重建了表单并且它工作正常。那么,如果浏览器出现问题,为什么它会起作用?为什么所有浏览器都不允许我上传超过 120 kb 的内容????谢谢,但我不认为是这样
  • 这不是浏览器,我敢打赌!
  • 我同意;这听起来像是服务器配置问题。
  • 嗨 Ed,是的,我同意,但是什么配置 - 什么配置可以在其他人的计算机上运行,​​但不适用于我的计算机?
  • 查看 Ilia 的 cmets。听起来问题仅在于您测​​试本地副本或托管在一台特定服务器上的副本时。无论是哪个,编辑该机器的 php.ini、httpd.conf 和 .htaccess 文件。
【解决方案3】:

如果您更改了 php.ini 中的所有 PHP 设置,并且您确定它们已设置(可能是通过 phpinfo() 反映您的设置),但它仍然无法正常工作,这听起来可能是防火墙问题网络本身正在限制上传的内容。

不清楚这台服务器是什么或你在哪里设置它,但我敢打赌防火墙设置正在发挥作用。

【讨论】:

  • 是的,我想,我已经在关闭防火墙的情况下尝试过,但为什么防火墙允许它在测试网站上工作,但在我实际尝试构建的网站上却不行,这只是偏见!
  • 都是通过80/443端口发送的?防火墙真的可以在这里做什么?
  • 防火墙可以作用于开放端口以限制和调整通过开放端口的流量。
  • 杰克,很有趣,但从未听说过!感谢分享!
  • 在这里阅读更多。流量整形有时也称为 QoS。 serverfault.com/questions/154451/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-21
  • 2012-11-02
  • 2023-03-27
  • 2013-06-16
相关资源
最近更新 更多