Heim  >  Artikel  >  PHP-Framework  >  Behebung des Fehlerberichtsproblems beim Deaktivieren des Debugging-Modus (APP_DEBUG=false) durch thinkphp6

Behebung des Fehlerberichtsproblems beim Deaktivieren des Debugging-Modus (APP_DEBUG=false) durch thinkphp6

藏色散人
藏色散人nach vorne
2020-12-25 16:09:525023Durchsuche

Die folgende Spalte mit dem thinkphpFramework-Tutorial zeigt Ihnen, wie Sie die Fehlerbehandlung im Debugging-Modus (APP_DEBUG=false) in thinkphp6 deaktivieren können Es!

Einführung


Hallo zusammen, als Pseudo-Ingenieur, der 2009 mit PHP in Kontakt kam, 2012 mit der Verwendung des TP-Frameworks begann und seit 16 Jahren keinen vollständigen Code mehr geschrieben hat, habe ich wirklich gemischte Gefühle Ich schreibe dieses LOG und bedauere, dass ich viel Zeit verschwendet habe und keinen Beitrag zum Fortschritt von PHP oder TP geleistet habe.
Der Hauptzweck dieses Artikels ist nicht das Problem selbst (da dieses Problem nicht schwer zu lösen ist). Aber um meine persönlichen Erfahrungen im Umgang mit ähnlichen Problemen weiterzugeben, hoffe ich, dass ich denjenigen, die sie benötigen, ein wenig helfen kann. Korrekturen sind willkommen, wenn meine Fähigkeiten begrenzt sind.

Problembeschreibung


Fehler beim Debuggen schließen:

  • tp6 fügt den .env-Konfigurationsmodus hinzu, es treten Probleme mit der offiziellen Umgebung auf;
  • Entwicklungs- und Testumgebung APP_DEBUG = TRUE, alles ist normal;
  • Setze APP_DEBUG = FALSE danach

Vorteile des Debug-Modus:

  • Der Vorteil des Debug-Modus besteht darin, dass alle Fehlerinformationen und Debugging-Informationen detailliert aufgezeichnet werden,
  • wird Zeichnen Sie den gesamten Ausführungsprozess im Detail auf.
  • Vorlagenänderungen können sofort wirksam werden.
  • Detaillierte Ausnahmeinformationen werden angezeigt, wenn eine Ausnahme auftritt
  • ENV-Dateien bearbeiten
// Aktivieren Sie den Debugging-Modus
APP_DEBUG = FASLE

// Andere Umgebungsvariableneinstellungen

// …

Lösungsideen


Schritt 1 Um das Problem zu reproduzieren, Der einfachste Weg, dies zu beantworten, besteht darin, das Debuggen im Testumgebungsmodus zu deaktivieren

Schritt 3 Überprüfen Sie das Problem, überprüfen Sie php_error.log, um die spezifische Beschreibung des Problems zu sehen.

APP_DEBUG = falseENV = testing.....


Schritt 4 Lösen Sie das Problem und stellen Sie fest, dass das Problem tatsächlich zur Hälfte gelöst ist 1 Notfalllösung, Debugging-Modus in der Online-Umgebung aktivieren
    #编辑php.ini文件,开启log_errors = On
    error_log = /data/logs/php7/php_error.log
  • Option 2 Kurzfristige Lösung, in config/annotation.php Deaktivieren Sie die Annotationsfunktion
#php error log 错误如下,路径需要换成您自己的,非必要信息略...PHP Fatal error:  Uncaught $YOUR_REAL_PATH\think\exception\ErrorException: Invalid argument supplied for foreach() in vendor/topthink/think-annotation/src/CachedReader.php:99
Stack trace:#0 /$YOUR_REAL_PATH/vendor/topthink/think-annotation/src/CachedReader.php(99): think\initializer\Error->appError(2, 'Invalid argumen...', '...', 99, Array)
Option 3 Langfristige Lösung, überprüfen Sie den CachedReader.php-Code, warum Der Fehler wird gemeldet?
    既然已经找到错误信息了,那么问题就比较好处理了:
    
    option1 如果着急上线,可以先开启调试模式
    option2 如果项目没用用注解可以关掉;
    option3 如果1和2都不行,那么久仔细研究下CachedReader.php,看看bug出在哪
  • Option 4 Wanmei-Lösung, ich hoffe, jeder kann regelmäßig auf Plug-in-Updates und BUG achten
  • APP_DEBUG = trueENV = live
      Problemzusammenfassung
    1.
      Direkt ini_set(„display_errors“,1) auf Codeebene
    • 2 Was soll ich tun, wenn es mehrere Lastausgleichsmaschinen gibt?
    • Sie können Hosts binden, um den Fehler an einer Maschine zu lokalisieren

    Das obige ist der detaillierte Inhalt vonBehebung des Fehlerberichtsproblems beim Deaktivieren des Debugging-Modus (APP_DEBUG=false) durch thinkphp6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
    Vorheriger Artikel:Über thinkphp mit mqttNächster Artikel:Über thinkphp mit mqtt