PHP não morde: como parar de temer os erros e começar a entendê-los
\n\nVocê já viu seu site exibir uma tela branca e vazia? Ou uma mensagem como Parse error: syntax error, unexpected '}' e sentiu um frio na espinha? Bem-vindo ao clube! Todo desenvolvedor PHP, do iniciante ao guru, passa por isso. Mas a boa notícia é que a maioria dos erros não são maldições do computador, e sim dicas valiosas. Eles estão dizendo: "Ei, não entendi o que você quer. Dá uma olhada aqui!".
Neste artigo, vamos explorar os erros PHP mais comuns que assustam os iniciantes. Não vamos apenas listá-los — vamos aprender a ler as mensagens de erro, entender sua essência e corrigi-los. Após a leitura, você encarará um Fatal error com um sorriso no rosto, não com pavor. Vamos nessa!
1. Anatomia de um erro PHP: aprendendo a ler as mensagens
\n\nAntes de mergulharmos em erros específicos, vamos entender como uma mensagem de erro é estruturada no PHP. Ela sempre contém algumas partes-chave:
\n\n- \n
- Tipo do erro (Parse error, Fatal error, Warning, Notice) \n
- Mensagem — o que exatamente deu errado \n
- Arquivo — em qual arquivo o erro ocorreu \n
- Linha — o número da linha onde o erro foi detectado \n
Exemplo:
\n\nParse error: syntax error, unexpected '}' in /var/www/script.php on line 15\n\nAqui, o PHP é claro: "No arquivo script.php, na linha 15, encontrei uma chave de fechamento } que não esperava ver". Isso significa que, em algum lugar acima, você esqueceu de abrir uma chave ou colocou uma a mais. Vá até a linha 15 e veja o contexto.
2. Erros de sintaxe (Parse Error) — a raiz do problema para iniciantes
\n\nOs convidados mais frequentes na festa de um programador PHP iniciante são os erros de sintaxe. O PHP é uma linguagem com sintaxe rigorosa, e se você esquecer um ponto e vírgula ou fechar um parêntese incorretamente, ele vai apontar o erro na hora.
\n\n2.1. Ponto e vírgula esquecido
\n\nUm clássico. Toda instrução em PHP deve terminar com ponto e vírgula (;).
Incorreto:
\n<?php\necho "Olá, mundo!"\necho "Como vai?";\n?>\n\nErro: Parse error: syntax error, unexpected 'echo' (T_ECHO)
Correto:
\n<?php\necho "Olá, mundo!";\necho "Como vai?";\n?>\n\n2.2. Aspas ou parênteses não fechados
\n\nOutra armadilha comum. Se você abriu uma string com aspas duplas, mas esqueceu de fechá-la, o PHP "engolirá" o resto do código até encontrar a próxima aspa, gerando um erro estranho.
\n\nIncorreto:
\n<?php\n$texto = "Olá, mundo;\necho $texto;\n?>\n\nErro: Parse error: syntax error, unexpected end of file (porque o PHP procura a aspa de fechamento até o final do arquivo)
Correto:
\n<?php\n$texto = "Olá, mundo";\necho $texto;\n?>\n\n2.3. Chaves extras ou faltando
\n\nEm loops e condicionais, as chaves definem blocos de código. Uma chave a mais e tudo quebra.
\n\nIncorreto:
\n<?php\nif ($a > 5) {\n echo "Maior que 5";\n}\n} // Chave extra\n?>\n\nErro: Parse error: syntax error, unexpected '}'
Dica: Use sempre um editor de código com realce de sintaxe. Ele mostrará onde uma chave está sem par. Ou conte as chaves manualmente: quantas você abriu, tantas deve fechar.
\n\n3. Erros fatais (Fatal Error) — quando o script morre
\n\nUm erro fatal é um problema sério. O PHP não consegue continuar a execução, e o script para completamente. A tela branca geralmente é um Fatal Error, mas a exibição de erros pode estar desabilitada.
\n\n