Wo werden die PHP-Fehlerprotokolle auf einem Debian-8-Jessie-Server gespeichert?

4005
Michael

Ich weiß, dass diese Frage schon oft gestellt wurde, und ich habe mir alle Antworten angesehen, aber sie scheinen für mich nicht zu funktionieren. Ich versuche zu prüfen, ob das Fehlerprotokoll für PHP aktiviert ist, also ging ich zur Datei php.ini und entkommentierte die Zeile im Bild unten.

Wo werden die PHP-Fehlerprotokolle auf einem Debian-8-Jessie-Server gespeichert?

Ich habe versucht, mithilfe des Befehls "whereis" herauszufinden, wo sich php_error.log befindet, aber es wurde eine Zeile mit "php_error:" und nichts anderes zurückgegeben. Ist dies der richtige Weg, um die PHP-Fehlerprotokolle anzuzeigen / zu aktivieren? Wenn nicht, wie kann ich und kann ich sie in einen einfacheren Ordner umleiten, auf den zugegriffen werden kann, z.

Ich verstehe auch, dass es viele verschiedene Arten von Fehlern gibt, aber muss ich alle Pfade konfigurieren, oder gehen sie automatisch in dasselbe Fehlerprotokoll?

Als Nebenbemerkung habe ich apache2 installiert. Ich habe eine Menge Fragen bezüglich PHP und Apache2 gesehen und bin mir nicht sicher, warum die Fehlerprotokollierung so funktioniert?

Vielen Dank

0

1 Antwort auf die Frage

3
kostix

Das Problem ist, dass es mehrere Möglichkeiten gibt, PHP-Skripts auszuführen, wenn auf sie über einen Webserver zugegriffen wird. Die Protokollierung hängt davon ab. Unabhängig davon, was immer PHP ausführt, wird die Protokollierung beibehalten.

Auf meinen Jessie (Debian 8) -Systemen führe ich PHP aus, php5-fpmund es wurde die Protokollierung konfiguriert /etc/php5/fpm/php-fpm.conf(dies kann jedoch für jeden sogenannten "Pool" php-fpm-Verbrauch außer Kraft gesetzt werden).

Auf älteren Systemen war es üblich, PHP mit zu verwenden mod_fcgid. In diesem Fall wird die php5-cgiBinärdatei verwendet, um die Skripts tatsächlich auszuführen, und liest ihre Konfiguration aus /etc/php5/cgi/php.ini.

Einige Leute verwenden immer mod_phpnoch PHP-Skripts, und in diesem Fall wird so etwas /etc/php5/apache2/php.inivon diesem Modul verwendet.

Um es zusammenzufassen, hängt die Konfiguration davon ab, wie Sie Aufrufe von PHP-Skripts ausführen. Ermitteln Sie dies also zuerst und arbeiten Sie dann von dort aus.

Ein Tipp: Wenn Sie mit PHP nur wenig funktionieren, erstellen Sie eine einfache Site, die nur ein einziges Skript liest

<?php phpinfo(); 

Greifen Sie auf dieses Skript zu und sehen Sie, was die PHP-Engine über ihre Konfiguration druckt - einschließlich der Orte, an denen sie diese Konfiguration erworben hat.