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

Wessodesigner
quelle
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.

Marcin Nabiałek
quelle
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'.

Jewgenij Afanasjew
quelle
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 ...

cyber8200
quelle
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!

Zaffar
quelle
9

Ich musste nur artisanausführbar machen .

chmod +x artisan

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

Kevin Carmody
quelle
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

John Zenith
quelle
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

Napster Scofield
quelle
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

Arman H.
quelle
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

Aamir Kalimi
quelle
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

A.Aleem11
quelle
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!

Eduardo Kasper
quelle
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.

DavidM
quelle
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!

TeeJay
quelle
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 ....

Gehackt
quelle
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

pardeep
quelle
1

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

Adjeiinfo
quelle
1

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

 cd projectName
Ravi Mane
quelle
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 .

Talan
quelle
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!
    |__ ...
|__ ...
Aleksandar
quelle
1

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

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

Ali Lashini
quelle
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.

sh6210
quelle
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

Ajjay Arora
quelle
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.

Md Riadul Islam
quelle