2016-11-30 182 views
10

我不似乎明白了爲什麼我們需要與php artisan serve運行Laravel應用程式與剛剛與阿帕奇nginx的運行它。我知道在開發過程中,我們使用工匠來啓動站點,並在部署到服務器後,使用Web服務器加載站點。用命令'php artisan serve'運行Laravel有什麼意義?

最初在工匠中運行應用程序有什麼用處?

+0

你不** **需要做到這一點。這是因爲某些原因您沒有Web服務器的情況。這個原因可能是任何事情,所以爲了覆蓋服務器不可用或配置錯誤的情況 - 您可以使用'php artisan serve'。 – Mjh

+0

爲什麼沒有足夠的文檔? – captainblack

+0

爲什麼會有?沒有暗示你必須使用它,它只存在於你可能需要它的情況下。某些功能不需要記錄到涵蓋每種可能的使用場景的地方。你有nginx/Apache?大!你沒有,你想快速檢查一些東西或測試你的項目的一部分?沒問題,快速的'php artisan serve'完成這項工作,需要幾秒鐘的時間才能將它輸入到CLI中以啓動並運行。無需過度考慮這個特殊功能。 – Mjh

回答

13

`Serve命令只是PHP Builtin Webserver的一個快捷方式,PHP開箱即用,因此使用它的關鍵是儘快開始測試您的應用程序,您只需安裝PHP,Composer並且您的應用程序已啓動(當然,如果您不需要其他任何東西)。但是如果你已經安裝了Nginx,那麼根本沒有意義,只要使用它即可。

在生產中使用Builtin Webserver並不明智。

+0

謝謝你的解釋。但奇怪的是,我正在執行相應的命令,並且不會加載資源:'php -S 127.0.0.1:8000 C:/ wamp/www/pym/server.php'你知道爲什麼嗎? – JCarlos

2

在開發過程中使用php artisan serve而不是典型的網絡服務器的一個優點是可以使用Psysh作爲調試器(Laravel Tinker)來設置斷點。

例如,在代碼行我想打破在I型:

eval(\Psy\sh()); 

然後我打,將運行的代碼段頁面,當它到達該行會分解成一個Psy Shell repl(在我開始的命令行窗口php artisan serve)。然後,我可以在該執行點檢查變量等。這對調試非常有用。據我所知,你不能這樣運行Apache/Nginx。它必須與手工服務(或運行自動化測試)。

此處瞭解詳情:

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

http://psysh.org/

相關問題