php.ini e .user.ini: onde pôr cada valor e o que vale onde

Para um valor que serve a conta inteira, use o separador Options do Select PHP Version. Para um valor que só serve uma pasta, ponha um ficheiro .user.ini nessa pasta. Fora disto, tente não mexer: as outras maneiras dependem de como o PHP corre e, quando falham, falham de forma feia.

Os sítios onde um valor pode viver

Onde A quem se aplica Quando usar
Select PHP Version, separador Options Todos os sites da conta que usem essa versão do PHP. O valor é para tudo: memória, tempo, tamanhos de upload. É o primeiro sítio a tentar.
Ficheiro .user.ini A pasta onde está, e as que estão dentro dela. Só uma aplicação precisa do valor, ou o valor não está nas Options.
Linhas php_value no .htaccess Depende de como o PHP corre. Evite. Onde não são suportadas, o site inteiro dá erro 500.
Um php.ini próprio numa pasta Não conte com ele. Use o .user.ini, que faz o mesmo e é suportado.

Quando o mesmo valor está em dois sítios, ganha o mais específico: o .user.ini da pasta passa por cima das Options da conta.

Criar um .user.ini

1 No cPanel abra o File Manager, vá às Settings e ligue “Show Hidden Files”. O nome começa por ponto e fica escondido.
2 Abra a pasta do site (ou da aplicação). O ficheiro tem de estar na pasta onde o script corre, ou numa acima dela.
3 Crie um ficheiro chamado exactamente .user.ini. Não user.ini, não .user.ini.txt.
4 Escreva uma linha por valor, no formato nome = valor. Sem a palavra php_value. Comentários começam por ;.
5 Grave, e espere alguns minutos: o PHP guarda o ficheiro em memória durante um tempo antes de o voltar a ler.
6 Confirme num ficheiro com <?php phpinfo();. Na linha do valor, a coluna Local Value mostra o que vale ali, e a Master Value o de origem. Apague o ficheiro a seguir.

Um exemplo, só para mostrar a sintaxe (os valores servem de exemplo):

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120

Nem tudo se pode mudar daqui. Valores que o PHP só lê ao arrancar, como a lista de funções desactivadas ou as extensões carregadas, não se alteram num .user.ini. As extensões ligam-se no selector (ligar uma extensão). E uma linha com erro de escrita é ignorada em silêncio: se nada mudou, comece por aí.
Já existe um .user.ini e não o criou? Plugins de segurança e de cache costumam deixar um. Abra-o antes de o substituir: pode estar lá uma linha de que o plugin precisa.

Os limites mais pedidos têm artigo próprio: memória esgotada, tempo de execução e upload de ficheiros grandes. Para ver qual valor está mesmo em vigor, ver e ajustar a configuração do PHP.

Pôs o valor, esperou, e o phpinfo continua a mostrar o antigo? Diga-nos a pasta e o que escreveu.

Abrir um pedido de suporte

VEJA TAMBÉM

Ver e ajustar a configuração do PHP

Os limites do PHP: memória, tempo e tamanho de upload

Ligar ou desligar uma extensão do PHP

Mudar a versão do PHP sem partir o site

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 396,00 MT/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?