Ir para o conteúdo principal
Github

Diagnóstico

O Inphinit conta com uma ferramenta que auxilia no diagnóstico do ambiente, identificando possíveis problemas ou sugerindo configurações ideais, como aquelas voltadas para o aprimoramento da segurança ou do desempenho.

Usando

É possível usar a classe para detectar problemas no ambiente em que o aplicativo está sendo executado, da seguinte forma:

<?php use Inphinit\Diagnostics\Checkup; $app->action('GET', '/checkup', function () { $check = new Checkup(); $errors = $check->getErrors(); echo implode("<br>\n", $errors); $warnings = $check->getWarnings(); echo implode("<br>\n", $warnings); });

Ao criar um novo projeto, a rota /checkup já estará configurada em main.php e funcionando para determinar as condições do ambiente em que a aplicação será executada. É possível mover a rota para um contexto com autenticação, limitá-la ao escopo de um host privado. Arquivos relacionados:

  • system/
    • Controllers/
      • CheckupController.php
    • views/
      • checkup.php

Esses arquivos podem ser removidos ou completamente recriados; a abordagem apresentada é apenas um exemplo de uso básico.

Possíveis erros

Mensagem Notas
Valor inesperado em max_execution_time=<valor> (interpretado como <valor>) Nota: Apenas em Web
max_execution_time ilimitado é inseguro no contexto da Web Nota: Apenas em Web
Valor inválido na entrada memory_limit=<valor>
memory_limit ilimitado é inseguro no contexto da Web Nota: Apenas em Web
Valor inválido na entrada post_max_size=<valor> Nota: Apenas em Web
Valor inválido na entrada upload_max_filesize=<valor> Nota: Apenas em Web
post_max_size=<valor> é menor que upload_max_filesize=<valor> Nota: Apenas em Web
Valor inesperado em max_file_uploads=<valor> (interpretado como <valor>) Nota: Apenas em Web
A função random_bytes() não está disponível; habilite a extensão Mcrypt para usá-la como alternativa Nota: Apenas em PHP 5
random_bytes() indisponível; verifique disable_functions Nota: Apenas em PHP 7+
Diretório inexistente: ./storage
O diretório ./storage requer permissões de escrita
Desative a função obsoleta magic_quotes_gpc Nota: Apenas em PHP 5 e 7
Desative a opção obsoleta always_populate_raw_post_data Nota: Apenas em PHP 5
Em ambiente de produção, a opção display_errors deve ser desativada Nota: Apenas em Ambiente de Produção

Possíveis avisos

Mensagem Notas
memory_limit=<valor> pode não ser suficiente
post_max_size=<valor> pode não ser suficiente Nota: Apenas em Web
upload_max_filesize=<valor> pode não ser suficiente Nota: Apenas em Web
max_file_uploads=<valor> pode não ser suficiente Nota: Apenas em Web
file_uploads=Off está desativado. Se isso não for intencional, ative-o Nota: Apenas em Web
random_bytes() indisponível. Usando a extensão Mcrypt como alternativa Nota: Apenas em PHP 5
(Opcional) A extensão Intl é necessária para Inphinit\Utility\String e Inphinit\Utility\Url
Desative a função obsoleta auto_detect_line_endings
Durante o modo de desenvolvimento, é recomendável desativar opcache.enable Nota: Apenas em Ambiente de Desenvolvimento
Durante o modo de desenvolvimento, é recomendável desativar wincache.ocenabled Nota: Apenas em Ambiente de Desenvolvimento
Durante o modo de desenvolvimento, é recomendável desativar o arquivo xcache.cacher Nota: Apenas em Ambiente de Desenvolvimento
Defina expose_php=Off para garantir que a versão do PHP não seja exposta nos cabeçalhos HTTP Nota: Apenas em Web
A função ini_get está desativada, portanto, nenhuma verificação adicional pode ser realizada
A função php_ini_loaded_file() está desativada, portanto algumas verificações podem ser ignoradas
O arquivo php.ini não está configurado; ignore esta mensagem se estiver usando opções (flags)