Ir ao conteúdo
  • Cadastre-se

PHP Como exibir erros PHP? | PHP não imprimi funções como print_r();


Ir à solução Resolvido por GabrielSennaMs,

Posts recomendados

Éra para ser bem simples mais tudo que eu pesquisei na interne-te não bateu com os códigos do meu php.ini acho que é porque eu estou com a 7.4.10, por exemplo tava la

error_reporting = E_ALL
display_errors = On
track_errors = On
html_errors = On

e no meu eu fiz e mesmo modificando assim não aconteceu muita coisa 

 

; error_reporting
;   Default Value: E_ALL
;   Development Value: E_ALL
;   Production Value: E_ALL

 

os outros codicos estavam normais modifiquei sem problemas mas quando da um erro no php só aparece no console e por cima só da erro 500 eu modifiquei tanto outro dia que meu apache quebro e não carregava mais só dava erro ai eu desinstalei tudo e tentei de novo e o mesmo problema:/ 

o elemento em html sai só desta forma 

<body cz-shortcut-listen="true">
  
    
  
</body>

no caso meu codigo no arquivo php é bem simples

<!-- <!DOCTYPE html> -->
<html lang="pt-br">
  <head>
  <style>body {display: none;margin: 0px;}</style>
    <!-- Meta tags Obrigatórias -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

  <title>php com pdo e mysql</title>
  </head>
  <body>
  
    <?php

      $dsn = 'mysql:host=localhost;dbname=php_com_pdo';
      $usuario = 'user';
      $senha = 'senha';

        $conexao = new PDO($dsn, $usuario, $senha);

        try {

         $conexao = new PDO($dsn, $usuario, $senha);
            
        } catch(PDOException $e) 
        {
          echo "<pre>";
          print_r($e);
          echo "</pre>";
        }
?>

  </body>
</html>

e alem de não aparecer erro quando eu por exemplo troco a senha ele não da o printa de variável ($e) fica só em branco. esse é meu problema se alguém poder me da uma luz dez de já agradeço. e eu uso o Debian10 :)

Link para o comentário
Compartilhar em outros sites

nunca usei print no php, sempre q precisei mostrar algo foi com echo, até no retorno de um dado especifico da base, mas meu contato com php é minimo do minimo, vi isso 20 anos atras, e no final do ano precisei de meia duzia de paginas, resolvi fazer em php por conta da hospedagem, mudou totalmente do q era a sintaxe

catch (Exception $e) {
    echo 'Exceção capturada: ',  $e->getMessage(), "\n";
}

 

Link para o comentário
Compartilhar em outros sites

@nickosoft meu professor do curso que usa assim cara para fiz de estudo tendeu só pra mostra como ta ficando a string e tais .... seu método não deu erro mais não printou nada na tela também 

image.thumb.png.e2839ad63ceb4fc8c7c5c23d55453a60.png 

adicionado 6 minutos depois

array já da de boas lembrando que eu acabei de instalar e configurar a pilha lamp linux + apache + sql mariadb + phpmyadmin + php 7.4.10 tudo funcionando só que não monstra erros nem printa certas funções olha ja array vai de boas 

 

adicionado 8 minutos depois

Captura de tela de 2020-10-02 09-10-30.png

Link para o comentário
Compartilhar em outros sites

olhei rapidinho, e em geral é com echo q imprime algo na tela

<html>
 <head>
  <title>Teste PHP</title>
 </head>
 <body>
 <?php echo "<p>Olá Mundo</p>"; ?>
 </body>
</html>

o mais básico dos códigos, tente partir disso pra algo maior

Link para o comentário
Compartilhar em outros sites

  • Solução

@Midoriya_Porcelana Bom amigo, para fazer Debug você pode usar o método var_dump(), ele vai mostrar todo o conteúdo e o tipo do argumento que ele recebe.

 

Você também pode tentar usar isso no seu arquivo php

// Exibe todos os erros PHP
error_reporting(-1);

// Mesmo que error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);

 

Obs..: Uma coisa que eu achei estranha é que no seu html o "Olá, Mundo!" está ali dentro do elemento p, e olhando o elemento body no css que ele recebe, o elemento body está recebendo a propriedade, "display: none;", e por esse motivo você não está vendo o texto de echo na página.

 

Remove isso:

<style>body {display: none;margin: 0px;}</style>

 

 

A fim de esclarecer o uso do print e o echo:

As diferenças são pequenas: echo não tem valor de retorno enquanto print tem valor de retorno 1, 
portanto, pode ser usado em expressões. 
echo pode ter vários parâmetros (embora esse uso seja raro), 
enquanto print pode ter um argumento. echo é ligeiramente mais rápido do que print.

 

 

Alguns usos de print e echo e print_r

 

echo "This ", "string ", "was ", "made ", "with multiple parameters.";

// Retorno 
// This string was made with multiple parameters.

$x = ["Chave" => "Valor"];

print $x;

// Retorno
// Array

print_r($x);

// Retorno 
// Array ([Chave] => Valor)

 

 

Link para o comentário
Compartilhar em outros sites

@GabrielSennaMs agora ta tudo funcionando perfeitamente foi erro meu eu nem percebi que o style instala encapsulando o body puro descuido acho que eu copiei esse codigo de outro documento e exclui umas linhas de cabeçalho e esqueci de ajustá-las valeu ai  @GabrielSennaMs e @nickosoft e erro também esta funcionando agora com o error_reporting(-1);

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...