2016-11-30 16 views
10

Nie wydaje mi się, aby zrozumieć, dlaczego musimy uruchomić aplikację Laravel pod numerem php artisan serve, a po prostu uruchomić ją pod numerem Apache lub nginx. Wiem, że w fazie rozwoju używamy rzemieślnika do odpalenia witryny, a po wdrożeniu na serwerze używasz serwera WWW do załadowania strony.Na czym polega uruchamianie Laravel za pomocą polecenia "php artisan serve"?

Na czym polega uruchamianie aplikacji w rzemiośle?

+0

Ty nie ** ** potrzeba aby to zrobić. Dotyczy to przypadków, gdy z jakiegoś powodu nie masz dostępu do serwera WWW. Z tego powodu może to być wszystko, więc na wypadek, gdy serwer jest niedostępny lub jest źle skonfigurowany - możesz użyć 'php artisan serve'. – Mjh

+0

Dlaczego nie ma wystarczającej dokumentacji na tym samym? – captainblack

+0

Dlaczego miałoby być? Nic nie wskazuje na to, że MUSISZ go użyć, po prostu istnieje dla przypadków, kiedy * może * potrzebujesz go. Niektóre funkcje nie muszą być udokumentowane w punkcie, w którym uwzględniono każdy możliwy scenariusz użycia. Masz nginx/Apache? Wspaniały! Nie chcesz i chcesz szybko sprawdzić coś lub przetestować część swojego projektu? Nie ma problemu, szybkie 'php artisan serve' wykonuje zadanie, zajmuje kilka sekund, aby wpisać go w CLI, abyś mógł zacząć działać. Nie trzeba przemyśleć tej konkretnej funkcji. – Mjh

Odpowiedz

13

Komenda `Serve jest skrótem dla PHP Builtin Webserver, coś, co PHP ma po wyjęciu z pudełka, więc używanie go jest tak szybkie, jak to tylko możliwe, wystarczy zainstalować PHP, Composer a twoja aplikacja się skończy (oczywiście jeśli nie potrzebujesz niczego więcej). Ale jeśli masz już zainstalowany Nginx, nie ma sensu, po prostu go używaj.

Nie należy używać wbudowanego serwera WWW podczas produkcji.

+0

Dziękuję za wyjaśnienie. Ale to dziwne, wykonuję równoważne polecenie i nie ładuję zasobów: 'php -S 127.0.0.1: 8000 C:/wamp/www/pym/server.php' Czy wiesz dlaczego? – JCarlos

2

Jedną z zalet używania php artisan serve na typowym serwerze internetowym podczas programowania jest możliwość użycia Psysh jako debuggera (Laravel Tinker) do ustawienia punktu przerwania.

Na przykład w wierszu kodu chcę złamać w wpisuję:

eval(\Psy\sh()); 

Potem uderzył w stronę, która będzie działać ten fragment kodu i kiedy dojdzie do tej linii będzie przerwa w replika Psy Shell (w oknie wiersza poleceń, gdzie zacząłem php artisan serve). Następnie mogę sprawdzić zmienne itp. W tym miejscu wykonania. Jest bardzo przydatny do debugowania. Z tego, co wiem, nie można tego zrobić z uruchomionym Apache/Nginx. Musi to być praca z rzemieślnikami (lub uruchamianie testów automatycznych).

Więcej informacji tutaj:

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

http://psysh.org/

Powiązane problemy