2017-10-01 4 views
0

Lors de l'exécution du serveur de développement PHP sur mon MacOS, je reçois l'erreur suivante de composer. Toutefois, lorsque vous exécutez exactement le même code sur ma machine Windows, tout semble fonctionner parfaitement. J'ai vérifié que je n'incluais pas l'instruction require pour le chargement automatique plus d'une fois. Qu'est-ce qui peut causer cela? J'utilise le compositeur de HomeBrew si cela fait une différence. Je ne peux pas voir comment un tel espace de noms de fichier spécifique pourrait être inclus plusieurs fois.Compositeur Erreur irrécupérable: Impossible de redéclarer composerRequire

EDIT

Compositeur 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; 
    } 
} 
+0

pouvez-vous coller le '/ vendor/composer/autoload_real.php' généré par le compositeur ici? – Federkun

+0

@Federkun Ajouté – Xenology

+0

Pourquoi ces noms de classe et de fonction? –

Répondre

0

Il semble que vous avez fait une copie d'un répertoire de projet existant et essayez de tun dans un nouveau répertoire

Essayez de supprimer composer.lock et vendor/ et exécutés composer update

I ne suis pas sûr à 100%, mais j'espère que cela aidera