PHP - 无法上传大于 25MB 的文件

标签 php jquery iis file-upload

我正在摆弄BlueImp's jQuery File Upload我自己的 IIS 服务器上的脚本。我们的想法是制作一个海量文件上传系统,以便人们可以上传和存储最大的文件(我想要每个文件最大 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 上运行

关于PHP - 无法上传大于 25MB 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28022537/

相关文章:

javascript - 当我将鼠标放在按钮上时,如何检测按钮的颜色是否因为 CSS 或 JavaScript 事件而改变?

model-view-controller - 如何在 IIS7 中启用 DELETE 动词?

iis - 我可以在 Windows Azure VMRole 中托管网站吗

php - fatal error : Using $this when not in object context with pdo wrapper class

php - 用户配置文件自定义 css

javascript - html 每行代码换行

javascript - Bootstrap 4 : when navbar is collapsed li item is displayed horizontally next to navbar-brand

javascript - fnAddData影响数据量为30-40K时页面加载的速度

javascript - 将 php 数组编码为 js 变量缺少一些数据?

asp.net - .Net 核心应用程序无法通过 FTP 上传,托管在 IIS 上