Resolução de problemas
Extensões e Configurações PHP
Which PHP versions and extensions KapsuleHost web hosting provides, which settings you can change yourself, and why a change can take up to five minutes to appear.
Quais versões PHP e extensões o KapsuleHost fornece, quais configurações você pode alterar por conta própria e por que uma alteração pode levar até cinco minutos para aparecer.
Tudo relacionado a PHP para um site fica em um único lugar: Websites, clique no site, Advanced, depois PHP. Essa página contém o seletor de versão, as configurações que você pode alterar, um executor de Composer e o log de erros do PHP.

Escolhendo uma Versão do PHP
Quatro versões são selecionáveis: 8.4, 8.3, 8.2 e 8.1. Novos sites usam como padrão a versão 8.3.
Escolha a versão mais recente que seu software realmente suporta. PHP mais recente é significativamente mais rápido e é suportado com correções de segurança por mais tempo. O motivo para não pular direto para a versão mais recente é a compatibilidade: um plugin antigo ou um código personalizado escrito anos atrás pode falhar completamente em uma versão que nunca foi testada.
Para alterar, selecione a versão e clique em Apply Version. A alteração entra em vigor imediatamente, sem necessidade de reinicialização da sua parte e sem tempo de inatividade.
Altere a versão do PHP no staging primeiro, clique no site e somente depois altere na produção. Se você precisar fazer isso ao vivo, faça quando puder acompanhar e saiba que voltar é um único clique. Veja Staging Environments.
Se uma alteração de versão quebrar o site, volte para a versão anterior e leia o log. O erro nomeará o arquivo que não pôde ser executado. Veja Changing PHP Version e Error Logs.
Configurações que Você Pode Alterar
A página PHP expõe cinco configurações como listas suspensas. Estas são as que realmente causam problemas na prática, e é por isso que são as únicas expostas.
| Configuração | Padrão | Valores disponíveis | O que controla |
|---|---|---|---|
memory_limit | 256M | 128M, 256M, 512M, 1024M, 2048M | Quanto de memória uma solicitação pode usar |
max_execution_time | 30 | 30, 60, 120, 300, 600 | Quantos segundos uma solicitação pode executar |
upload_max_filesize | 64M | 16M, 32M, 64M, 128M, 256M | O maior arquivo único que pode ser enviado |
post_max_size | 65M | 17M, 33M, 65M, 129M, 257M | O maior envio total de formulário |
max_input_vars | 3000 | 1000, 3000, 5000, 10000 | Quantos campos um envio pode conter |
Qual você precisa:
- Envios falhando acima de um certo tamanho: aumente
upload_max_filesizeepost_max_sizejunto com ela. - Um formulário grande ou um construtor de páginas perdendo campos ao salvar: aumente
max_input_vars. Este é invisível e frustrante, porque nada gera erro. Os campos extras são silenciosamente descartados. - Uma página morrendo no meio sem erro: aumente
memory_limit. Veja WordPress Memory Limit. - Uma importação ou exportação longa expirando: aumente
max_execution_timee considere executar o trabalho pela linha de comando. Veja WP-CLI.
post_max_size deve ser maior que upload_max_filesize, porque o envio viaja dentro do post. Se você escolher uma combinação onde isso não for verdade, a plataforma corrige post_max_size para você. É por isso que você pode ver um valor que não escolheu.
Por que uma Alteração Leva até Cinco Minutos
Esta é a confusão mais comum nesta página, então vale a pena ser preciso.
Suas configurações são escritas em um arquivo .user.ini na raiz do documento do seu site. O PHP lê esse arquivo e então o coloca em cache por 300 segundos, que é cinco minutos. Até que esse cache expire, o PHP continua usando os valores anteriores.
Então, após salvar uma alteração:
- A página ainda reportará o limite antigo por até cinco minutos.
phpinfo()ainda reportará o limite antigo por até cinco minutos.- Uma atualização forçada não ajuda. Nem limpar o cache do navegador.
- Você não precisa reiniciar nada e não pode. Apenas aguarde.
Se passaram mais de cinco minutos e o valor não mudou, algo está genuinamente errado e vale a pena abrir um ticket.
Editando .user.ini Você Mesmo
Você pode editar .user.ini diretamente por SFTP ou SSH se preferir, ou se precisar de uma diretiva que o painel não exponha. Fica na raiz do documento do seu site. Veja SFTP Access.
O formato é uma diretiva por linha:
memory_limit = 512M
max_execution_time = 120
Dois limites importantes no que .user.ini pode fazer:
Funciona apenas para diretivas que o PHP permite serem definidas por diretório ou por usuário. As cinco acima se qualificam. Diretivas que podem ser definidas apenas no nível do sistema, como disable_functions ou carregar uma extensão com extension=, são ignoradas em um arquivo .user.ini. Elas não gerarão erro, simplesmente não farão nada, e é por isso que as pessoas gastam uma tarde com elas.
O painel apenas relê chaves simples. Diretivas contendo um ponto, como opcache.enable ou date.timezone, são respeitadas pelo PHP mas não aparecerão no formulário do painel. Se você definir uma manualmente e depois alterar algo através do painel, verifique o arquivo depois.
A hospedagem web Kapsule executa nginx, não Apache. Arquivos .htaccess são lidos por ninguém. Diretivas PHP colocadas em um arquivo .htaccess, como php_value memory_limit, não fazem absolutamente nada aqui. Use .user.ini ou o painel. Veja WordPress and .htaccess.
Quais Extensões Estão Disponíveis
A compilação padrão é ampla e inclui tudo o que WordPress, WooCommerce e a maioria das aplicações PHP solicitam.
Bancos de dados: mysqli, pdo_mysql, sqlite3, pdo_sqlite
Imagens: gd, imagick, exif
Cache: Zend OPcache, redis, memcached
Texto e localidade: mbstring, iconv, intl, gettext, ctype
XML e dados: dom, simplexml, xml, xmlreader, xmlwriter, xsl, json
Rede: curl, soap, sockets, ftp, openssl
Matemática e criptografia: bcmath, sodium, hash, random
Arquivos e sistema: fileinfo, zip, zlib, phar, posix, pcntl, shmop, calendar, tokenizer
Uma diferença de versão que vale a pena conhecer: a extensão imap está presente em 8.3 e anteriores, mas não em 8.4, porque foi removida do próprio PHP nessa versão. Se você tiver uma aplicação que ainda precisa dela, fique em 8.3 ou mova essa aplicação para uma biblioteca de correio moderna.
Não instalado: drivers PostgreSQL, MongoDB, Xdebug, mcrypt e carregadores de código comercial como ionCube e SourceGuardian.
Você não pode ativar ou desativar extensões por conta própria no painel. Se sua aplicação precisa de algo que não está na lista, abra um ticket e descreva o que você está executando. Se pode ser adicionado depende da extensão. Veja Opening a Support Ticket.
Verificando o Que Está Realmente Carregado
Em vez de adivinhar:
- No WordPress: Tools, depois Site Health, depois Info, depois Server. Ele lista a versão do PHP e os limites relevantes.
- Por SSH:
php -vpara a versão ephp -mpara as extensões carregadas. Veja Adding SSH Keys.
Não deixe um arquivo phpinfo() na raiz da sua web. Ele publica seus caminhos, suas extensões e sua configuração para qualquer pessoa que o encontre, e scanners automatizados procuram exatamente por esse nome de arquivo. Se você criar um para verificar algo, delete-o imediatamente depois.