Eingabedatei konnte nicht geöffnet werden: handwerker


264

Beim Versuch, ein neues Laravel-Projekt zu erstellen, wird in der CLI der folgende Fehler angezeigt:

Eingabedatei konnte nicht geöffnet werden: handwerker

Script PHP Artisan Clear-Compiled-Behandlung des Post-Install-Cmd-Ereignisses, das mit einem Fehler zurückgegeben wurde

Ich verwende die neueste Version von XAMPP v3.2.1 mit PHP 5.5.15 und aktiviertem mcrypt (stellen Sie dies sicher, indem Sie den Befehl php -m eingeben). Und ich verwende Windows 8.1


1
Sieht aus wie diese Frage alt ist. Haben Sie das Problem herausgefunden? Wenn es Ihnen nichts ausmacht, teilen Sie die Frage mit dem Rest des
Teams

10
Ich denke, PHP Artisan soll aus dem Stammordner der Laravel-Site aufgerufen werden. Andernfalls wird dieser Fehler angezeigt.
Eugine Joseph

Sie müssen Ihren Handwerkerbefehl auf derselben Ebene wie Ihr Handwerkerverzeichnis ausführen. Dies wird sicherstellen, dass Sie in Ihrem Laravel-Projekt sind
Sweet Chilly Philly

1
Nebenbemerkung: Anfangs dachte ich, wenn php artisan ...es aufgerufen wurde, war es eine Art Option für den phpBefehl. Es stellt sich heraus, dass es sich um eine Datei mit dem Namen handelt, artisandie sich im Stammverzeichnis Ihres Laravel-Projekts befindet. Es sollte wirklich aufgerufen werden, artisan.phpda es sich um ein tatsächliches PHP-Skript handelt, aber die Erweiterung wird aus Gründen der Kürze weggelassen.
Flamme

Antworten:


395

Sie müssen zuerst ein Laravel-Projekt erstellen. Wenn Sie bereits eines haben, müssen Sie cdbeispielsweise mit dem Befehl im Terminal zu diesem Projektverzeichnis wechseln cd myproject.

Jetzt können Sie alle handwerklichen Befehle php artisanausführen. Wenn Sie beispielsweise ausführen, wird eine Liste der verfügbaren Befehle angezeigt.


2
Dieser Fehler tritt auf, wenn ich versuche, ein neues Laravel-Projekt zu erstellen: cd xampp / htdocs, dann Composer create-project laravel / laravel newLaravelProject Es werden alle erforderlichen Abhängigkeiten heruntergeladen, und plötzlich wird dieser Fehler angezeigt.
Wessodesigner

1
Wenn Sie Ihren App-Ordner mit .env, Herstellerordner, Konfigurationsordner usw. an einen anderen Ort verschoben haben, müssen Sie möglicherweise das Verzeichnis root an diesen Speicherort ändern.
Eranda

Dies sollte die ausgewählte Antwort sein. Hat perfekt funktioniert!
Tschad

149

Sie können nicht verwenden, php artisanwenn Sie sich nicht in einem laravelProjektordner befinden.

Deshalb heißt es 'Could not open input file - artisan'.


Natürlich muss man composer installfast einmal machen
Leonardo Saracini

21

Wenn Sie Projekt ist bei /home/forge/laravel-project/

Sie können Ihren Handwerker so richtig ausführen

php /home/forge/laravel-project/artisan ...


In Windows können Sie tunphp 'E:\path\to_your_domain\artisan' october:up
Dmitry

11

Höchstwahrscheinlich befinden Sie sich nicht im richtigen Verzeichnis!


9

Ich musste nur artisanausführbar machen .

chmod +x artisan

... und es funktioniert dann ohne das PHP-Präfix.


9

Stellen Sie zunächst sicher, dass Sie sich im Laravel-Projektordner befinden, da das Terminal die artisanDatei sonst nicht im Projektverzeichnis finden kann und alle nachfolgenden Anforderungen, die Sie zum Starten eines Servers gestellt haben, abgelehnt werden.

Demo

Nehmen wir an, unser Laravel-Projektname ist blogund befindet sich inC:\laravel Wir haben dann:C:\laravel\blog

Wo soll das Terminal geöffnet werden?

Navigieren Sie zum C:\laravel\blogVerzeichnis und öffnen Sie das Befehlsfenster (Terminal). Geben Sie den folgenden Code ein:

Laravel-Terminalcode zum Starten des Servers

php artisan serve --host 127.0.0.1


6

Sie müssen sich in Ihrem Laravel-Projektordner befinden

Wenn Sie ein neues Projekt mit erstellen laravel new project-name, wird ein Ordner mit Ihrem Projektnamen als Namen erstellt. Sie müssen in diesen Ordner gelangen, bevor Sie einen php artisanBefehl verwenden können, z. B. php artisan serveweil sich die Handwerkerdatei in diesem Ordner befindet


5

Ich hatte auch das Problem, das ich gerade installiert habe, habe aber vergessen, den erstellten Projektordner zu überspringen. Sie müssen also Ihren Projektordner überspringen.

cd projektname

und dann PHP Handwerker Befehl dienen


4

Stellen Sie einfach sicher, dass Sie sich im Projektordner befinden, indem Sie eingeben

ls

Wenn nicht, gehen Sie durch Eingabe in den Projektordner

 cd folder_name

beispielsweise:

cd laravel

Und dann tippen

php artisan serve


3

Wenn es Ihre erste Installation von Laravel ist, erstellen Sie ein anderes Verzeichnis / einen anderen Ordner im Laravel-Verzeichnis. Wechseln Sie dann in diesen leeren Ordner und erstellen Sie ein weiteres Projekt mit dem folgenden Befehl:

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

Dadurch wird ein neues Projekt mit dem Namen "blog" erstellt. Anschließend kehren Sie zum übergeordneten Laravel-Verzeichnis zurück. Jetzt können Sie den folgenden Befehl ausführen:

php artisan serve

Sie erhalten die Rücksendung wie:

laravel deployment server started: http://localhost:8000

Siehe beigefügtes Bild Geben Sie hier die Bildbeschreibung ein


2

Versuchen Sie es als auszuführen sudo.

sudo laravel new blog

Ihre Datei verfügt möglicherweise nicht über die entsprechenden Berechtigungen. Lassen Sie uns wissen, ob es funktioniert hat!


4
Sie können nicht auf Windows sudo
Zarathuztra

Oh ja, mein schlechtes. Ich hatte dieses Problem auf Homestead und es war nur eine Erlaubnis. Aber du hast recht.
Eduardo Kasper

1
Danke, sudo hat nach diesem Problem für mich gearbeitet. Ich wurde in meinen Linux-Server ssh-ed.
Scott

2

Ich habe ein vorhandenes Laravel-Projekt ausgecheckt, das dieses Skript nicht hatte. Auch ein find / -name 'artisan'produzierte keine Ergebnisse. Die Lösung erwies sich als einfach, wenn auch etwas seltsam:

curl -L 'https://raw.githubusercontent.com/laravel/laravel/v4.2.11/artisan' > artisan

Sie möchten wahrscheinlich eine getaggte Version auswählen, die Ihrer installierten Version von Laravel entspricht.


2

Wenn Sie Ihr Laravel-Projekt in Vagrant ausführen und gerade SSH in die virtuelle Maschine eingearbeitet haben, vergessen cd /vagrantSie dies nicht, bevor Sie versuchen, handwerkliche Befehle auszuführen!


2

Nachdem ich mit diesem Problem zu kämpfen hatte, stellte ich fest, dass Sie herausfinden müssen, wo sich der Handwerker befindet, indem Sie sudo find / -name artisanausführen, und von dort aus den Befehl ausführenphp artisan ....


1

Gehen Sie zuerst in den Laravel-Ordner und geben Sie dann die handwerklichen Befehle ein, als ob Ihre Laravel-App den Namen "Demopro" trägt.

Öffnen Sie also cmd und gehen Sie mit Hilfe des Befehls cd in den Demopro und verwenden Sie dann den Befehl handwerklich


1

Nach dem Erstellen des Projekts sollten Sie in den Ordner wechseln, bevor Sie den Befehl ausgeben


1

Ich denke, Sie befinden sich nicht im Laravel-Projektverzeichnis. Gehen Sie einfach mit dem folgenden Befehl zum Laravel-Projektverzeichnis

 cd projectName

1

Nach der Installation von Composer müssen Sie das Projekt erstellen:

composer create-project laravel/laravel /path/to/tour/project

Sie können die Dokumentation sehen , für Ihre PHP-Version ist das letzte Laravel, das Sie installieren können, 5.0.

Jetzt Tage hier ist die neueste Version und erfordern> php7.0. Hier ist die Dokumentation .


1

Was der Trick für mich war, war, cd srcvon meinem Projekt-Directoy aus zu arbeiten und dann den php artisanBefehl zu verwenden, da sich meine artisanDatei im srcOrdner befand. Hier ist meine Projektstruktur:

project
|__ config
|__ src
    |__ app
    |__ ..
    |__ artisan  // hello there!
    |__ ...
|__ ...

1

Dieser Fehler tritt auf, weil Sie Composer nicht in Ihrem Projekt installiert haben.

Führen Sie den composer installBefehl in Ihrem Projektpfad aus.


0

-> cd ..

-> cd project_dir

-> PHP Artisan ('funktioniert gut')

In meinem Fall habe ich das Verzeichnis entfernt und das Repo erneut über das Terminal aus demselben Verzeichnis geklont. dann ging ich einen Schritt zurück und ging wieder in meinen Projektordner und das Problem war weg.


0

Versuchen Sie einfach, den Befehl in einem Verzeichnis auszuführen, in dem sich der gesamte Laravel-Code befindet. Auch bei mir habe ich versucht, den Befehl im Stammordner des Projekts auszuführen, aber der Code befand sich in einem Unterverzeichnis


0

Erstellen Sie zuerst das Projekt über den folgenden Link, um ein Larave 7-Projekt zu erstellen: Projekt erstellen

Jetzt müssen Sie Ihren Projektordner mit dem folgenden Befehl eingeben:

cd myproject

Versuchen Sie nun, einen artisanBefehl auszuführen , z php artisan.

Oder es kann passieren, wenn Sie compose nicht installiert haben. Wenn Sie Composer nicht installiert haben, führen Sie den Befehl aus composer installund versuchen Sie es erneut artisan.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.