Atualmente, estou executando um site no php 5.4, antes disso, estava executando meu site no 5.3.8. Infelizmente, php 5.4 combina E_ALL
e E_STRICT
, o que significa que minha configuração anterior para error_reporting
não funciona agora. Meu valor anterior era E_ALL & ~E_NOTICE & ~E_STRICT
Devo apenas habilitar um valor de cada vez?
Tenho muitos erros e os arquivos contêm muito código para corrigir.
php
error-handling
icomrade
fonte
fonte
Respostas:
Como os comentadores afirmaram, a melhor opção é corrigir os erros, mas com tempo ou conhecimento limitado, nem sempre isso é possível. Em sua mudança php.ini
para
Se você não tiver acesso ao php.ini, você pode colocá-lo em seu arquivo .htaccess:
Este é o valor E_ALL (32767) e a remoção dos valores E_STRICT (2048) e E_NOTICE (8).
Se você não tiver acesso ao arquivo .htaccess ou se ele não estiver habilitado, você provavelmente precisará colocar isso no topo da seção PHP de qualquer script que seja carregado a partir de uma chamada de navegador:
Um deles deve ajudá-lo a usar o software. Os avisos e coisas restritas são indicadores de problemas ou problemas potenciais e você pode descobrir que parte do código não está funcionando corretamente no PHP 5.4.
fonte
.htaccess php_value está funcionando apenas se você usar a API do servidor PHP como módulo do servidor Web Apache. Use a sintaxe IfModule:
Se você usa PHP Server API CGI / FastCGI, use
ou
em seu código PHP ou arquivos de configuração PHP .user.ini | modificação php.ini:
em seu host virtual, nível de servidor.
fonte
Funcionou para mim, quando eu defini error_reporting em dois lugares ao mesmo tempo
em algum lugar no código PHP
e no arquivo .htaccess
fonte
Se você precisar desativar E_DEPRACATED também, use:
No meu caso, o CMS Made Simple reclamava "E_STRICT está habilitado no error_reporting" e "E_DEPRECATED está habilitado". Adicionar essa linha ao .htaccess resolveu as duas configurações incorretas.
fonte
Atenção, você pode precisar reiniciar o LAMP, Apache ou o que quer que esteja usando para que isso tenha efeito. Nós pensamos por um tempo nisso, parecia não fazer efeito até que os serviços fossem reiniciados, provavelmente porque o site estava em cache.
fonte