it-swarm.com.de

Warum funktioniert meine autoload.php von composer nicht?

Ich habe ein Projekt, benutze Composer und importiere viele Dinge damit ... ich benötige die autoload.php in meinem Index (das Wurzelverzeichnis des Projekts) und istead Slim, Mongo, Twig funktionieren sehr gut. Aber wenn ich eine Klasse von Respect/Validation anrufe, funktioniert das nicht. Wenn ich einfach Respect/Validation benutze, ist der Fehler:

Class 'Respect\Validation\Validator' not found in (path of file when i need it).

wenn ich versuche auch hier die autoload.php zu fordern sind die fehler:

**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:\xampp\php\PEAR') in (path of file when i need it)

18
Matteo Calò

Wenn Sie eine Datei (file.php) in einem bestimmten Verzeichnis wie folgt verwenden:

/app/controller/validation

wenn sich das Herstellerverzeichnis im Basispfad des Projekts befindet, müssen Sie den relativen Pfad zum Herstellerverzeichnis angeben:

../../../vendor/autoload.php
17
Davide Pastore

Versuchen Sie es mit php composer dump-autoload. Es kann dieses Problem beheben.

22
ciruvan

Ich tat dies. Ich habe die Datei und die Berechtigungen wie immer überprüft, aber alles sieht in Ordnung aus. Dann öffne ich autoload.php und sehe ... oh! wir haben __DIR__ natürlich.

Ich habe das gemacht

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

Gewechselt zu 

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

Nicht politisch korrekt, aber ich bin durch die frustrierende Zeitverschwendung für den Moment gekommen.

natürlich gibt es bessere Alternativen zu __DIR__ wie einen BASE-Pfad usw. Aber das hat bei mir funktioniert.

8
Abhishek Dujari

In meinem Fall habe ich einfach vergessen, mein Arbeitsverzeichnis zu ändern, bevor ich den Befehl composer require cboden/ratchet in cmd ausführte. Dieser Fehler wurde behoben. cd c:\path to project\ und composer require cboden/ratchet

0
atswann

Ich hatte das gleiche Problem mit Xampp. Ich habe Composer installiert und verwendet:

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

Mein Problem wurde behoben.

0
jaip

Ich hatte das gleiche Problem und habe es mit der letzten Version von Laravel gelöst. Versuchen Sie es mit diesem Code, um Ihr Projekt zu erstellen:

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

dies verwendet immer die letzte Version.

0
user4673171

Ich habe ein einfaches Re-Run-Composer-Update aus dem Projekt-Root gelöst. (Mein Fall war auf Magento2, aber der Fehler und der Pfad sind gleich)

Ich löse das Problem ohne install oder update von composer und einfach durch Verschieben von require_once von der Unterklasse in main page.

require_once 'vendor/autoload.php';