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.