2010-03-11 155 views
0

我用php上传文件很麻烦。 我自己的测试很成功,但我的同事告诉我他不能更新“更大”(大约5mb)的文件。PHP文件上传

PHPINFO说: - 30 max_execution_time仅仅 - memory_limit的32 MB - 8的post_max_size MB - upload_max_filesize的10 MB

是它更好地使用FTP?问题是我无法在我的webhoster中更改这些设置。因为你的max_execution_time设置为30秒

+0

基于那些5MB左右的设置文件应该上传就好了。 – 2010-03-11 20:30:20

+0

但是它不正确:(我的同事无法更新大于5Mb的文件,它花了很长时间浏览页面,然后出现内部服务器错误 – 2010-03-11 20:37:06

回答

0

我要求的的max_execution_time和max_input_time设置的设置支持,这被设置为120最大。因此,所有上传花费的时间超过2分钟,最终导致内部服务器错误。

-1

您可以使用函数ini_set来更改这些设置()

+0

不,你不能,只有在' PHP_INI_PERDIR'的基础,请参阅:http://www.php.net/manual/en/ini.list.php – 2010-03-11 20:24:16

+0

我的Webhoster是strato.de,据我所知他没有提供任何像php_ini设置每个文件夹。 – 2010-03-11 20:38:18

1

你的脚本将不会对生产工作。这意味着您只需30秒即可在您的服务器上上传文件。如果您没有T1互联网连接,您将无法上传文件。在你上传脚本尝试运行以下命令:

set_time_limit(0); 

这将禁用的max_execution_time定义,让任何连接速度的用户使用你的脚本上传文件。在http://php.net/manual/en/function.set-time-limit.php

问候

更多信息。

+0

这是我正在考虑的一种可能性,但目前的测试结果是否定的。再次发生内部服务器错误。也许我需要使用FTP – 2010-03-11 21:17:25

1

为什么你没有错误处理来识别为什么你的同事无法上传文件?执行时间?这是内存限制吗?这是最大的邮政大小?它是上传大小吗?

您是否检查过上传文件时会发生什么?它在什么时候失败?

如果Web服务器的设置较小,那么PHP post_max_size是无关紧要的 - 您检查了吗?

HTTP上传可能无法正常工作的原因很多,但如果您的问题的答案是FTP,那么您会问错误的问题。

C.

+0

如何处理这样的错误?我的同事上传5Mb或更多的文件然后它需要很长一段时间服务器没有响应(由上传引起,我猜),然后出现内部服务器错误 PHP post_max_size是无关紧要的,如果webse rver有一个更小的设置 - 你检查过吗? PHPInfo打印出来:8Mb – 2010-03-12 07:28:55

+0

你之前没有说“它需要很长时间”。超过30秒? 如果你的网络服务器的设置较低,PHP的post_max_size设置是无关紧要的 - phpinfo只报告PHP设置 - 不是web服务器设置 – symcbean 2010-03-12 10:36:53

+0

我已经将max_input_time和max_execution_time的设置更改为无限制,但是当上传时间超过2分钟,内部服务器错误出现。我被问到webhoster的支持,看起来webser的设置较低,正如你所说的那样。 – 2010-03-16 09:59:57