一尘不染

在Symfony 2(.7)中禁用不推荐使用的警告

php

自从我Symfony 2更新到2.7。我在PHPUnit和中有很多已弃用的错误console(消息现在很清楚)。

ProjectX\ApiBundle\Tests\Controller\SectionsControllerTest::testPostDebug()
The twig.form.resources configuration key is deprecated since version 2.6 and will be removed in 3.0. Use the twig.form_themes configuration key instead.

知道如何暂时禁用它们吗?


阅读 206

收藏
2020-05-26

共1个答案

一尘不染

我有相同的问题,并通过以下链接进行了解决。Symfony声明要报告所有错误,并按设计覆盖您在php.ini中放置的内容(否则它将无法为您捕获并显示漂亮的堆栈跟踪)。

因此,您需要 通过init()在AppKernel.php中创建一个函数并设置error_reporting您想要的方式
覆盖Symfony2的内置错误报告 ,并(可能)进行一些环境检测以确保您不显示生产错误,例如:

// Add this to app/AppKernel.php
public function init()
{
    if ($this->debug) {
        ini_set('display_errors', 1);
        error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
    } else {
        ini_set('display_errors', 0);
    }
}

更多详细信息(如果您不阅读俄语,请使用Google翻译:)http://tokarchuk.ru/2012/12/disable-deprecated-
warnings-in-symfony-2/

2020-05-26