如何在Yii2中记录'已弃用警告”而不将其显示
P粉328911308
2023-09-05 16:40:49
<p>为了从PHP 8.0切换到8.1,我遇到了很多PHP <em>Deprecated Warnings</em>的显示。我可以简单地关闭它们,但最好是为了PHP 8.2修复它们,所以我尝试在我的应用程序在PHP 8.1中运行时获取这些警告的静默记录器。我需要在Yii 2和PHP中做哪些设置?这可行吗?</p>
<p>当我设置PHP为<code>error_reporting( E_ALL );</code>时,Yii 2应用程序会显示错误。这不是“静默”的方式。</p>
<p>Yii2配置:文件<em>main.php</em></p>
<pre class="brush:php;toolbar:false;">'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],</pre>
<p>我如何只记录这些PHP警告而不停止代码运行?</p>
试试这个:
现在,PHP警告将被记录,而不会停止代码的执行。然而,为了实现完全“无声”记录PHP警告的方式,您需要调整PHP错误报告的设置。
打开您的PHP配置文件(php.ini)。
找到error_reporting指令并修改它以包括E_WARNING。例如:
通过包括E_WARNING,您确保记录PHP警告,但其他类型的错误不会记录。
保存PHP配置文件并重新启动您的Web服务器以使更改生效。 通过这些更改,Yii2将将PHP警告记录到指定的日志文件中,同时允许代码的执行继续进行。您可以查看日志文件(php_warnings.log)以收集和处理PHP警告。