PHP.ini display_errors desativado, mas os erros ainda são enviados para o navegador

1

Eu tenho um problema em um dos servidores da web em que display_errors está desativado no arquivo php.ini em /etc/php5/apache2/php.ini:

; This directive controls whether or not and where PHP will output errors,
; notices and warnings too. Error output is very useful during development, but
; it could be very dangerous in production environments. Depending on the code
; which is triggering the error, sensitive information could potentially leak
; out of your application such as database usernames and passwords or worse.
; It's recommended that errors be logged on production servers rather than
; having the errors sent to STDOUT.
; Possible Values:
;   Off = Do not display any errors
;   stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
;   On or stdout = Display errors to STDOUT
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/display-errors
display_errors = Off

Mais acima no arquivo, o valor é comentado.

No entanto, erros e avisos ainda são exibidos nas páginas da Web.

phpinfo (); mostra que display_errors está ativado, mas não consigo entender de onde ele está obtendo esse valor. Eu estou supondo que deve ser substituído em algum lugar.

Além disso, se eu alterar outras opções no php.ini, elas são refletidas no phpinfo, mas parece ignorar o display_errors por algum motivo.

Qualquer ajuda seria apreciada.

Obrigado Robin

    
por Robin Wilson 27.01.2015 / 16:12

1 resposta

2

Agora consegui corrigir esse problema depois de algumas horas examinando os arquivos de configuração.

Descobri que eu tinha esse código no phpmyadmin.conf em / etc / apache2 / conf-enabled /:

<IfModule mod_php5.c>
    php_admin_flag engine on
    php_admin_value display_errors on
    php_admin_value error_reporting 30711
    php_admin_flag ini_set on
</IfModule>

Isto estava substituindo o php.ini por todos os sites.

Assim que eu removi este código, ele pegou o valor do php.ini.

Postar isto caso aconteça a qualquer outra pessoa, já que esta não é a mesma solução que foi postada em outro lugar para este problema, que foi principalmente devido à edição da versão comentada do display_errors ou do arquivo php.ini errado, mas este não foi o caso. aqui.

    
por Robin Wilson 27.01.2015 / 23:12