Php 将大型文件从azure网站上载到azure blob

Php 将大型文件从azure网站上载到azure blob,php,azure,blob,Php,Azure,Blob,我正在尝试将一个32MB的文件上载到Azure blob。为此,我使用uploadify,一个基于PHP的脚本 我有另一个21.9MB的文件,这个工作正常,但较大的文件一直给我一个IO错误。我已将我的user.ini限制设置为以下值: upload_max_filesize = 60M post_max_size = 60M memory_limit = 60M max_input_time = 1200 max_execution_time = 1200 我是忘了设定一个限制,还是我需要看看

我正在尝试将一个32MB的文件上载到Azure blob。为此,我使用uploadify,一个基于PHP的脚本

我有另一个21.9MB的文件,这个工作正常,但较大的文件一直给我一个IO错误。我已将我的user.ini限制设置为以下值:

upload_max_filesize = 60M
post_max_size = 60M
memory_limit = 60M
max_input_time = 1200
max_execution_time = 1200

我是忘了设定一个限制,还是我需要看看其他事情?

关于你的问题,有几件事需要理解。如果您使用基于restapi(任何编程语言PHP、C#、Java、Python、NodeJs等)的解决方案直接将blob上传/下载到Azure存储,您将不会达到这么小的限制。在这种情况下,blob大小限制由Azure blob存储设置,每个blob的当前限制为1TB

但是,当您使用web服务器上载/下载文件时,并且web服务器中存在将上载的文件存储到Azure Blob存储的代码,您将达到web服务器提供的限制。您的问题与Web服务器设置有关


我真的想在这里澄清的是,您上面所做的是修改IIS web服务器设置,以解决与在IIS web服务器中运行的Uplodify脚本相关的上载问题。任何web服务器中的文件上载都通过HTTP进行,您已更改IIS设置以通过HTTP通道接受更大的文件,更改web服务器配置在这方面对您有所帮助

我解决了这个问题,我所做的是:

upload_max_filesize = 60M
post_max_size = 60M
memory_limit = 60M
max_input_time = 1200
max_execution_time = 1200
创建一个web.config文件

<?xml version="1.0"?>

<configuration>
    <system.web>
        <!-- other settings -->
        <httpRuntime maxRequestLength="104857600" /> <!--100 MB-->
        </system.web>
        <system.webServer>
          <security>
            <requestFiltering>
              <requestLimits maxAllowedContentLength="104857600" /> <!--100 MB-->
            </requestFiltering>
          </security>
        </system.webServer>
</configuration>

我对azure不太熟悉,但对作为单个文件上传的内容有限制吗?我认为亚马逊将其限制在30兆,这就是为什么它会出现在我的脑海中。我还担心的是,除此之外,m在哪里代表文件大小,这与MB相似?我猜执行时间是以秒为单位的?是的'M'=兆字节,时间是以秒为单位的。您是否使用Windows Azure PHP SDK执行上载?这是分页blob还是块blob?您应该将解决方案作为答案发布并接受它,而不是将答案编辑到您的问题中。