iis 错误framework-extra-bundle注解“无法解析文件[...] XML文件无效,”

bqujaahr  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(94)

几个月以来,我的Symfony项目中经常出现错误。每次编辑项目根目录下的文件(即使是在aidertxt文件中添加空格也会重现bug),我都会得到这个错误。
无法解析文件“[根路径]\供应商\sensio\框架额外捆绑包\src\依赖关系注入/../Resources/config\注解.xml”:XML文件“[根路径]\供应商\sensio\框架额外捆绑包\src\依赖关系注入/../Resources/config\注解.xml”无效。

使用命令行symfony console cache:clear删除错误。
我认为这个错误与PhpStorm有关,因为当我用它编辑根文件时会出现这个错误,但是当我用VSCode或记事本++编辑根文件时,这个错误是不可重现的。
我正在使用PhpStorm版本2021.2,也尝试了2021.1.4和2020.3.3。我试图禁用所有的PhpStorm插件。
该项目是使用Symfony 5.3创建的,但使用Symfony 5.1的旧项目会重现该错误
有人知道如何解决这个问题,或者知道我可以尝试解决这个问题吗?

编辑:

下面是annotations.xml的内容:

<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

    <services>
        <service id="sensio_framework_extra.controller.listener" class="Sensio\Bundle\FrameworkExtraBundle\EventListener\ControllerListener">
            <tag name="kernel.event_subscriber" />
            <argument type="service" id="annotation_reader" />
        </service>
    </services>
</container>

我在annotations.xml文件中没有发现错误之前、期间和之后的修改。

编辑2:

经过更多的测试,每次在根目录下删除或创建文件时,即使使用VS代码或Windows资源管理器等其他工具,也会重现此错误。
该错误是在修改时产生的,只有与PhpStorm,所以我猜它创建和删除一个临时文件或类似的东西时,编辑一个文件。

h43kikqp

h43kikqp1#

该错误似乎来自IIS、Symfony和PHP版本8.0.8和8.0.10(其他版本可能导致相同问题)。
将IIS服务器的PHP版本更改为8.0.0可防止发生此错误。

mjqavswn

mjqavswn2#

在我的例子中(symfony6,php8.1),它有助于在配置中进行更改

sensio_framework_extra:
    router:      { annotations: false }

因为sensio_framework_extra包在默认配置中有不赞成使用地方。

相关问题