Simply.com is available in english

Alteração de definições PHP com .htaccess

Saiba como alterar definições PHP como mensagens de erro, tamanho de upload, session timeout e memory limit com um ficheiro .htaccess no seu alojamento web.

Pode ajustar uma vasta gama de definições padrão do PHP com um ficheiro .htaccess.

O ficheiro deve ser colocado na pasta onde pretende que as alterações se apliquem. As alterações aplicam-se a todos os ficheiros e subpastas. Note que o ficheiro deve chamar-se ".htaccess" e, se ainda não existir, terá de o criar você mesmo com, por exemplo, um programa de FTP.

Pode ver uma lista de todas as definições do PHP aqui: http://www.php.net/manual/en/ini.list.php

Algumas definições também podem ser definidas diretamente no código PHP, com a função ini_set(). Detalhes sobre as definições, etc., podem ser encontrados no manual do PHP: http://php.net/manual/en/ini.list.php

Pode testar se as alterações foram definidas corretamente, consultando phpinfo(). Note que é a coluna "Local-value" que é aplicável.

As definições que pretende alterar devem simplesmente constar numa linha do ficheiro .htaccess. Algumas definições populares são:

Ocultar mensagens de erro

php_flag display_errors off

Aumentar o tempo de vida da sessão (timeout)

php_value session.gc_maxlifetime 3600

Aumentar o tamanho máximo de upload

php_value upload_max_filesize 512M
php_value post_max_size 512M

Aumentar o tempo máximo de execução

php_value max_execution_time 600

Aumentar o máximo de variáveis de entrada

php_value max_input_vars 20000

Desativar always populate raw post data

php_value always_populate_raw_post_data -1

Desativar o OPcache

NÃO recomendamos que desative o OPcache, pois isso pode tornar o seu website lento.

php_flag opcache.enable off

Expiração do OPcache

php_value opcache.revalidate_freq 60

Limite de memória

O memory_limit está, por padrão, definido para 2048MB em todos os alojamentos web, mas, em última instância, nunca poderá utilizar mais memória do que a incluída no pacote de alojamento web que escolheu.

Pode definir o memory_limit você mesmo. Caso necessite de mais memória, deve verificar se a causa do problema de memória não é um erro no seu código, base de dados, etc., e não simplesmente porque o memory_limit está 'demasiado baixo' - uma vez que, muitas vezes, não é esse o caso.

O memory_limit pode ser ajustado livremente através do .htaccess ou diretamente no código PHP com ini_set().

Alguns CMS (por exemplo, WordPress) definem o seu próprio memory_limit e, nesse caso, o memory_limit tem de ser definido de uma forma especial. Consulte a documentação do CMS que utiliza.

Artigo da categoria de suporte: PHP