Ich lief phpinfo()
und die error_log Direktive sagt einfach error_log
. Auf welche Datei bezieht sich das? d. h. was wäre der vollständige Pfad zum error_log?Wo werden PHP-Fehler protokolliert, wenn die Anweisung error_log einfach "error_log" sagt?
Antwort
Datei Öffnen Sie Ihre php.ini
Dies sollte bekommen haben Downvoted nicht, weil diese richtige Verwendung ist, wie beabsichtigt. Die Leute sollten die Werkzeuge so verwenden, wie sie vorgesehen sind, und nur dann ihre eigene Lösung aufdrehen, wenn sie nicht zugänglich oder nicht verfügbar ist. Es gibt zu viele Leute auf dieser Seite, die annehmen, dass es automatisch falsch ist, nur weil es ihr spezifisches Problem (und alle damit verbundenen, aber nicht gemeldeten Probleme) nicht gelöst hat. Das ist nicht falsch, und wenn es nicht funktioniert, ist Ihr Server schlecht eingerichtet, was Ihr wirkliches Problem ist. – mopsyd
Ich würde hinzufügen, dass Protokolle auch in der apache.conf oder vhost.conf auch definiert werden können. – mopsyd
Quote from the documentation den Weg gegen error_log Check:
error_log String
Name der Datei in dem Skriptfehler sollten angemeldet sein. Die Datei sollte vom Benutzer des Webservers beschreibbar sein. Wenn der spezielle Wert syslog verwendet wird, werden die Fehler stattdessen an die Systemprotokollierung gesendet. Unter Unix bedeutet dies syslog (3) und unter Windows NT das Ereignisprotokoll . Die Systemprotokollfunktion wird unter Windows 95 nicht unterstützt. Siehe auch: syslog(). Wenn diese Anweisung nicht gesetzt ist, werden Fehler an den SAPI Fehlerlogger gesendet. Zum Beispiel ist es ein Fehlerprotokoll in Apache oder stderr in CLI.
Also, wenn der Wert nicht gesetzt ist (das ist die Standardeinstellung) wird an die Mutterfehlerlogger gesendet werden, die Apache (wenn über sie laufen) oder stderr
, wenn Sie das Skript auf der Kommandozeile .
Wenn Sie das Skript über Apache verwenden, müssen Sie sich das Apache-Fehlerprotokoll ansehen, normalerweise in /var/log/apache
oder /var/log/httpd
, abhängig von Ihrer Distribution. Sie können die Apache-Konfigurationsdatei für den genauen Standort überprüfen.
Edit:
Ich habe gerade bemerkt falsch verstehe ich Ihre Frage, ich denke du meinst error_log
error_log
den Ist-Wert hat?
Ich habe gerade ein paar Tests gemacht. Wenn ich error_log
auf einen Wert wie php_errors.log
setze, schreibt PHP die Fehlermeldungen immer noch in das Apache-Fehlerprotokoll. Es verhält sich, als wäre der Wert leer. Wenn ich den Wert auf einen vollständigen Pfad einstelle (z. B. /tmp/php_errors.log
), schreibt er die Fehler in die angegebene Datei.
Also ich denke, in Ihrem Fall schreibt es die Fehler in die Apache-Fehlerprotokolldatei.
Natürlich können Sie Ihre eigenen Protokolldatei
ini_set("error_log", "/tmp/php_errors.log");
auf Ihre PHP-Dateien, wo Sie es brauchen gesetzt Hinzufügen (wenn es nicht von einem Administrator deaktiviert wurde).
gibt es kein '/ apache' in'/var/log'. aber es gibt ein 'error_log' in'/usr/local/apache/logs', aber es scheint keine PHP-Fehler zu zeigen. Wenn ich meine PHP-Seite starte, bekomme ich einen leeren Bildschirm und ich möchte den Syntaxfehler wissen. 'display_errors' ist in' php.ini' ausgeschaltet. – Ryan
sollten Sie 'display_errors' in Ihrer PHP-Datei selbst aktivieren können. Fügen Sie einfach 'ini_set (" display_errors ", 1);' am Anfang hinzu. –
prächtige Idee Freund – Ryan
Wenn der Wert einfach sagt error_log
(oder error_log = error_log
in Ihrer php.ini
-Datei), die die Fehler bedeutet, dass zu einer error_log
im gleichen Verzeichnis, das der Fehler auftritt genannte Datei geschrieben werden.
Also, wenn Sie eine Datei index.php
in /home/user/public_html/ genannt, die einen Fehler wirft, wird der Fehler geschrieben werden: /home/user/public_html/error_log.
Wenn Sie Datei resize.php
in /home/user/public_html/admin/images/ genannt haben, die einen Fehler wirft, dann werden die Fehler geschrieben werden: /home/user/public_html/admin/images/error_log
Quelle: Display and log errors for PHP
- 1. php error_log funktioniert nicht
- 2. error_log pro virtueller Host?
- 3. error_log Nachricht abgeschnitten wird, wenn print_r
- 4. sendmail Logging-Fehler zu meinem httpd error_log?
- 5. Ausgabe aller PHP-Fehler in die Datenbank nicht error_log
- 6. PHP error_log() nicht schreiben zu loggen - OSX El Capitan
- 7. Datei existiert nicht c: /wamp/www/favicon.ico in Apache error_log
- 8. Fehler für den virtuellen Host werden nicht in das angegebene ErrorLog geschrieben, sondern standardmäßig default error_log
- 9. Gibt es eine Möglichkeit, die Ausgabe in PHPUnit-Tests auf error_log zu "erwarten"?
- 10. Wo protokolliert Puma
- 11. Ich habe ein Array, das error_log(), aber nicht print_r() bricht, und funktioniert perfekt sonst
- 12. Warum nicht einfach Wenn ELSE-Anweisung in mySql arbeiten
- 13. Lumen http Fehler 500 in Nginx und wie man error_log zu sehen?
- 14. ClassLoader-Ausnahmen werden protokolliert
- 15. Welche NoSQL-Lösung ist am besten, um Apache error_log und access_log zu speichern? Kassandra oder MongoDB?
- 16. Analyseereignisse, die nicht in Firebase protokolliert werden
- 17. Wo sind all die Orte Sql Reporting Server protokolliert Fehler?
- 18. wo werden von Konsole ausgegeben.XXX wird protokolliert, wenn Sie nodejs mit opsworks verwenden?
- 19. Cube-Datenbank umbenannt - wo wird sie protokolliert?
- 20. Wann werden verkettete Ausnahmen protokolliert?
- 21. Warum werden doppelte Nachrichten protokolliert?
- 22. einfach, wenn und else-Anweisung funktioniert nicht porperly
- 23. Wie werden Anwendungsfehler protokolliert, wenn customErros auf Ein gesetzt ist?
- 24. Was passiert, wenn Protokolle nach dem Zusammenführen protokolliert werden?
- 25. Wann wird die Ausnahme protokolliert?
- 26. Ausnahmen werden nicht in der Konsole protokolliert.
- 27. NServiceBus-Ausnahmen, die als INFO-Nachrichten protokolliert werden
- 28. Bedingte LINQ wo Anweisung?
- 29. Warum werden Nachrichten auf Info-Ebene nicht protokolliert, wenn die Mindeststufe Debugging ist?
- 30. Python: Wo endet die if-endif-Anweisung?
das OS ist linux – Ryan