Pourquoi mon autoload.php de compositeur ne fonctionne pas?

j'ai un projet, j'utilise Compositeur et je importer beaucoup de chose... j'ai besoin de l'autochargement.php dans mon index (la racine du projet) et istead Slim, Mongo, Twig fonctionnent très bien. Mais quand j'appelle une classe de respect / Validation, cela ne fonctionne pas; si j'utilise simplement Respect / Validation, l'erreur est:

Class 'RespectValidationValidator' not found in (path of file when i need it).

si j'essaie d'exiger également ici l'autoload.php les erreurs sont:

**Warning**: require_once(vendor/autoload.php): failed to open stream: No such file or directory in (path of file when i need it)

**Fatal error**: require_once(): Failed opening required 'vendor/autoload.php' (include_path='.;C:xamppphpPEAR') in (path of file when i need it)

18
demandé sur Matteo Calò 2013-08-19 15:29:15

7 réponses

Si vous utilisez un fichier (file.php) dans un répertoire particulier comme ceci:

/app/controller/validation

et votre répertoire vendeur est dans le chemin de base du projet, vous devez inclure le chemin relatif au répertoire vendeur:

../../../vendor/autoload.php
17
répondu Davide Pastore 2013-08-19 13:46:39

Essayez d'utiliser php composer dump-autoload. Ça pourrait régler ce problème.

22
répondu ciruvan 2013-08-19 11:31:08

j'ai fait ça. j'ai vérifié le fichier et les autorisations comme toujours, mais tout semble ok. Puis j'ouvre autoload.php et voir ... oh! nous avons __DIR__ bien sûr.

j'ai fait

require '../../vendor.autoload.php';

changé en

require __DIR__.'../../vendor.autoload.php';

pas politiquement correct, mais j'ai perdu du temps pour le moment.

bien sûr, il existe de meilleures alternatives à __DIR__ comme utiliser un chemin de BASE etc. Mais cela a fonctionné pour je.

7
répondu Abhishek Dujari 2014-02-07 18:22:10

j'ai eu le même problème avec xampp. J'ai installé compositeur et utilisé:

composer create-project --stability=dev --prefer-dist yiisoft/yii2-app-basic D:\xampp\htdocs\newapp

Mon problème résolu maintenant.

0
répondu jaip 2016-01-04 08:30:21

j'ai eu le même problème et je l'ai résolu en utilisant la dernière version de laravel, juste essayer ce code pour créer votre projet:

composer create-project laravel/laravel exampleProject --prefer-dist

c'utilise toujours la dernière version.

0
répondu 2016-07-02 15:34:03

j'ai résolu simple re-run composer update à partir de la racine du projet. (mon cas était sur Magento2, mais l'erreur et le chemin d'accès sont les mêmes)

0
répondu Francesco Tanganelli 2016-09-05 09:43:35

dans mon cas j'ai simplement oublié de changer mon répertoire de travail avant d'exécuter la commande composer require cboden/ratchet cmd cela fixe, il cd c:\path to project\composer require cboden/ratchet

0
répondu atswann 2017-04-30 17:18:42