Was bringt es, Laravel mit dem Befehl „php artisan serve“ auszuführen?

Lesezeit: 4 Minuten

Ich scheine nicht zu verstehen, warum wir eine Laravel-App mit ausführen müssen php artisan serve vs läuft es einfach mit Apache oder nginx. Ich weiß, dass wir in der Entwicklung Artisan verwenden, um die Site zu starten, und nach der Bereitstellung auf einem Server verwenden Sie den Webserver, um die Site zu laden.

Was nützt es überhaupt, die App in Artisan auszuführen?

  • Du nicht brauchen es zu tun. Es ist für Fälle, in denen Sie aus irgendeinem Grund keinen Webserver zur Verfügung haben. Dieser Grund kann alles mögliche sein, um also die Fälle abzudecken, in denen der Server nicht verfügbar oder falsch konfiguriert ist, können Sie verwenden php artisan serve.

    – Mjh

    30. November 2016 um 15:46 Uhr


  • Warum gibt es nicht genügend Dokumentation darüber?

    – kapitänschwarz

    30. November 2016 um 15:49 Uhr

  • Warum sollte es das geben? Nichts impliziert, dass Sie es verwenden MÜSSEN, es existiert einfach für Fälle, in denen Sie es tun könnte brauchen. Bestimmte Funktionen müssen nicht bis zu einem Punkt dokumentiert werden, an dem jedes mögliche Anwendungsszenario abgedeckt ist. Hast du nginx / Apache? Groß! Sie haben keine Lust und möchten schnell etwas überprüfen oder einen Teil Ihres Projekts testen? Kein Problem, schnell php artisan serve die Arbeit erledigt, es dauert ein paar Sekunden, das in die CLI einzugeben, damit Sie einsatzbereit sind. Über diese besondere Funktion müssen Sie nicht nachdenken.

    – Mjh

    30. November 2016 um 16:03 Uhr

Benutzer-Avatar
Antonio Carlos Ribeiro

Das serve Befehl ist nur eine Abkürzung für den PHP Eingebauter Webserver, etwas, das PHP sofort einsatzbereit hat, der Zweck der Verwendung ist also, Ihre Anwendung so schnell wie möglich zu testen. Sie müssen nur PHP, Composer installieren und Ihre Anwendung ist verfügbar (wenn Sie nichts anderes benötigen, Natürlich). Aber wenn Sie Nginx bereits installiert haben, macht es überhaupt keinen Sinn, verwenden Sie es einfach.

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

  • Vielen Dank für die Erklärung. Aber es ist seltsam, ich führe den entsprechenden Befehl aus und er lädt die Assets nicht: php -S 127.0.0.1:8000 C:/wamp/www/pym/server.php Weißt du, warum?

    – JCarlosR

    11. September 2017 um 19:59 Uhr

  • Ich hatte das gleiche Problem wie @JCarlosR, konnte es aber lösen, indem ich „php -S“ aus der öffentlichen Domäne ausführte oder „-t public“ am Ende des Befehls hinzufügte.

    – Freiheit

    22. Februar 2020 um 20:28 Uhr

Ein Vorteil der Verwendung php artisan serve Über einen typischen Webserver während der Entwicklung können Sie Psysh als Debugger (Laravel Tinker) verwenden, um einen Haltepunkt zu setzen.

Zum Beispiel gebe ich in der Codezeile, bei der ich unterbrechen möchte, Folgendes ein:

eval(\Psy\sh());

Dann klicke ich auf die Seite, die diesen Codeabschnitt ausführt, und wenn sie zu dieser Zeile gelangt, wird sie in eine Psy-Shell-Repl zerlegt (im Befehlszeilenfenster, in dem ich begonnen habe php artisan serve). Dann kann ich an diesem Ausführungspunkt Variablen usw. untersuchen. Es ist sehr nützlich zum Debuggen. Soweit ich weiß, können Sie dies nicht mit Apache/Nginx tun. Es muss mit handwerklichem Dienst (oder dem Ausführen automatisierter Tests) sein.

Mehr Infos hier:

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

http://psysh.org/

Zweck: Der Zweck der Verwendung PHP-Handwerker dienen (PHP builtin server) dient nur zum Testen und zum einfachen Starten Ihres Projekts. Es sollte nicht in der realen Website-Bereitstellung verwendet werden.

Anlage funktioniert nicht: Stellen Sie Ihre Indexdatei immer öffentlich dar, es ist die Schönheit und Sicherheit des Laravel-Frameworks und Ihre Assets werden immer funktionieren. Wenn es Ihnen langweilig ist, Ihre benutzerdefinierte URL wie C:/wamp/www/pym/server.php zu verwenden, verwenden Sie den virtuellen Host lokal, aber legen Sie Ihren Index nicht außerhalb des öffentlichen Ordners ab. Wenn Sie den Index wirklich in Ihrem Stammverzeichnis verwenden möchten, sollten Sie alles anpassen Anlage() und URL() Hilfsfunktionen und sollte Ihre genaue URL enthalten. Beispiel Asset(‘/login’) sollte in Asset(‘localhost/yourprojectroot/login’) geändert werden.

Abgesehen von der besten Antwort hier.

Sie können die Protokolle direkt dort sehen, wo Sie die ausführen php artisan serveso nützlich beim Debuggen.

php artisan serve --host your_server_ip --port 8000

Kopieren Sie diese http://your_server_ip:8000 und führen Sie sie im Browser aus

Benutzer-Avatar
Erich Aya

Nun, ich habe nach derselben Antwort gesucht, konnte aber keine zufriedenstellende finden. Wenn Sie also ebenso unzufrieden sind wie ich, versuchen Sie, den beim Ausführen zurückgegebenen Link auszuführen

php artisan serve

es kehrt zurück

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

Kopiere das /http://127.0.0.1:8000 und führen Sie es in den Browser aus, raten Sie, was es zurückgibt); die Seite, die Sie zum ersten Mal erhalten haben, als Sie Laravel zum ersten Mal installiert haben, oder ich schätze, es wird die Seite im Routenordner zurückgeben, die als /home-Verzeichnis oder -Datei festgelegt wurde (Standard Startseite).

In Kürze:

php artisan serve

startet den Aufschlag, zum Beispiel ist es so, als würde man ein Auto fahren und den Motor vor dem Fahren starten, wobei man den Motor starten und gleichzeitig fahren kann, das ist nicht notwendig, hängt aber davon ab CLI.

1253070cookie-checkWas bringt es, Laravel mit dem Befehl „php artisan serve“ auszuführen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy