Erros Comuns de PHP

Neste tutorial, nós estamos indo olhar alguma dos erros comuns de PHP que ocorrem e de como resolvê-los.

Analise gramaticalmente Erros

Um erro analisar gramaticalmente ocorre quando o formato de seu código de PHP está incorreto. Para o exemplo, o seguinte código:

<?php for($i=1;$i<10;$i++){$output = "Iteração 
Atual: ". $i. "< Br >" eco #; 
}? >  

retornará um erro similar ao seguinte:

Analise gramaticalmente o erro: analise gramaticalmente o erro, T_ECHO inesperado em c:\webserver\test2.php na linha 4

  

Esta mensagem de erro é mostrada porque há um semicolon faltante na extremidade da terceira linha do exemplo precedente. A mensagem diz-lhe que PHP não esperava o comando do eco na linha 4. Isto é porque esperou lá ser um semicolon na extremidade de linha 3. Na maioria das vezes quando você começa este erro, a razão serão um problema com a linha precedente, tal como o semicolon faltante como no exemplo precedente.

Este erro ocorre também com cintas, {}, para o exemplo com o seguinte código:

<?php for($i=1;$i<10;$i++){$output = "Iteração 
Atual: ". $i. "< Br >"; o eco de 
if($output==5){"isto é a quinta iteração"; }}}? >  

qual retornará a mensagem de erro

Analise gramaticalmente o erro: analise gramaticalmente erro, inesperado ‘}’ em c:\webserver\test2.php na linha 8

Isto é causado por uma cinta de fechamento extra,}, na linha 8. Embora seja simples ver o problema no bloco curto precedente do código, pode ser muito mais duro com o código complicado que contem muitos laços aninhados ou se as indicações, e forem duros combinar as cintas da abertura às cintas de fechamento.

Para encontrar rapidamente o problema, você pode usar as cintas do contrapeso do MX de Dreamweaver comanda, que está no menu da edição. Você pode colocar o cursor em uma linha do código, seleciona o comando das cintas do contrapeso, e destacará todas as linhas do código para esse bloco da cinta da abertura à cinta de fechamento. Verificando as camadas de seu código com o contrapeso as cintas comandam, você pode rapidamente encontrar onde há uma cinta faltante ou extra.

Índice ou variável undefined

Esta seção explica o que fazer se você receber uma mensagem em seu Web page como um do seguinte:

Aviso 

Índice undefined: ação em \home\www\login.php na linha 25

Aviso 

Variável undefined: mensagem em home\www\login.php na linha 52

Estas mensagens confundem freqüentemente povos, porque olham como mensagens de erro e podem ocorrer mesmo com código que trabalha perfeitamente. As mensagens não são realmente erros; instead, são classificados como as "observações," que o alertam às situações onde não há realmente um erro que pare o código de trabalhar. O que a mensagem diz você é que o variável mencionado não estêve definido especificamente usando uma indicação de PHP var.

Como um exemplo, olhe os seguintes dois blocos do código:

<?php var #; $username = # 
' ]; ? > e: 
<?php $username = # ' ]; 
? >  

Ambos os blocos do código têm resultados idênticos, mas o segundo bloco do código trará acima uma mensagem similar a essas mostradas previamente, porque nós não definimos especificamente o variável #. PHP trabalha definindo suas variáveis primeiramente, que os meios ele podem o alertar se você soletrar erradamente uma variável em seu código, porque a variável será nova e definida não previamente.

Há duas soluções a este problema. O primeiro deve atravessar para trás seu código e certificar-se de que cada variável está definida especificamente. A segunda opção deve parar observações de ser indicado, porque são frequentemente mais problema do que são valor. Você pode fazer este adicionando o seguinte código ao alto de cada página que tem o erro:

<?php que error_reporting (E_ALL & ~ E_NOTICE); ? >  

Isto diz PHP para mostrar todas as mensagens e avisos de erro mas para não mostrar as observações. Para fazer permanentemente isto, mude o ajuste error_reporting em sua lima de php.ini ao ajuste precedendo.

Os Encabeçamentos Emitiram Já Erros

Esta é uma outra mensagem de erro que ocorra freqüentemente, especial ao usar bolinhos ou sessões, e seja similar à seguinte mensagem:

Não pode modificar a informação de encabeçamento - encabeçamentos emitidos já perto (saída começada em /home/web/newtest.php:3) em /home/web/test.php na linha 5

O problema é causado pelos espaços em branco antes da função do encabeçamento. A função do encabeçamento de PHP é usada dirigir de novo o usuário a uma outra página, que faça emitindo comandos no encabeçamento da página ao browser, dizendo o para ir à página nova. Entretanto, uma vez que um encabeçamento foi emitido ao browser, você pode nenhumas funções mais longas do uso que alcançam o encabeçamento, tal como a função do encabeçamento. Se qualquer coisa for emitido ao browser que não é uma função especial do encabeçamento, o encabeçamento é closed e tudo mais é suposto para ser HTML para o Web page. Assim porque é isto acontecer com o código precedente?

O problema ocorre porque há uma linha em branco (a linha 2) que é emitida ao browser. Isto faz com que o encabeçamento seja fechado, assim que a função do encabeçamento falha, porque pode não mais por muito tempo escrever ao encabeçamento. Entretanto, nivele se você remover a linha em branco na linha 2, você começará a mesma mensagem de erro. Isto é porque há dois espaços no fim do? > Tag na linha 1. Estes devem também ser suprimidos, porque outra vez serão emitidas ao browser e fecharão o encabeçamento. Estes espaços na extremidade de linhas podem ser duros de manchar-se porque são invisíveis!

Há um método que você pode se usar, embora, para fazer encontrá-los mais fáceis. Se você colocar seu cursor no fim de cada linha e esquerdo-clique e mover a direita do rato, todos os espaços na extremidade da linha estarão destacados, como mostrado no tiro precedente da tela. Os espaços podem então ser removidos.

Se o código for testado agora outra vez, deve trabalhar corretamente.

Este erro pode também ocorrer se output nao incluido em Tag de PHP em alguns incluir limas para a página. Assim se seu código principal da página olhar muito bem e você estiver começando ainda o erro, a etapa seguinte será verificar com alguns inclui limas os usos da página. Frequentemente, o erro é causado por uma linha nova depois que o Tag final de PHP na lima incluir, que deve ser removida se presente.

este é um artigo adicionado por Stratus Huo Quan


Disclaimer: Nosso Web site não é responsável para a informação contida por este artigo. Este artigo em nenhuma maneira reflete as vistas, as opiniões, os pensamentos ou a opinião da equipe de funcionários do diretório dos artigos.

Observação da tradução: Os erros comuns do artigo "PHP" foram traduzidos usando um serviço de tradução automatizado. Nós desculpamo-nos sincerely por todos os erros da tradução que ocorram. Obrigado compreendendo.

Online: 469 users browsing the articles directory