无法声明类 ComposerAutoloaderInit

Maa*_*olf 6 php protocol-buffers

我有一个问题,我有一个错误,无法修复。该错误表明该名称已被使用。我想做的是调用一个需要返回一些响应的 API。由于此错误,我无法访问我的 API 的数据

错误

Cannot declare class ComposerAutoloaderInitd1e500cc63b56a87596c43fefa8d9495, because the name is already in use in
Run Code Online (Sandbox Code Playgroud)

这是我的 autoload.php

<?php

// autoload.php @generated by Composer

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

return ComposerAutoloaderInitd1e500cc63b56a87596c43fefa8d9495::getLoader();
Run Code Online (Sandbox Code Playgroud)

autoload_real.php

<?php

// autoload_real.php @generated by Composer

class ComposerAutoloaderInitd1e500cc63b56a87596c43fefa8d9495
{
    private static $loader;

    public static function loadClassLoader($class)
    {
        if ('Composer\Autoload\ClassLoader' === $class) {
            require __DIR__ . '/ClassLoader.php';
        }
    }

    public static function getLoader()
    {
        if (null !== self::$loader) {
            return self::$loader;
        }

        spl_autoload_register(array('ComposerAutoloaderInitd1e500cc63b56a87596c43fefa8d9495', 'loadClassLoader'), true, true);
        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
        spl_autoload_unregister(array('ComposerAutoloaderInitd1e500cc63b56a87596c43fefa8d9495', 'loadClassLoader'));

        $includePaths = require __DIR__ . '/include_paths.php';
        $includePaths[] = get_include_path();
        set_include_path(implode(PATH_SEPARATOR, $includePaths));

        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
        if ($useStaticLoader) {
            require_once __DIR__ . '/autoload_static.php';

            call_user_func(\Composer\Autoload\ComposerStaticInitd1e500cc63b56a87596c43fefa8d9495::getInitializer($loader));
        } else {
            $map = require __DIR__ . '/autoload_namespaces.php';
            foreach ($map as $namespace => $path) {
                $loader->set($namespace, $path);
            }

            $map = require __DIR__ . '/autoload_psr4.php';
            foreach ($map as $namespace => $path) {
                $loader->setPsr4($namespace, $path);
            }

            $classMap = require __DIR__ . '/autoload_classmap.php';
            if ($classMap) {
                $loader->addClassMap($classMap);
            }
        }

        $loader->register(true);

        return $loader;
    }
}

Run Code Online (Sandbox Code Playgroud)

小智 2

当我从两个目录中包含两个作曲家自动加载器时遇到了这个问题,其中一个是另一个目录的副本(不要问我为什么)。

基于这个GitHub Issue我总结了我的解决方案:

删除composer锁定文件(例如composer.lock)并执行composer update

就我而言,我也刚刚删除了供应商目录。