为什么上传超过 10MB 的文件时会出现内部服务器错误?

为什么上传超过 10MB 的文件时会出现内部服务器错误?

我正在用 php 为我的网站编写自己的小型文件上传 CMS。

我遇到的问题是,每当我上传超过 13MB 左右的内容时,上传就会达到 100%,然后立即显示内部服务器错误页面,并且文件未上传。除此之外,文件上传完全正常。

作为参考,我更改了所有这些 php ini 设置,但仍然不起作用:

max_execution_time = 1200     
max_input_time = 1200   
memory_limit = 120M      
max_file_uploads =120MB  
upload_max_filesize = 120M
post_max_size = 130M

我用来存储文件的代码是在文件发布后使用的:

move_uploaded_file($_FILES["upload"]["tmp_name"], $_SERVER['DOCUMENT_ROOT']."/download/".$name);

另外,我的网站也在 fatcow 提供的虚拟服务器上运行。

在此先感谢您的帮助。

答案1

好吧,我得到了答案,但这不是一个好的答案。

显然,尽管他们的网站上没有任何地方提到,但他们服务器上的最大文件上传大小是 10MB,无论您在 php ini 中或其他地方做了什么更改。我不得不通过实时聊天和所有那些东西来了解这一点,这很糟糕。

所以给聪明人的忠告是,如果您希望上传适当大小的用户,就不要使用 fatcow 进行托管。

答案2

当 PHP 作为 fcgid 处理程序运行时,我曾见过此问题。如果您更改了设置php.ini并重新启动了服务器但无济于事,则需要设置请求头最大长度在你的http.conf

该值以字节为单位。我只需将其设置为足够大的值即可容纳您期望的最大 POST 值:

#Max request size of 13 megabytes
FcgidMaxRequestLen 13631488

相关内容