作曲家致命错误:无法重新声明composerRequire
问题描述:
在我的MacOS上运行PHP开发服务器时,我从作曲家那里得到以下错误。作曲家致命错误:无法重新声明composerRequire
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
运行在我的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;
}
}
答
看来你让现有项目目录的副本,并尝试囤它在一个新的目录
尝试删除composer.lock
和vendor/
并运行composer update
I '不是100%肯定,但希望它能帮助
你能粘贴作曲家生成的'/ vendor/composer/autoload_real.php'吗? – Federkun
@Federkun新增 – Xenology
为什么这些类和函数名称tho? –