log_errors_max_len = 1024 in php.ini, php log wächst
Wie der Titel sagt, habe ich die max Länge für die php-error-log, aber es scheint weiter zu wachsen viel, viel größer als 1024. Ich bin mit der richtigen php.ini, ich hab apache neu gestartet, etc. Die Berechtigungen für die php-log sind 666.
- Nur aus Neugier, nicht dieser Richtlinie zu konfigurieren, die Gesamtlänge der Datei (was wenig Sinn macht, als der Standardwert ist 1024 bytes), oder nur die maximale Länge eines Eintrags / einer Zeile ?
- Es gibt mehrere
php.ini
- Konfiguration Parameter, die arbeiten zusammen in etwas nicht-intuitive Art und Weise. Auf deinem system, was sind die Werte deslog-errors
php.net/manual/en/errorfunc.configuration.php#ini.log-errors underror-log
php.net/manual/en/errorfunc.configuration.php#ini.error-log ?
InformationsquelleAutor Jeremy Blum | 2009-12-27
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als typisch für PHP, es ist nicht wirklich offensichtlich, aus dem Namen der Konfiguration, die Einstellung, oder auch die Dokumentation, aber diese Richtlinie gilt für die Länge eines einzelne log-Nachricht, nicht die Länge der log-Datei als ganzes.
Verwenden logrotate oder ein ähnliches tool, für das, was Sie zu tun versuchen.
Überprüft Pascals Erster Gedanke:
Was das Handbuch nicht ist, dass
log_errors_max_len
bezieht sich nur für den "Körper" der Fehlermeldung. Dies bedeutet, dass eine einzelne Zeile der Fehler wird noch größer sein, als die Länge, die Sie hier einstellen.Zu demonstrieren, führen Sie diesen code mit
log_errors_max_len=0
(0
bedeutet unbegrenzt) undlog_errors=1
:Werden die bytes gesendet
error_log
werden:Testen Sie anschließend den gleichen code mit
log_errors_max_len=4
undlog_errors=1
. (Denken Sie daran, den server neu starten.)error_log
nun:(Beachten Sie, dass Ihre Fehlermeldung vorangestellt mit "
[15-Jul-2015 01:23:45 utc] PHP Notice:
" und einem angehängten "in C:\index.php on line 1
", die in einer Zeile mehr als das, was eingestellt ist vonlog_errors_max_len
.)Dieses Problem tritt nicht nur mit
error_log
, aber auch mit der server-Ausgabe an den client gesendet. Um zu demonstrieren, führen Sie den gleichen code von oben mitlog_errors_max_len=4
,display_errors=1
,html_errors=0
,error_prepend_string="PPPP"
, underror_append_string="AAAA"
. Die Ausgabe an den client gesendet wird:Nun führen Sie den gleichen code verwenden
log_errors_max_len=4
,display_errors=1
,html_errors=1
,error_prepend_string="PPPP"
, underror_append_string="AAAA"
. (error_prepend_string
underror_append_string
gelten nur für angezeigte Fehler, nicht protokollierte Fehler.) Die Ausgabe an den client gesendet wird:Beachten Sie auch, dass die oben genannten tests liefert dann die gleichen Ergebnisse, selbst wenn Sie
ignore_repeated_errors=0
. Dies zeigt, dass "wiederholter Fehler" betrachtet werden vor die Fehlermeldungen sind abgeschnitten.(Ihre Ergebnisse können variieren abhängig von der SAPI verwendet. Diese tests werden durchgeführt unter Verwendung von php-5.6.7-Win32-VC11-x86-CLI auf win 8.1.)