这让我发疯。一切都进展顺利,直到我尝试更改我的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();
更新:
我在本地使用 Adobe 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/