Jump to content


Photo

Mostrar Erro Do Meu Código


  • Faça o login para participar
16 replies to this topic

#1 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 31/01/2008, 13:02

Antes de mais nada, eu sei que existem vários tópicos perguntando isso. Pesquisei, achei e mesmo assim tá tudo muito vago (ninguém concluiu com sucesso os tópicos), por isso tô postando.

Mexo com ASP ainda, pensei em passar pra ASP.Net (mas não vi tantas vantagens na prática, até porque acho um saco PoO), então para aprender PHP resolvi criar uma conta no http://byethost.com/

o FTP é rápido e tudo mais, mas mesmo que eu faça uma cagad* brutal, não são me retornados os erros!!

Eu não tenho acesso ao .ini, então pergunto, não tem jeito de exibir os erros dos meus scripts?

Tentei assim:

echo "desligamento...;

e não me acusa nada, simplesmente página 100% em branco (seja código-font ou visualização).

Tem como contornar isso?

Aproveitando, ouvi falar também que pela HostNet isso ocorre... tem como arrumar?

Abraços!
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#2 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 31/01/2008, 13:11

Opa!

Já verificou as configurações do IE?
Dá uma olhada em Opções da Internet / Avançadas / Mostrar mensagens de erro http amigáveis.

Seleciona e tenta novamente...

Alguma página q não contenha erro, vc consegue abrir normalmente?

<? echo "Teste" ?>

[]´s (y)
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#3 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 31/01/2008, 13:23

No seu PHP.ini altere o display_errors para TRUE
Mas se nenhum servidor habilita isso é pq algum motivo tem, certo?
Maiores informações com o santo manual.

-- Editado --
Uma opção é atribuir em tempo de execução, mas não funciona com erros fatais.
ini_set("display_errors",true);

Edição feita por: boirock, 31/01/2008, 13:25.


#4 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 31/01/2008, 13:37

Opa!

Já verificou as configurações do IE?
Dá uma olhada em Opções da Internet / Avançadas / Mostrar mensagens de erro http amigáveis.

Seleciona e tenta novamente...

Alguma página q não contenha erro, vc consegue abrir normalmente?

<? echo "Teste" ?>

[]´s (y)


Estou usando o Firefox, mas caso não tenha erros aparece sem problemas.

Tá tudo funcionando legal, mas os erros não aparecem.


No seu PHP.ini altere o display_errors para TRUE
Mas se nenhum servidor habilita isso é pq algum motivo tem, certo?
Maiores informações com o santo manual.

-- Editado --
Uma opção é atribuir em tempo de execução, mas não funciona com erros fatais.

ini_set("display_errors",true);


Bom, conforme falei, não tenho acesso ao php.ini

Eu concordo contigo que é bem mais seguro não exibir esses erros na tela, visto que (pelo menos no ASP) alguns erros podem levar o usuário a acessar certos arquivos, descobrir pastas que não deveriam ou até mesmo tentar invadir o banco de dados com instruções SQL nos forms (no Php não sei se isso é possível também).

Enfim, como de início estou apenas aprendendo a linguagem, para mim é mais mão na roda exibir direto na tela e não em logs.

Esse código que você me passou coloco aonde? (o ini_set) Tentei no topo do meu código, mas não rolou, continua a mesma coisa.



Valeu pelo rápido retorno ;)

Edição feita por: Firehalk, 31/01/2008, 13:37.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#5 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 31/01/2008, 13:53

No começo do código. Faz aparecer uma mesangem em uma tabela bem bonita! hehehe
Mas se for erro fatal, mesmo com isso aí vai aparecer tela em branco.
Você não tem acesso ao log?
Se não tiver... pouts, tem que ver se o resto do pessoal tem alguma idéia.
Vê e isso te ajuda:
http://br.php.net/ma...or-get-last.php
http://br.php.net/ma...n.error-log.php

#6 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 31/01/2008, 13:55

crie este arquivo e execute no seu servidor.

<?php

phpinfo(INFO_CONFIGURATION);

?>
ele vai mostrar uma tabela com as principais configuracoes do php.
procure a linha display_errors e veja se esta em on.

vlw ^_^
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#7 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 31/01/2008, 14:25

Kenshin,

Valeu por esse código! Realmente tá definido como OFF. Assim como a geração de logs também tá off :(


Eu estava tentando provocar erro ao não colocar a aspa que fecha o ECHO. Isso é considerado erro fatal?

Assim:

echo "test;

Tentei agora provocar erro assim:

echo $teste;

Sem declarar a variável teste. Aconteceu o seguinte:

- ini_set("display_errors",true); no cabeçalho não adiantou nada. Apesar disso, como é um erro que não impede o restante de ser executado, o resto do meu código (html simples, com um form de teste) carregou numa boa.

- print_r(error_get_last()); me retornou uma linha com a array, e com a info de que "Undefined variable: teste"

A segunda opção já me ajuda (se funcionar sempre assim, pra todos os erros, tá perfeito), mas pergunto só por curiosidade: caso tivesse display_errors on, não aparecia nada na minha página com exceção do erro? Ou apenas apareceria uma linha com o erro e o restante do código (que funciona) na tela?
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#8 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 31/01/2008, 14:31

Caso existisse erro, apareceria somente este...

Pode faltar 1 áspa simples, e o resto estar td perfeito, que a parte correta não será carregada...

[]´s (y)
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#9 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 31/01/2008, 14:45

depende do erro, no caso do echo, mostraria uma mensagem de erro e continuaria (na medida do possivel) montar o restante da pagina.

da uma olhada neste link aqui, tem bastante informacao sobre isso.
erros e logs.

no caso do servidor local voce pode configurar parar mostrar os erros.
eh so procurar no php.ini por display_errors e alterar para on, lembrando de fazer o backup antes.

vlw ^_^
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#10 EternaL

EternaL

    12 Horas

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:Blumenau, SC

Posted 31/01/2008, 15:04

Bom, acredito que seu objetivo seja aprender PHP apenas, certo? Então você não precisa desesperadamente de uma conta nesse host.

Sei que muitos aqui vão jogar pedras e tudo mais, mas porque você não instala o EasyPHP na sua máquina? Ele ja instala o Apache, PHP, MySQL e o phpMyAdmin.

Pra aprender é uma ótima solução, eu mesmo uso na minha máquina de desenvolvimento e nunca tive problemas com ele. E ainda por cima você não vai precisar ficar fazendo upload dos arquivos, afinal o server ta na sua máquina... =P

Mas caso você também não queira usar o EasyPHP, existem inúmeros tutoriais (aqui na própria WMOnline) sobre como instalar esses softwares pela internet (o que nem é muito complicado).

Até mais
Magnum Web - Trazendo o melhor da web para você

Desenvolvimento de websites e sistemas web. Acesse http://www.magnumweb.com.br

#11 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 31/01/2008, 15:04

Valeu pela ajuda de todo mundo.

Tava dando uma lida antes já na documentação, é bem explicado tudo lá, não tem muita confusão.

Valeu!

EDIT: Postamos na mesma hora, EternaL. Tem alguma desvantagem esse EasyPHP? Tipo, alguma coisa que funciona em um não funciona no outro e etc? Para aprender realmente parece ser interessante.

Edição feita por: Firehalk, 31/01/2008, 15:06.

BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#12 EternaL

EternaL

    12 Horas

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:Blumenau, SC

Posted 31/01/2008, 15:18

Hehehe

Bom, eu não vejo desvantagem nenhuma em usar ele pra desenvolvimento. Ele só não é uma boa idéia pra user usado em produção (se você tentar atualizar algum componente dele em separado, você vai entender porque... =P).

Recomendo que assim que instalar ele, verificar se a configuração do PHP dele está com o register_globals = Off (não lembro se ja vem), o que é bem fácil.

E eu não sei se isso é considerado ruim pelo pessoal, ou se também vai se tornar deprecated (PHP 6 vem ai =P). Mas eu sempre ativo o short_open_tag (permite você abrir um bloco de código usando apenas <? ?> ao contrário de <?php ?>, mas também é necessário se você for usar o <?= $x ?> que é igual à usar <?php echo $x ?>)

Você pode baixar ele aqui: http://www.easyphp.org/

Recomendo pegar a versão 2.0b1, pois ela ja vem com o PHP 5 e o MySQL 5
Magnum Web - Trazendo o melhor da web para você

Desenvolvimento de websites e sistemas web. Acesse http://www.magnumweb.com.br

#13 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 31/01/2008, 15:21

uso o easyphp desde que comecei a trabalhar com php. ate hoje nao vi problemas.
ultimamente ate alterei configuracoes do apache e inclui subdominios no localhost pra facilitar meu trabalho.
o easyphp facilita a instalacao do pacote de programas necessarios pra rodar o servidor local, no caso a servidor apache, interpretador php e banco de dados mysql.

alem disso, permite que voce faca alteracoes como as que citei acima.
creio que nao ele nao tem nenhuma restricao em relacao a instalar os programas separadamente.
mas nunca tive paciencia pra fazer esse teste.

achei que voce ja tivesse usando um servidor local pra testar os codigos.
upar a cada alteracao?! :wacko:
sem chance!

ps: o eternal chegou primeiro :D

vlw ^_^

Edição feita por: § Kenshin §, 31/01/2008, 15:25.

Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#14 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 31/01/2008, 15:58

Não quero criar um off-topic brutal aqui, mas aproveitando (se eu puder):

Instalei o EasyPHP (a versão recomendada) e o APACHE não consegue rodar. Me é informado que "Outro servidor web está usando a porta web". Não tenho firewall aqui. É por causa do Firefox aberto? Ou nada a ver? (não estou com mais nada aberto, relacionado a FTP e servidores aqui no meu pc)

Valeu ;)
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#15 ciclone

ciclone

    Novato no fórum

  • Usuários
  • 23 posts
  • Sexo:Não informado

Posted 31/01/2008, 16:14

O EasyPHP já vem com servidor web, você não precisa do apache se o EasyPHP ja
estiver executando, exceto que tenha conhecimento e possa mudar as portas de uso.

(y)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq