2016-11-30 12 views
10

私はなぜphp artisan serveとLaravelアプリを実行する必要があるのか​​分かりません。Apacheまたはnginxで実行しています。開発中は、職人がサイトを起動するために使用し、サーバーにデプロイした後はウェブサーバーを使用してサイトを読み込むことがわかっています。'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がインストールされている場合は、何のポイントもありません。それを使用してください。

組み込みWebサーバを本番環境で使用することは賢明ではありません。

+0

ありがとうございます。しかし、奇妙なことに、私は同等のコマンドを実行しており、アセットをロードしません: 'php -S 127.0.0.1:8000 C:/ wamp/www/pym/server.php'なぜか分かりますか? – JCarlos

2

開発中に典型的なWebサーバーにphp artisan serveを使用する利点の1つは、デバッガ(Laravel Tinker)としてブレークポイントを設定するためにPsyshを使用できることです。私は私で破断するコードの行で、例えば

は、入力します。

eval(\Psy\sh()); 

それから私は、コードのセクションを実行し、それがその行になるとき、それはに侵入するページをヒットPsy Shell repl(私がphp artisan serveを起動したコマンドラインウィンドウ)。そして、その実行点で変数などを調べることができます。これはデバッグに非常に便利です。私が知る限り、Apache/Nginxを実行することはできません。それは職人のサーブ(または自動化されたテストを実行する)と一緒にいなければなりません。ここ

さらに詳しい情報:

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

http://psysh.org/

関連する問題