Drucken Sie keine PHP-Fehlermeldungen mehr im Browser

8

Ich benutze PHP 5.3, CentOS 6.2, httpd 2.2.15, NetBeans 7.0.1 (läuft remote über ftp).

Ich möchte aufhören, Fehlermeldungen an den Browser zu senden, es genügt, dass es in das error_log von httpd gedruckt wird.

Ich dachte, indem ich try / catch tue, würde ich selbst entscheiden, wie ich mit dem Fehler umgehen soll, aber er druckt immer noch sowohl in error_log als auch im Browser.

%Vor%

Wie sollte ich konfigurieren, um dieses Verhalten zu stoppen?

Ich habe versucht, display_errors = Off und display_errors = 0 in php.ini zu setzen. Kein Unterschied (Ich habe httpd neu gestartet).

    
Nicsoft 19.01.2012, 14:46
quelle

8 Antworten

9
%Vor%

in php.ini können Sie Ihre Syslog-Fehler behalten, aber nichts in den Browser schreiben.

    
Eugen Rieck 19.01.2012, 14:51
quelle
7

Ob PHP-Fehler an den Browser gesendet werden oder nicht, hängt von der php.ini-Einstellung ab: display_errors . Setzen Sie es auf Off , um zu vermeiden, dass es ausgegeben wird. Diese Datei befindet sich normalerweise unter /etc/php.ini oder /etc/php5/php.ini

    
Oldskool 19.01.2012 14:50
quelle
3

Fügen Sie am Anfang des Skripts Folgendes hinzu:

%Vor%

Dies sollte die Fehlerberichterstattung auf none setzen und die php.ini-Einstellungen des Servers überschreiben (die manchmal Ihre error_reporting (0) ignorieren)

    
AlexC 19.01.2012 14:49
quelle
3

Sie müssen die Einstellung php.ini ändern display_errors zu off oder 0 . Sie können dies entweder in Ihrer aktuellen php.ini mit einer .htaccess-Datei tun oder indem Sie dies am Anfang des Skripts aufrufen:

%Vor%     
DaveRandom 19.01.2012 14:50
quelle
1

Siehe display_errors Direktive

Ссылка

    
Mchl 19.01.2012 14:50
quelle
1

Wenn der Fehler nur in einer Zeile erscheint, kann die Fehleranzeige durch Hinzufügen von @ zum Start der Zeile verhindert werden.

@YOUR_CUSTOM_COMMAND

Beispiel:

%Vor%     
Nole 10.10.2017 12:50
quelle
0

Wenn Sie Fehler und Warnungen ausblenden möchten, können Sie auch einen error_handler festlegen.

Siehe Ссылка

    
freytag 19.01.2012 14:52
quelle
0

FWIW, während display_errors = off die korrekte Konfigurationsdateizeile ist, wie andere gesagt haben, geht es bei DreamHost (und möglicherweise anderen Installationen) in

$HOME/.php/phprc

anstelle von php.ini (was auch funktionieren könnte, aber DreamHost - und wiederum möglicherweise auch andere - unterstützt phprc).

    
Olie 23.05.2016 19:48
quelle
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'mongodb.so' (tried: /usr/lib64/php/modules/mongodb.so (/usr/lib64/php/modules/mongodb.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/mongodb.so.so (/usr/lib64/php/modules/mongodb.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '329731',
    'url' => 'stop-printing-php-error-messages-to-browser',
];

$_SESSION = [
    '__flash' => [],
];