Heim  >  Artikel  >  Backend-Entwicklung  >  So aktivieren Sie das PHP-Apache-Fehlerprotokoll

So aktivieren Sie das PHP-Apache-Fehlerprotokoll

藏色散人
藏色散人Original
2020-10-20 10:06:203684Durchsuche

So aktivieren Sie das PHP-Apache-Fehlerprotokoll: Ändern Sie zuerst die Konfiguration in php-fpm.conf; ändern Sie dann die Konfiguration in php.ini auf „log_errors = On“ und starten Sie schließlich php-fpm neu.

So aktivieren Sie das PHP-Apache-Fehlerprotokoll

Empfohlen: „PHP-Video-Tutorial

nginx und Apache ermöglichen PHP-Fehlerprotokollierung

LNMP-Entwicklungsumgebung, die kürzlich lokal erstellt wurde. Um die normale Entwicklung des Frontends während der Entwicklung nicht zu beeinträchtigen, werden einige Fehlermeldungen in der php.ini in PHP blockiert. Dies wirkt sich jedoch auf einige Probleme in der Back-End-Entwicklung aus, z. B. darauf, dass einige Probleme in der Entwicklung nicht rechtzeitig behoben werden können. Nginx unterscheidet sich von Apache. In Apache können Sie das PHP-Fehlerprotokoll direkt angeben Es kann in PHP ausgeführt werden. Die Fehlerinformationen in PHP werden direkt in das Fehlerprotokoll von PHP eingegeben, das einfach abgefragt werden kann.

In Nginx sieht es so aus: Nginx zeichnet nur Zugriffsprotokolle für Seitenbesuche auf. Es werden keine PHP-Fehlerprotokollinformationen angezeigt. Nginx sendet die PHP-Anfrage zur Verarbeitung an den PHP-FPM-Fastcgi-Prozess. Der Standardwert von PHP-FPM gibt nur die Fehlermeldung von PHP-FPM aus, und das Fehlerprotokoll von PHP kann nicht im Fehlerprotokoll von PHP-FPM angezeigt werden.

Der Grund dafür ist, dass die PHP-FPM-Konfigurationsdatei php-fpm.conf standardmäßig die Fehlerausgabe des Arbeitsprozesses deaktiviert und sie direkt nach /dev/null umleitet, sodass wir sowohl ein Nginx-Fehlerprotokoll als auch ein PHP-FPM-Fehlerprotokoll haben . Ich kann das PHP-Fehlerprotokoll nicht sehen.

Daher müssen wir die folgenden Einstellungen vornehmen, um zu sehen, dass php-fpm keine PHP-Fehlerprotokolle unter nginx aufzeichnet:

1 Ändern Sie die Konfiguration in php-fpm.conf, fügen Sie bitte hinzu:

[global]
; Note: the default prefix is /usr/local/php/var
error_log = log/php_error_log
[www]
catch_workers_output = yes

2. Ändern Sie die Konfiguration in php.ini, wenn nicht, fügen Sie hinzu:

log_errors = On
error_log = "/usr/local/php/var/log/error_log"
error_reporting=E_ALL&~E_NOTICE

3. Starten Sie php-fpm neu

Wenn PHP einen Fehler ausführt, können Sie das Fehlerprotokoll in „/usr/local/lnmp/php/var“ sehen /log/ php_error_log"

Wenn es erscheint:

[root@localhost etc]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm [17-Apr-2014 18:40:52] ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry 'catch_workers_
[17-Apr-2014 18:40:52] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[17-Apr-2014 18:40:52] ERROR: FPM initialization failed
failed

Dann schreiben Sie bitte im ersten Schritt sorgfältig die Konfiguration in die entsprechende Gruppe, sonst erscheint der obige Fehler:

ERROR: [/usr/local/php/etc/php-fpm.conf:5] unknown entry ‘catch_workers_output'
 
 
apache
 
display_errors

Fehlerecho, häufige Ausdrücke Entwicklungsmodus, aber Viele Anwendungen vergessen, diese Option in der Produktionsumgebung zu deaktivieren. Fehlerechos können viele vertrauliche Informationen preisgeben, was den nächsten Angriff des Angreifers erleichtert. Es wird empfohlen, diese Option zu deaktivieren.

display_errors = On

Wenn ein Fehler auftritt, wird ein Fehler gemeldet und eine Fehlermeldung angezeigt.

dispaly_errors = Off

Wenn beim Schließen ein Fehler auftritt, wird ein Serverfehler angezeigt. Es wird jedoch keine Fehlermeldung angezeigt

log_errors

Verwenden Sie dies einfach in einer formalen Umgebung und zeichnen Sie die Fehlerinformationen im Protokoll auf. Gerade rechtzeitig, um das Fehlerecho auszuschalten.

Sobald ein Produkt in Betrieb genommen wird, müssen PHP-Entwickler zunächst die Option display_errors deaktivieren, um Angriffen durch Hacker aufgrund der durch diese Fehler offengelegten Pfade, Datenbankverbindungen, Datentabellen und anderen Informationen zu entgehen.

Nachdem ein Produkt in Betrieb genommen wurde, ist es unvermeidlich, dass Fehlermeldungen angezeigt werden. Wie kann man also diese für Entwickler sehr nützlichen Informationen aufzeichnen?

Aktivieren Sie einfach PHPs log_errors. Standardmäßig wird es in der Protokolldatei des WEB-Servers aufgezeichnet, z. B. in der Datei error.log von Apache.

Natürlich können Sie Fehlerprotokolle auch in bestimmten Dateien aufzeichnen.

Das obige ist der detaillierte Inhalt vonSo aktivieren Sie das PHP-Apache-Fehlerprotokoll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn