Ocultar erros STRICT no PHP 5.4

4

Eu atualizei do PHP 5.3 para o PHP 5.4 hoje. Agora meu script está exibindo muitas mensagens de erro. Como escondê-los sem usar error_reporting(0); dentro do arquivo php?

Eu uso isso:

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
    
por Spacedust 02.04.2012 / 19:29

3 respostas

3

No PHP 5.4, E_STRICT se tornou parte do E_ALL - ( documentation ). Minha recomendação seria transformar a diretiva para exibir erros como off e registrar erros, isso seria feito definindo o seguinte em seu php.ini:

display_errors = off
log_errors = on
error_log = /path/to/logs/php_error.log

Se você não quiser seguir esse caminho e ainda desejar exibir erros e simplesmente emular a funcionalidade PHP < 5.4, seria melhor fazer algo assim:

error_reporting = E_ERROR | E_WARNING | E_PARSE

Também deve ser mencionado que várias pessoas relataram a impossibilidade de excluir E_STRICT de E_ALL de uma maneira que você tenha tentado como um bug, então isso pode mudar em uma versão posterior para permitir a funcionalidade que você está acostumado.

    
por 02.04.2012 / 21:39
0
error_reporting = (E_ALL ^ E_STRICT)

isso poderia ajudar?

    
por 19.02.2014 / 18:18
-1

Os métodos regulares são destinados a serem chamados a partir de uma INSTANCE de uma classe (Object).

Assim: $ object = new Classe (); $ object- > function ();

No entanto, você está chamando direto da turma.

Assim: class :: function ();

Veja a seguir os métodos STATIC.

altere isso: função pública absoluteURI ()

Para isso: função estática pública absoluteURI ()

Eu recomendo que você sempre codifique estritamente, portanto, NÃO desative os erros estritos. Por quê? Seu exemplo prova isso. Você estava usando um método regular para fazer algo que não deveria fazer.

Portanto, em vez de desativar os erros estritos, faça essas pequenas correções fáceis no seu código :) Vale a pena, eu prometo.

Um bom programador está sempre aberto a uma codificação mais simples e terá tempo para aprender.

    
por 15.01.2013 / 13:09