phpmd 和函数 libxml_disable_entity_loader() 的问题

Problem with phpmd and Function libxml_disable_entity_loader()

我正在尝试 运行 这个命令:docker run -it --rm -v ${pwd}:/project -w /project jakzal/phpqa phpmd app text cleancode,codesize,controversial,design,naming,unusedcode

它returns:

Deprecated: Function libxml_disable_entity_loader() is deprecated in phar:///tools/.phive/phars/phpmd-2.9.1.phar/vendor/symfony/config/Util/XmlUtils.php on line 54

Deprecated: Function libxml_disable_entity_loader() is deprecated in phar:///tools/.phive/phars/phpmd-2.9.1.phar/vendor/symfony/config/Util/XmlUtils.php on line 68

Deprecated:Function libxml_disable_entity_loader() is deprecated in phar:///tools/.phive/phars/phpmd-2.9.1.phar/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php on line 517
Deprecated: Function libxml_disable_entity_loader() is deprecated in phar:///tools/.phive/phars/phpmd-2.9.1.phar/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php on line 519
The given file "app" does not exist.

几个小时以来我一直在寻找解决方案,但我找不到任何东西。我已经在我的项目中更新了 phpmd,但显然错误来自其他我找不到的位置。

我正在开发一个 Laravel + docker 项目并尝试进行一些代码验证。

关于错误

The given file "app" does not exist.

发生这种情况是因为您没有按照 ${pwd} 语法(实际工作目录的环境变量)中的建议在项目文件夹中 运行 此命令。

关于“libxml_disable_entity_loader”的警告,这是一个与 php8 相关的错误。它在 PHPMD GitHub 问题中公开讨论,您可以通过使用 php7.4 版本来跳过它。您的命令应如下所示:

docker run -it --rm -v ${pwd}:/project -w /project jakzal/phpqa:php7.4 phpmd app text cleancode,codesize,controversial,design,naming,unusedcode