我正在用 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