Como aumentar o limite de tamanho de upload de arquivo PHP
Se você tem um aplicativo da Web que envia arquivos para o servidor por meio de um script PHP, talvez tenha notado que, por padrão, não é possível fazer upload de arquivos terrivelmente grandes. Veja como mudar isso.
O motivo pelo qual o limite é definido como padrão é baixo por motivos de estabilidade e segurança - um invasor ou um script mal-intencionado pode tentar DoS em seu servidor com uploads grandes de arquivos e encerrar seu aplicativo temporariamente.
Para alterar os valores, você precisará editar o arquivo php.ini, normalmente encontrado neste caminho de arquivo:
/etc/php.ini
Aqui estão as configurações que você deseja alterar:
post_max_size
Essa configuração controla o tamanho de uma postagem HTTP e precisa ser maior que a configuração upload_max_filesize.
upload_max_filesize
Este valor define o tamanho máximo de um arquivo de upload.
memory_limit
Você vai querer certificar-se de que seu limite de memória de script está definido para um tamanho decente, provavelmente maior do que qualquer uma das outras duas configurações.
Configurando as Variáveis
Você pode definir os valores usando um valor numérico seguido de M para a quantidade de MB que você deseja alocar para cada variável. Por exemplo, para permitir o upload de 20MB, você usaria algo assim:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Você precisará reiniciar seu servidor Apache depois de fazer essa alteração, com este comando:
/etc/init.d/httpd restart
Definindo o tamanho do upload por aplicativo
Você pode fazer essa alteração de configuração para um aplicativo da Web específico, colocando-o no arquivo .htaccess, no diretório do aplicativo. Observe que isso só funcionará se o seu servidor tiver ativado substituições para seu host virtual ou servidor.
Por exemplo, você poderia colocar o seguinte no arquivo:
php_value memory_limit = 64 milhões
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Depois de salvar o arquivo, as alterações devem ser aplicadas.