Symfony 4“;期望找到“类”;错误是随机发生的

Symfony 4“;期望找到“类”;错误是随机发生的,symfony,symfony4,Symfony,Symfony4,我有一个名为LoginListener的侦听器,它可以工作,但由于某些原因,我在请求路由时会随机出现此错误。如果我然后刷新它没有发生,那么将再次随机发生 应在文件中找到类“App\Security\LoginListener” “/home/nibbrstaging/webuyanyhouse.nibbrstaging.com/api/src/Security/LoginListener.php” 从资源“./src/*”导入服务时,但它不是 建立检查中与资源一起使用的命名空间前缀 /home/

我有一个名为LoginListener的侦听器,它可以工作,但由于某些原因,我在请求路由时会随机出现此错误。如果我然后刷新它没有发生,那么将再次随机发生

应在文件中找到类“App\Security\LoginListener” “/home/nibbrstaging/webuyanyhouse.nibbrstaging.com/api/src/Security/LoginListener.php” 从资源“./src/*”导入服务时,但它不是 建立检查中与资源一起使用的命名空间前缀 /home/nibbrstaging/webuyanyhouse.nibbrstaging.com/api/config/services.yaml (已加载到资源中) “/home/nibbrstaging/webuyanyhouse.nibbrstaging.com/api/config/services.yaml”)

我注意到这几次,当我说编辑一个控制器并添加一个新路由时,它会抛出这个错误。如果我在新的控制器方法中删除一堆空白,它就会消失

这是一个奇怪的问题,以前有人见过这种情况吗?如何解决

它在开发模式和产品模式下都可以这样做,下面是我的自动加载配置:

"autoload": {
    "psr-4": {
      "App\\": "src/"
    }
  },
  "autoload-dev": {
    "psr-4": {
      "App\\Tests\\": "tests/"
    }
  },

该消息来自Symfony的autowire功能,它扫描一个目录中的php文件,并期望找到一个名称与PSR4标准匹配的类。通常清除缓存会处理它。我认为PHP的一些操作码缓存在某一点上也存在问题。您使用的是哪个PHP版本?如果可行的话,升级到最新的PHP 7.4.x可能会有所帮助。LoginListener的定义名称空间是什么?@Cerad yeh清除缓存并运行composer dump autoload似乎会有所帮助。我们目前正在使用7.2,不确定直接升级到7.4是否会产生不利影响?它不应该这样做,是吗?@peetya-App\Service@GlenElkins看起来您在本地文件系统和代码服务器位置之间有一些同步。你用docker还是别的什么?这可能是docker sync的一个原因