我已将Symfony 3.4升级到4.4。剩下的唯一弃用警告是:
php.INFO:用户弃用:;Symfony\Component\Debug\DebugClassLoader"类已弃用自Symfony 4.4以来;Symfony\Component\ErrorHandler\DebugClassLoader"相反{异常:[对象](错误异常(代码:0(:用户已弃用:";Symfony\Component\Debug\DebugClassLoader"类从Symfony 4.4开始就被弃用,使用";Symfony\Component\ErrorHandler\DebugClassLoader"相反在/vender/symfony/symfony/src/symfony/Component/Debug/DebugClassLoader.php:16("}[]
我不会在任何地方使用DebugClassLoader
。如何删除此警告?
检查您的index.php
和bin/console
文件。
例如,在index.php
中,应该有这样一个部分:
if ($_SERVER['APP_DEBUG']) {
umask(0000);
Debug::enable();
}
但相应的导入可能是:
use SymfonyComponentDebugDebug;
在两个文件中都将其更改为:
use SymfonyComponentErrorHandlerDebug;
检查您的bin/console
文件。
您需要更改:
使用Symfony\Component\Debug\Debug;
到:
使用Symfony\Component\ErrorHandler\Debug;
执行命令时,您将收到一条弃用消息。
在Configuration.php(vendor/codepception/codepception/src/Codepception(中
设置
'convert_deprecations_to_exceptions' => true
这对我来说很好
如果您检查跟踪,您将看到:
User Deprecated: The "SymfonyComponentDebugDebugClassLoader" class is deprecated since Symfony 4.4, use "SymfonyComponentErrorHandlerDebugClassLoader" instead.
Show context Hide trace
{▼
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/Debug/DebugClassLoader.php:16 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Caster/ExceptionCaster.php:216 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Caster/ExceptionCaster.php:149 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Cloner/AbstractCloner.php:341 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Cloner/VarCloner.php:209 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/VarDumper/Cloner/AbstractCloner.php:274 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DataCollector/DataCollector.php:85 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php:75 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php:100 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php:127 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/WrappedListener.php:126 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:264 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:239 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/EventDispatcher.php:73 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php:168 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:103 {▶}
/var/www/html/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:166 {▶}
/var/www/html/web/app_dev.php:13 {▼
› $response->send();
› $kernel->terminate($request, $response);
›
}
}
它似乎来自Symfony/Component/HttpKernel/Kernel
。
在供应商文件夹中搜索使用情况,如果它来自Symfony以外的其他组件,请检查该组件的更新版本,并对其进行修复。如果不推荐使用的组件仅由Symfony自己使用,我不会花太多时间担心它。一旦您将Symfony升级到下一个主要版本,它就会得到解决。