So protokollieren Sie eine „veraltete Warnung' in Yii2, ohne sie anzuzeigen
P粉328911308
P粉328911308 2023-09-05 16:40:49
0
1
491

Beim Wechsel von PHP 8.0 auf 8.1 sind mir viele PHP-Warnungen Veraltete Warnungen aufgefallen. Ich könnte sie einfach ausschalten, aber es wäre besser, sie für PHP 8.2 zu beheben, deshalb versuche ich, einen stillen Logger dieser Warnungen zu bekommen, wenn meine Anwendung in PHP 8.1 läuft. Welche Einstellungen muss ich in Yii 2 und PHP vornehmen? Ist das möglich?

Wenn ich PHP auf error_reporting( E_ALL ); setze, zeigt die Yii 2-Anwendung Fehler an. Dies ist nicht der „stille“ Weg.

Yii2-Konfiguration: Dateimain.php

'targets' => [ 'class' => 'yiilogFileTarget', 'levels' => ['error', 'warning'], ],

Wie kann ich diese PHP-Warnungen einfach protokollieren, ohne die Ausführung des Codes zu stoppen?

P粉328911308
P粉328911308

Antworte allen (1)
P粉546179835

试试这个:

'log' => [ 'traceLevel' => YII_DEBUG ? 3 : 0, 'targets' => [ [ 'class' => 'yii\log\FileTarget', 'categories' => ['yii\base\*'], 'levels' => ['error', 'warning','deprecated'], 'logFile' => '@runtime/logs/php_warnings.log', ], ],

现在,PHP警告将被记录,而不会停止代码的执行。然而,为了实现完全“无声”记录PHP警告的方式,您需要调整PHP错误报告的设置。

打开您的PHP配置文件(php.ini)。

找到error_reporting指令并修改它以包括E_WARNING。例如:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE | E_WARNING

通过包括E_WARNING,您确保记录PHP警告,但其他类型的错误不会记录。

保存PHP配置文件并重新启动您的Web服务器以使更改生效。 通过这些更改,Yii2将将PHP警告记录到指定的日志文件中,同时允许代码的执行继续进行。您可以查看日志文件(php_warnings.log)以收集和处理PHP警告。

    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!