doctrine-orm - 在供应商/autoload.php 中找不到 Composer/Doctrine 2 类 'ComposerAutoloaderInit...'

标签 doctrine-orm composer-php autoloader

这让我发疯。一切都进展顺利,直到我尝试更改我的composer.json 文件。一旦我进行了composer.update'ed,我就开始在日志中收到此错误:

PHP Fatal error:  Class 'ComposerAutoloaderInite904d9fc0cad6e1b28066897f772cc3f' not found in /home/apache2/htdocs/doctrine/vendor/autoload.php on line 7

我已经将composer.json改回正常状态,甚至删除了整个目录并重新开始。绝对没有任何效果。

这是 autoload.php 文件。

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

return ComposerAutoloaderInite904d9fc0cad6e1b28066897f772cc3f::getLoader();

更新:

我在本地使用 Adob​​e Dreamweaver 编辑远程 Linux 服务器上的文件。

我发现了一种模式。仅当我更新位于/src 文件夹之外的文件时,才会出现此类错误。例如,如果我更新 src/Form.php,上传时一切正常。如果我更新 admin/access/formbuilder.php,我会收到类错误,直到我编写 dump-autoload。

我只是尝试将“admin/access/添加到composer.json 中的自动加载中,但这并不能解决问题。composer.json 文件如下所示:

{
  "require": {
      "doctrine/orm": "2.4.*",
      "symfony/yaml": "2.*"
  },
  "autoload": {
      "classmap":["src/", "admin/access/"]
  }
}

最佳答案

您不应该提供该文件(您提到该文件取自教程)。这是由 Composer 在更新过程中自动生成的,并且也在安装过程中生成。类名是动态生成的,永远不会匹配当前的自动加载器类名。

如果您以某种方式在自己的源代码管理中提交了该文件,那么您应该删除它。不要使用将该文件恢复到之前状态的代码。

关于doctrine-orm - 在供应商/autoload.php 中找不到 Composer/Doctrine 2 类 'ComposerAutoloaderInit...',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796196/

相关文章:

composer-php - 我的 Composer psr-4 自动加载有什么问题?

php - Symfony2 表单 : add delete icon near each element

php - 未找到类 'Doctrine\Common\Annotations\AnnotationRegistry'

php - Laravel 安装 "Your requirements could not be resolved to an installable set of packages."

php - 如何使用 php-fpm 和 php-cli 运行 docker-compose?

php - Composer 安装错误 - 输出不是 tty,输入不是 tty

php - OOP 项目的自动加载器

symfony - 有没有办法使用 symfony2 实体验证作为学说验证?

php - 动态目标实体 Doctrine 2 和 Symfony 2

php - 如何在 Symfony 4 中使用简单的函数?