Php 将大型文件从azure网站上载到azure blob
我正在尝试将一个32MB的文件上载到Azure blob。为此,我使用uploadify,一个基于PHP的脚本 我有另一个21.9MB的文件,这个工作正常,但较大的文件一直给我一个IO错误。我已将我的user.ini限制设置为以下值: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 我是忘了设定一个限制,还是我需要看看
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?您应该将解决方案作为答案发布并接受它,而不是将答案编辑到您的问题中。