Como definir upload_max_filesize em .htaccess?

90

Eu tentei colocar estas 2 linhas

php_value post_max_size 30M
php_value upload_max_filesize 30M

no meu arquivo raiz .htaccess, mas isso me traz a mensagem de "erro interno do servidor" ...
php5 está sendo executado no servidor
. Não tenho acesso a php.ini, então acho que htaccess é minha única chance.
Você pode me dizer onde está o erro?
desde já, obrigado

T1000
fonte

Respostas:

137

php_value upload_max_filesize 30M está correto.

Você terá que entrar em contato com seus hosters - alguns não permitem que você altere os valores no php.ini

Kerry Jones
fonte
2
Obrigado, mas ini_set () não está funcionando para upload_max_filesize e post_max_size: /
T1000
quando você diz "não está funcionando" quer dizer, não trazendo o resultado desejado / produzindo um erro / outra coisa?
Kerry Jones
defina error_reporting (E_ALL) e veja se algo aparece. Fora isso, entre em contato com seu provedor de hospedagem, ele deve ser capaz de ajudá-lo. Alguns bloqueiam as alterações nessas variáveis, pois não querem que você se torne um grande site de tráfego.
Kerry Jones
14
Essas opções não podem ser definidas por ini_set (). Consulte php.net/manual/en/ini.list.php e php.net/manual/en/configuration.changes.modes.php
dev-null-morador de
Muitos hosts não permitem isso, mas você também pode criar um arquivo php.ini, colocá-lo na raiz do site e substituir os valores lá.
Erik Čerpnjak
37

Se você estiver recebendo 500 - Erro interno do servidor, significa que você não tem permissão para definir esses valores por .htaccess . Você deve entrar em contato com seus provedores de servidor web e pedir para configurar AllowOverride Optionspara seu host ou colocar essas linhas em seu arquivo de configuração de host virtual.

dev-null-morador
fonte
Obrigado. O log de erros deu alguma bobagem sobre comando inválido, que está muito longe de "Vá alterar seu arquivo de configuração de host virtual".
Altimus Prime
33
php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

Use todos os 3 em .htaccessdepois de tudo na última linha. php_value post_max_sizedeve ser mais do que os dois restantes.

Grupo VAPP
fonte
2
posso saber o motivo pelo qual php_value post_max_sizedeve ser mais do que os dois restantes?
Anusha de
@Anusha se você pensar sobre isso, você poderia estar fazendo uma postagem com dois arquivos de 30M + mais dados textuais, e isso vai custar alguns bytes adicionais, provavelmente essa é a razão
giovannipds
12

O que fazer para corrigir isso é criar um arquivo chamado php.ini e salvá-lo no mesmo local que seu arquivo .htaccess e inserir o seguinte código:

upload_max_filesize = "250M"
post_max_size = "250M"
Shaishav Shah
fonte
4
Isso funcionará apenas em alguns ambientes de hospedagem. Trabalhou para mim na minha conta de hospedagem Web Fusion.
Ian Jamieson
3

Se o seu servidor web estiver rodando php5, acredito que você deve usar php5_value. Isso resolveu o mesmo erro que recebi ao usar php_value.

PCTuneUpGuy
fonte
-2

Ambos os comandos estão corretos

php_value post_max_size 30M 
php_value upload_max_filesize 30M 

MAS para usar o .htaccessvocê tem que habilitar rewrite_moduleno arquivo de configuração do Apache. Em httpd.confencontrar esta linha:

# LoadModule rewrite_module modules/mod_rewrite.so

e remova o #.

afshin
fonte
6
IMHO, para habilitar o uso de .htaccess, tudo que você precisa fazer é definir AllowOverridepara qualquer coisa menos none. O carregamento de rewrite_moduleé necessário apenas para as diretivas ModRewrite.
RonaldPK