webentwicklung-frage-antwort-db.com.de

Was ist der Punkt zu laufen Laravel mit dem Befehl 'PHP Handwerker servieren'?

Ich verstehe nicht, warum wir eine Laravel - App mit php artisan serve vs ausführen müssen, nur mit Apache oder nginx . Ich weiß, dass wir in der Entwicklung Handwerker verwenden, um die Site hochzufahren, und nach der Bereitstellung auf einem Server verwenden Sie den Webserver, um die Site zu laden.

Was ist die Verwendung der App in Handwerker in erster Linie?

14
captainblack

Der Befehl serve ist nur eine Abkürzung für den eingebauten Webserver PHP , etwas, das PHP nicht verfügbar ist. Daher sollten Sie damit beginnen, Ihre Anwendung so schnell wie möglich zu testen Sie könnten nur PHP und Composer installieren, und Ihre Anwendung ist aktiv (falls Sie nichts anderes benötigen). Wenn Sie jedoch bereits Nginx installiert haben, gibt es keinen Sinn, verwenden Sie es einfach.

Es ist nicht ratsam, den Builtin Webserver in der Produktion zu verwenden.

Ein Vorteil der Verwendung von php artisan serve gegenüber einem typischen Webserver während der Entwicklung ist, dass Sie Psysh als Debugger (Laravel Tinker) verwenden können, um einen Haltepunkt festzulegen.

An der Codezeile, die ich brechen möchte, geben Sie beispielsweise Folgendes ein:

eval(\Psy\sh());

Dann klicke ich auf die Seite, die diesen Codeabschnitt ausführen wird, und wenn diese Zeile erreicht wird, bricht sie in eine Psy-Shell-Replik ab (im Befehlszeilenfenster, in dem php artisan serve gestartet wurde). Dann kann ich an diesem Punkt der Ausführung Variablen prüfen. Es ist sehr nützlich für das Debugging. Soweit ich weiß, können Sie dies nicht mit Apache/Nginx ausführen. Es muss mit dem Handwerker erfolgen (oder mit automatisierten Tests).

Mehr Infos hier:

https://tighten.co/blog/supercharge-your-laravel-tinker-workflow

http://psysh.org/

6
user938883

Nun, suchte nach der gleichen Antwort, konnte aber keine finden, die befriedigend ist. Wenn Sie also genauso unzufrieden wie ich sind, versuchen Sie, den Link auszuführen, der beim Ausführen zurückgegeben wird 

php artisan serve

es kehrt zurück 

Laravel development server started: <http://127.0.0.1:8000>

kopieren Sie diese / http://127.0.0.1:8000 und führen Sie sie in den Browser aus (raten Sie, was zurückgegeben wird); die Seite, die Sie beim ersten Installieren von Laravel zum ersten Mal erhalten haben, oder ich denke, sie wird zurückgegeben Seite im Routenordner, der als/home-Verzeichnis oder -Datei (Standard-Homepage) festgelegt wurde.

In Kürze:

php artisan serve

startet den Aufschlag, zum Beispiel ist es wie wenn Sie ein Auto fahren und starten Sie den Motor vor dem Fahren, wobei Sie den Motor starten und gleichzeitig fahren können, es ist nicht notwendig, aber es hängt davon ab. So ist das PHP Handwerker dienen CLI.

0
Madrine

Zweck : Der Zweck der Verwendung von Php Handwerker Serv (eingebauter PHP-Server) dient nur zum Testen und zum einfachen Starten Ihres Projekts. Es sollte nicht für die Implementierung einer Website verwendet werden.

Asset funktioniert nicht : Wenn Sie Ihre Indexdatei immer öffentlich machen, ist dies die Schönheit und Sicherheit des Laravel - Frameworks, und Ihre Assets funktionieren immer. Wenn Sie Ihre benutzerdefinierte URL wie C: /wamp/www/pym/server.php langweilen, verwenden Sie Virtual Host lokal, aber legen Sie Ihren Index nicht außerhalb des öffentlichen Ordners . wenn Sie wirklich wollen Um den Index in Ihrem Root-Verzeichnis zu verwenden, müssen Sie Ihre all asset () und url () helper-Funktionen anpassen und Ihre genaue URL angeben. Beispiel asset ('/ login') sollte in asset ( 'localhost/yourprojectroot/login'). 

0