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)
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
Essayez d'utiliser php composer dump-autoload
. Ça pourrait régler ce problème.
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.
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.
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)
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