1
resposta

Instalação com mensagens de erro

Fiz a instalação seguindo o vídeo, mas recebi no navegador essa visualização Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Dessa maneira, busquei algumas formas de resolver 1ª

  • Inseri as linhas entre deprecation e formatter do arquivo monolog.yaml (config/packages/monolog.yaml)
  • Retirei o comentário de firephp: e chromephp
monolog:
    channels:
        - deprecation # Deprecations are logged in the dedicated "deprecation" channel when it exists

when@dev:
    monolog:
        handlers:
            main:
                type: stream
                path: "%kernel.logs_dir%/%kernel.environment%.log"
                level: debug
                channels: ["!event"]
            deprecation:
                type: stream
                channels: [deprecation]
                path: "%kernel.logs_dir%/deprecation.log"  # Caminho para registrar depreciações
                level: debug
                formatter: monolog.formatter.json
            # uncomment to get logging in your browser
            # you may have to allow bigger header sizes in your Web server configuration
            firephp:
                type: firephp
                level: info
            chromephp:
                type: chromephp
                level: info
            console:
                type: console
                process_psr_3_messages: false
                channels: ["!event", "!doctrine", "!console"]

Como não deu certo 2ª Tentativa Alterei no arquivo php.ini para

display_errors = Off
display_startup_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED

Mas continuo com a mesma tela no navegador. Como resolver isso? Obrigada

1 resposta

Ola!

Você está visualizando mensagens do tipo "Deprecated: Constant E_STRICT is deprecated" ao acessar sua aplicação Symfony 6.1.12, o que indica que há incompatibilidades entre essa versão do Symfony e a versão atual do PHP instalada no seu ambiente.

A constante E_STRICT foi descontinuada e removida no PHP 8.3. O Symfony 6.1 ainda faz uso dessa constante em alguns componentes internos, como o ErrorHandler.php. Isso gera avisos de depreciação que estão sendo exibidos diretamente no navegador.

Você pode:

  1. Atualizar o Symfony

Atualizar para uma versão mais recente do Symfony que ofereça suporte completo ao PHP 8.3 (por exemplo, Symfony 6.4 LTS ou 7.0) é a solução mais robusta. Execute:

composer update symfony/*

Talvez você prefira manter essa versão por causa do curso, mas vale saber que versões mais novas corrigem esse tipo de problema.

  1. Ajustar o PHP para não exibir avisos de depreciação

Você tentou alterar o php.ini, mas é provável que tenha alterado o arquivo errado. O PHP utilizado pela linha de comando (CLI) não é o mesmo usado pelo servidor web (Apache ou Nginx).

Passos:

  1. Crie um arquivo chamado phpinfo.php na pasta public com o conteúdo:

    <?php phpinfo();
    
  2. Acesse http://localhost:8000/phpinfo.php no navegador.

  3. Procure pela linha Loaded Configuration File e veja qual arquivo php.ini está sendo usado.

  4. Edite esse arquivo e altere as seguintes diretivas:

    error_reporting = E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED
    display_errors = Off
    
  5. Reinicie o servidor (Apache, Nginx ou o built-in do PHP, conforme estiver usando).

  • Ajustar manualmente o nível de erro no Symfony

Você também pode editar diretamente o arquivo public/index.php do Symfony e adicionar esta linha no topo do arquivo, antes do autoload:

error_reporting(E_ALL & ~E_DEPRECATED & ~E_USER_DEPRECATED);

Isso vai desativar os avisos de depreciação apenas para essa aplicação, sem precisar alterar configurações globais do PHP.

Se quiser manter a versão do Symfony recomendada pelo curso e apenas esconder os avisos, a opção 2 ou 3 é suficiente. Se quiser manter a aplicação atualizada para produção futura, prefira a opção 1.