Configurações do PHP não suportam grandes uploads de arquivos
IIS 7 e seus arquivos de configuração não suportam grandes arquivos
Como resolver
Configurações do PHP
Você deverá abrir o arquivo PHP.ini, que conterá as seguintes variáveis para suportar upload de grandes arquivos:
upload_max_filesize: é a variável mais importante do PHP.ini para upload de arquivos, você deve setá-la para o tamanho máximo de arquivo que deseja trabalhar
post_max_size: variável que determina o tamanho do POST que o PHP irá processar, aconselho a colocar do mesmo tamanho da upload_max_filesize
max_execution_time: guarda o tempo máximo de execução em segundos do script PHP. Caso tenha alguma lógica complicada ou demorada no manuseio do arquivo, faça os cálculos e coloque um tempo razoável.
max_input_time: guarda o tempo máximo em segundos que o PHP irá “gastar” recendo dados, seja via post, get, put. Então para grandes arquivos e dependendo das conexões entre o cliente e o servidor esse número deverá ser algo em torno de 15 a 20 minutos. Mas de qualquer maneira, faça os cálculos.
memory_limit: a memória também deverá ser alterada para suportar o trabalho com grandes arquivos.
Meus caros, contudo isso em qualquer outro servidor linux já resolveria nossos problemas, já para um servidor windows será necessário ainda configurar como o IIS se comunica com o FastCGI.
Configurações do IIS 7 + web.config
No IIS 7 você deverá configurar novamente os limites de tempos de execução e o tamanho da requisição aceita.
No arquivo web.config acrescente dentro das tags de configuration:
<system.web><httpRuntime enable=”true” maxRequestLength=”1073741824″ executionTimeout=”9600″ maxWaitChangeNotification=”1800″ ></httpRuntime></system.web>
Que definirá o tamanho aceito em bytes da requisição (1gb nesse caso), o tempo de execução em segundos e o tempo de espera.
E os limites de requisições também no que tange a segurança, também setado para 1gb.
<system.webServer><security> <requestFiltering> <requestLimits maxAllowedContentLength=”1073741824″ /> </requestFiltering> </security></system.webServer>
Além do web.config, que é um arquivo do próprio projeto, pode ser que seja necessário atualizar algumas varíaveis do próprio IIS 7, que se encontram no arquivo %system32%inetsrvconfigapplicationHost.config procurará a tag fastcgi e alterará o handler do PHP para algo parecido:
<application fullPath=”C:Program Files (x86)PHPv5.3php-cgi.exe” monitorChangesTo=”C:Program Files (x86)PHPv5.3php.ini” activityTimeout=”1800″ requestTimeout=”1800″ instanceMaxRequests=”10000″>
<environmentVariables> <environmentVariable name=”PHP_FCGI_MAX_REQUESTS” value=”10000″ /> <environmentVariable name=”PHPRC” value=”C:Program Files (x86)PHPv5.3″ /> </environmentVariables>
</application>
Acho que é isso, se alguém tiver alguma dúvida, basta comentar abaixo que tentaremos ajudar.
Cordialmente,]]>