作曲家致命错误:无法重新声明 composerRequire

Xen*_*ogy 1 php slim composer-php slim-3

在 MacOS 上运行 PHP 开发服务器时,我从 Composer 收到以下错误。

Fatal error: Cannot redeclare composerRequire01a3dc0b1f885ed2b645be37711584c1() 
(previously declared in /Users/<user>/Desktop/<app>/vendor/composer/autoload_real.php:63) 
in /Users/<user>/Desktop/<app>/vendor/composer/autoload_real.php on line 70
Run Code Online (Sandbox Code Playgroud)

然而,当在我的 Windows 机器上运行这个完全相同的代码时,一切似乎都运行得很好。我已经确认我没有多次包含自动加载的 require 语句。什么可能导致这种情况?如果这有什么不同,我正在使用 HomeBrew 的 Composer。我只是看不出如何多次包含这样一个特定的文件命名空间。

编辑

作曲家 autoload_real.php

<?php

// autoload_real.php @generated by Composer

class ComposerAutoloaderInit01a3dc0b1f885ed2b645be37711584c1
{
    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('ComposerAutoloaderInit01a3dc0b1f885ed2b645be37711584c1', 'loadClassLoader'), true, true);
        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
        spl_autoload_unregister(array('ComposerAutoloaderInit01a3dc0b1f885ed2b645be37711584c1', 'loadClassLoader'));

        $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\ComposerStaticInit01a3dc0b1f885ed2b645be37711584c1::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);

        if ($useStaticLoader) {
            $includeFiles = Composer\Autoload\ComposerStaticInit01a3dc0b1f885ed2b645be37711584c1::$files;
        } else {
            $includeFiles = require __DIR__ . '/autoload_files.php';
        }
        foreach ($includeFiles as $fileIdentifier => $file) {
            composerRequire01a3dc0b1f885ed2b645be37711584c1($fileIdentifier, $file);
        }

        return $loader;
    }
}

function composerRequire01a3dc0b1f885ed2b645be37711584c1($fileIdentifier, $file)
{
    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
        require $file;

        $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

您似乎复制了现有项目目录并尝试在新目录中调整它

尝试删除composer.lockvendor/并运行composer update

我不是 100% 肯定,但希望它会有所帮助