Ich weiß, dass dieses Problem schon oft veröffentlicht wurde, aber für mich scheint es ein anderes Problem zu sein.
In der Tat dieser Fehler
Warnung: require (vendor / autoload.php): Stream konnte nicht geöffnet werden: Keine solche Datei oder kein solches Verzeichnis in C: \ xampp \ htdocs \ site_web \ send_mail.php in Zeile 3
Schwerwiegender Fehler: require (): Fehler beim Öffnen von 'vendor / autoload.php' (include_path = 'C: \ xampp \ php \ PEAR') in C: \ xampp \ htdocs \ site_web \ send_mail.php in Zeile 3
erscheint am Anfang meines Codes aus dieser Zeile:
require 'vendor/autoload.php';
Ich denke, irgendwo auf meinem Computer muss sich eine Datei /vendor/autoload.php befinden (ich habe Composer installiert und ausgeführt composer require phpmailer/phpmailer
).
Also habe ich diese Datei mit: dir /s autoload.php
in der Windows-Befehlszeile gesucht und hier eine gefunden : C:\Windows\SysWOW64\vendor\autoload.php
,
aber für mich, syswow64 Ordner hat nichts mit dem sehen autoload.php , ich sehe nicht , was ich hier fehlt.
quelle
Antworten:
Was Sie vermissen, wird ausgeführt
composer install
, wodurch Ihre Pakete importiert und der Herstellerordner zusammen mit dem Autoload-Skript erstellt werden.Stellen Sie sicher, dass Ihr relativer Pfad korrekt ist. Die Beispielskripte in PHPMailer befinden sich beispielsweise
examples/
unterhalb des Projektstamms, sodass der richtige relative Pfad zum Laden des Composer-Autoloaders von dort aus vorhanden ist../vendor/autoload.php
.Die autoload.php, die Sie in gefunden haben,
C:\Windows\SysWOW64\vendor\autoload.php
ist wahrscheinlich eine globale Composer-Installation - in der Sie normalerweise Dinge wie phpcs, phpunit, phpmd usw. ablegen.composer update
ist nicht dasselbe und wahrscheinlich nicht das, was Sie verwenden möchten. Wenn Ihr Code mit Ihren aktuellen Paketversionen getestet wird,update
kann das Ausführen zu Fehlern führen, die möglicherweise weitere Arbeiten und Tests erfordern. Führenupdate
Sie ihn daher nur aus, wenn Sie einen bestimmten Grund haben und genau verstehen, was er bedeutet. Zur weiteren Verdeutlichung: Sie sollten wahrscheinlich immer nurcomposer update
lokal ausgeführt werden, niemals auf Ihrem Server, da es vernünftigerweise wahrscheinlich ist, dass Apps in der Produktion beschädigt werden.Ich sehe oft Beschwerden, dass Leute Composer nicht verwenden können, weil sie es nicht auf ihrem Server ausführen können (z. B. weil es gemeinsam genutzt wird und sie keinen Shell-Zugriff haben). In diesem Fall Sie können noch Komponist verwenden: führen Sie es lokal (eine Umgebung , die keine solchen Beschränkungen hat), und die lokalen Anbieter laden Ordner , um ihn zusammen mit allen anderen PHP - Skripte generiert.
Laufen
composer update
auch führt einecomposer install
, und wenn Sie derzeit nicht über einen habenvendor
Ordner (dh Sie haben eine neue Kasse eines Projekts), danncomposer install
führt effektiv eincomposer update
, aber es ist immer noch wichtig , den Unterschied zwischen den beiden zu verstehen , wie sie sind definitiv nicht austauschbar.Beachten Sie, dass es auch möglich ist, ein einzelnes Paket zu aktualisieren, indem Sie es benennen, zum Beispiel:
Dadurch wird die in Ihrem angegebene Version erneut aufgelöst,
composer.json
in Ihrem Herstellerordner installiert und Ihrecomposer.lock
Datei entsprechend aktualisiert . Dies ist weitaus weniger problematisch als allgemein,composer update
wenn Sie nur ein bestimmtes Update für ein Paket benötigen.Composer 2.0 (bald verfügbar) sollte alle verbleibenden Inkonsistenzen zwischen Installations- und Aktualisierungsergebnissen beseitigen.
quelle
composer install
und liest dann den Inhalt Ihrercomposer.json
Datei und installiert alle Ihre Abhängigkeiten in demvendor
Ordner. Wenn dies nicht der Fall ist, kann ich nur vorschlagen, die Dokumente zu lesen, auf die ich hingewiesen habe, und alles noch einmal zu überprüfen. Dies ist wirklich die Unterscheidung zwischen "Upload" und "Bereitstellung".Wenn Sie den Fehler auch beim Ausführen erhalten
Führen Sie einfach zuerst diesen Befehl aus
Dieser Befehl bereinigt alle kompilierten Dateien und ihre Pfade.
quelle
@ Bashir hat mir fast geholfen, aber ich brauchte:
Ich fand die Antwort hier: https://laracasts.com/discuss/channels/general-discussion/fatal-error-class-illuminatefoundationapplication-not-found-in-pathtoprojectbootstrapappphp-on-line-14?page=0
quelle
Stellen Sie zunächst sicher, dass Sie den Composer installiert haben.
Wenn Sie bereits installiert haben, aktualisieren Sie den Composer.
quelle
Richtige
autoload.php
Konfiguration:A) Schnelle Antwort :
Ihr autoload.php-Pfad ist falsch. dh.
C:\Windows\SysWOW64\vendor\autoload.php
Bisher: Sie müssen es ändern in:C:\Users\<Windows User Name>\vendor\autoload.php
B) Schritte mit Beispiel: Wir nehmen Facebook / PHP-Graph-SDK als Beispiel; nach
Package Name
Bedarf ändern .CMD
composer require facebook/graph-sdk
require_once 'C:\Users\<Windows User Name>\vendor\autoload.php';
Secrets
undAccess Token
für Ihr Paket ... usw.C) Weitere Details:
Durch die Installation von Composer unter Windows wird dieser Standardpfad für Ihre Pakete festgelegt. Sie können sie dort finden und den Autoloader-Pfad angeben:
Für die gleiche Frage, die Sie gestellt haben; Die Antwort war dieser Pfad für WAMP Server 64 BIT für Windows .
Dann ändern Sie einfach in Ihrer PHP-Anwendung Folgendes:
Zu:
Finden Sie Ihren Windows-Benutzernamen unter
C:\Users\
Zuvor müssen Sie, wie bereits in B) erwähnt, diesen Befehl ausführen:
für Facebook PHP SDK zum Beispiel:
Vielen Dank, dass Sie diese Frage gestellt haben. Ich schätze es, dass es mir geholfen hat, ein ähnliches Problem zu beheben, und dieses einfache Tutorial beendet hat.
quelle
Wenn Sie Ihr Projekt von Github geklont oder von einem anderen Ort erhalten haben, tritt dieser Fehler auf. Dies liegt daran, dass Sie den Herstellerordner und andere Dateien vermissen . Der Lieferantenordner enthält Pakete, die von Ihrem Projekt abhängig sind. Die Paketabhängigkeiten werden in gespeicherten
composer.json
Datei und der Ordner wurde ausgeschlossen , während auf Github schieben .Beheben Sie diesen Fehler, indem Sie einfach Folgendes ausführen:
composer install
Dann erhalten Sie alle für Ihr Projekt benötigten Assets.
quelle
laufen
composer update
. Das ist esquelle
Ich hatte diesen Pfad in meiner Maschine:
Dann lief ich
composer install
oder / undcomposer update
und es gab diesen Fehler zurück:Dieser Fehler ist, weil Ihr Pfad zu lang ist. Ich habe geändert zu:
und gearbeitet!
quelle
Ich konnte das Problem beheben, indem ich den Komponisten entfernte und den richtigen Weg neu installierte. Folgendes habe ich getan:
Ich konnte dann die Composer-Installation wieder zum Laufen bringen. Ich habe meine Antwort am Ende dieser Ausgabe gefunden: https://github.com/composer/composer/issues/5510
quelle
Überprüfen Sie zunächst die Route in index.php
In meinem Fall funktionierte die Route nicht, ich musste die Verzeichnisse überprüfen.
quelle
In Ihrem Projektordner fehlt der Herstellerordner, sodass folgende Fehlermeldung angezeigt wird:
Wenn Sie das Projekt über git herunterladen , wird das Projekt ohne den Herstellerordner heruntergeladen
Sie benötigen,
/vendor
weil alle Ihre Pakete vorhanden sind, einschließlich aller Klassen, die Laravel verwendet. Das Herstellerverzeichnis enthält Ihre Composer-Abhängigkeiten.Die Lösung ist einfach: Führen Sie einfach diesen Befehl aus:
composer update --no-scripts
Die Ausführung von in dercomposer.json
Datei definierten Skripten wird übersprungen .composer update
Es aktualisiert Ihre Abhängigkeiten, wie sie in dercomposer.json
Datei angegeben sind .Mit diesem Befehl erstellen Sie den Herstellerordner in Ihrem Projekt neu und danach funktioniert Ihr Projekt normal.
quelle
Es wird ein Verzeichnis namens "Vendor" geben, das sich in Ihrem Stammverzeichnis befinden muss, wenn Sie ein geklontes Repository haben und versuchen, diese Art von Fehler einzurichten.
Die Datei ".gitingore" enthält Code, der das Herstellerverzeichnis in GIT nicht enthält. Nach dem Klonen von GIT ist Ihr Projekt daher mit dem Problem eines fehlenden Herstellerverzeichnisses konfrontiert.
Sobald Sie das Herstellerverzeichnis hinzugefügt haben, funktioniert Ihr Projekt wieder.
quelle
Erstellen Sie die Datei composer.json mit der erforderlichen Bibliothek, z.
Führen Sie den folgenden Befehl aus, wenn composer.json vorhanden ist:
Im Falle von Drupal:
Verwenden Sie den Webstammordner von drupal, um beispielsweise das automatische Laden einzuschließen:
Bei anderen Systemen: Verwenden Sie die Variable oder den Speicherort des Stammordners, um die Datei autoload.php einzuschließen
quelle
Für mich Führen Sie einfach zuerst diesen Befehl aus
Herstellerordner hinzufügen.
Führen Sie dann diesen Befehl aus
Komponisten aktualisieren.
quelle
Dieser Fehler tritt auf, weil einige Dateien fehlen und der Hauptgrund " Composer " ist.
Führen Sie diese Befehle zuerst in CMD aus
Dann ein neues Projekt erstellen
Beispiel:
Danach starten Sie den Server mit
quelle
Ändern Sie die Eigenschaft auto_prepend_file in der php.ini
quelle