PHP - 无法上传大于 25MB 的文件
PHP - can't upload files larger than 25MB
我正在自己的 IIS 服务器上摆弄 BlueImp's jQuery File Upload 脚本。这个想法是做一个海量文件上传系统,这样人们就可以上传和存储最大的文件(我想要的是每个文件最大 500MB)。
脚本当前配置如下:
$options = array(
'image_versions' => array(),
'acceptFileTypes' => '/(\.|\/)(gif|jpe?g|png|avi|mp4|mpg|mkv|mov|wmv|flv)$/i',
'maxFileSize' => 500 * 1014 * 1024
);
这应该允许每个多媒体文件的最大扩展名。每个文件 500MB。但是,经过测试,一旦文件大小超过 10MB,它似乎就会失败。大于该文件的文件不会被存储。
经过一番搜索,我将 php.ini 设置更新为一些离谱的高值:
post_max_size = 500M
upload_max_filesize = 500M
max_file_uploads = 100
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1024M
这部分修复了问题。我现在可以上传更大的文件。但是,当文件大于 25MB 时,它仍然会卡住。不要认为这是执行时间,因为在我的本地网络上上传 100MB 或更多只需要几秒钟。 运行 phpinfo() 确认 php.ini 中的所有值都被正确解释(并且没有被主值覆盖)。
有谁知道可能导致大文件上传失败的原因吗?
请注意,不仅 PHP 对文件上传设置了限制,IIS 也设置了限制。
根据 this website,您可以提高网站上传大小限制,将以下内容添加到与您的网站相关的 web.config
文件中:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000"/>
</requestFiltering>
</security>
</system.webServer>
这据说适用于 IIS7
我正在自己的 IIS 服务器上摆弄 BlueImp's jQuery File Upload 脚本。这个想法是做一个海量文件上传系统,这样人们就可以上传和存储最大的文件(我想要的是每个文件最大 500MB)。
脚本当前配置如下:
$options = array(
'image_versions' => array(),
'acceptFileTypes' => '/(\.|\/)(gif|jpe?g|png|avi|mp4|mpg|mkv|mov|wmv|flv)$/i',
'maxFileSize' => 500 * 1014 * 1024
);
这应该允许每个多媒体文件的最大扩展名。每个文件 500MB。但是,经过测试,一旦文件大小超过 10MB,它似乎就会失败。大于该文件的文件不会被存储。
经过一番搜索,我将 php.ini 设置更新为一些离谱的高值:
post_max_size = 500M
upload_max_filesize = 500M
max_file_uploads = 100
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1024M
这部分修复了问题。我现在可以上传更大的文件。但是,当文件大于 25MB 时,它仍然会卡住。不要认为这是执行时间,因为在我的本地网络上上传 100MB 或更多只需要几秒钟。 运行 phpinfo() 确认 php.ini 中的所有值都被正确解释(并且没有被主值覆盖)。
有谁知道可能导致大文件上传失败的原因吗?
请注意,不仅 PHP 对文件上传设置了限制,IIS 也设置了限制。
根据 this website,您可以提高网站上传大小限制,将以下内容添加到与您的网站相关的 web.config
文件中:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="524288000"/>
</requestFiltering>
</security>
</system.webServer>
这据说适用于 IIS7