+ Responder ao Tópico



  1. #1
    vul4
    Visitante

    Padrão duvida no PHP!

    Pessoal

    Estou enfrentando um problema em um dos meus servidores slackeware/apache/php/oracle/mysql, que digasse de passagem esta funcionando corretamente.
    Todos perguntarão: Mas pq do tópico? Não tenho expêriencia nenhuma em programação php e neste server esta sendo implementado um site de e-commerce. Acontece q o site esta dando uma série de problemas, o programador insiste em dizer que estou gerando log de todos os tipos no php (warning, notice, erros, etc...) e como ele não declara variáveis em seu código fazendo com q os logs fiquem imensos (2 GB). Agora minha pergunta ao que conhecem de programação php. É normal este procedimento de não declarar variáveis no codigo de programação desta linguaguem? É normal tantas msg de warning q chegam a formar um arquivo de log com 2 GB?

    Gostaria de opinões e se possível alguma argumentação técnica, pois preciso justificar que o problema não esta no servidor e sim no site q esta sendo construído.


    Atenciosamente


  2. #2
    Under-linux.Org Team Avatar de MarcusMaciel
    Ingresso
    Dec 2000
    Localização
    Boston
    Posts
    1.961
    Posts de Blog
    44

    Padrão Re: duvida no PHP!

    Para evitar que seu log fique enorme altere o error_reporting no seu php.ini

    para
    error_reporting = E_ALL & ~E_NOTICE

  3. #3
    Under-linux.Org Team Avatar de MarcusMaciel
    Ingresso
    Dec 2000
    Localização
    Boston
    Posts
    1.961
    Posts de Blog
    44

    Padrão Re: duvida no PHP!

    aproveitando
    isso deve responder sua pergunta

    ; E_NOTICE - run-time notices (these are warnings which often result
    ; from a bug in your code, but it's possible that it was
    ; intentional (e.g., using an uninitialized variable and
    ; relying on the fact it's automatically initialized to an
    ; empty string)

  4. #4
    vul4
    Visitante

    Padrão Re: duvida no PHP!

    Scorpion

    Eu fiz este procedimento assim que vi q as msg reportavam a isso. Mas a minha duvida é: este tipo de codificação não poderá comprometer o site e/ou o desempenho do servidor ?


  5. #5
    Under-linux.Org Team Avatar de MarcusMaciel
    Ingresso
    Dec 2000
    Localização
    Boston
    Posts
    1.961
    Posts de Blog
    44

    Padrão Re: duvida no PHP!

    Eu acredito que nao...

    Porem acho que isso so um especialista em php para responder a pergunta

  6. #6

    Padrão Re: duvida no PHP!

    cara, é normal, esta história de "declarar variável" não é necessária, pois é parte do php ser uma linguagem não tipada, ou seja, voce não precisa declarar, mas é melhor inicializar antes de tudo. No desempenho não vai ter muito impacto não.

  7. #7

    Padrão Re: duvida no PHP!

    É o eu sempre digo:

    Se o programador do site se preocupar com a qualidade/usabilidade/manutenção do codigo ele declara tudo faz tudo certinho agora se a coisa for mai ou meno sabe meio nas coxa o site da um avisinho aqui um errinho ali mas nada de mais amanha depois ta tudo parado por causa de um errinho bobo !

    Pessoalmente eu declaro tudo até programinha em script shell eu fiz e para dizer a verdade cheguei na seguinte conclusão tem que declarar tudo e o ideal é que se programe em OOP assim vc tem certeza que ta tudo declarado e depois que o objeto é finalizado não sobra nada na memoria abraço !

  8. #8
    Walfredo
    Visitante

    Padrão Re: duvida no PHP!

    Olha... eu acho melhor propor o seguinte... ao invés de ocultar o erro em todo o servidor é melhor o próprio programador ocultar os seus erros.

    Se estas linhas forem comentadas no php do servidor não vai mais aparecer msg de erro pra ninguem o que de certa forma vai ser ruim para o resto dos programadores porque muitas vezes estas msgs ajudam-nos a endender o que está acontecendo.

    manda o programador colocar isto daqui no código dele e testar.
    Código :
    error_reporting(0);


    // Desativa o relatório de todos os erros
    error_reporting(0);

    // Reporta erros simples
    error_reporting(E_ERROR | E_WARNING | E_PARSE);

    // Reportar E_NOTICE pode ser bom também (para reportar variáveis não iniciadas
    // ou eros de digitação em nomes de variáveis ...)
    error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

    // Reportar todos os erros exceto E_NOTICE
    // Este é o valor padrão no php.ini
    error_reporting(E_ALL ^ E_NOTICE);

    // Reporta todos os erros (bitwise 63 deve ser usado no PHP 3)
    error_reporting(E_ALL);

    // O mesmo que error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL);

    Pode ser visto mais sobre estes erros em,
    http://br.php.net/manual/pt_BR/funct...-reporting.php

  9. #9
    vul4
    Visitante

    Padrão Re: duvida no PHP!

    Pessoal

    Vc's ajudaram muito a esclarecer a duvida, muito obrigado pela atenção.

    Atenciosamente

    Alexandre Caldeira