什么是运行Laravel的命令'php artisan serve'?

cap*_*ack 16 php apache laravel artisan

我似乎不明白为什么我们需要运行一个Laravel应用程序,php artisan serve只需用Apachenginx运行它.我知道在开发过程中,我们使用artisan来启动站点,在部署到服务器之后,您使用Web服务器来加载站点.

什么是首先在工匠中运行应用程序的用途?

Ant*_*iro 26

serve命令只是PHP内置Web服务器的快捷方式,PHP开箱即用,所以使用它的目的是尽可能快地开始测试应用程序,只需要安装PHP,Composer和你的应用程序已启动(当然,如果您不需要任何其他内容).但是如果你已经安装了Nginx,那就没有意义了,只需使用它即可.

在生产中使用Builtin Webserver是不明智的.

  • 我遇到了与@JCarlosR相同的问题,但能够通过从公共域运行“php -S”或在命令末尾添加“-t public”来解决它。 (3认同)
  • 谢谢你的解释。但奇怪的是,我正在执行等效的命令,并没有加载资产:`php -S 127.0.0.1:8000 C:/wamp/www/pym/server.php` 你知道为什么吗? (2认同)

小智 6

php artisan serve在开发过程中使用典型Web服务器的一个优点是可以使用Psysh作为调试器(Laravel Tinker)来设置断点.

例如,在我输入的代码行中我输入:

eval(\Psy\sh());
Run Code Online (Sandbox Code Playgroud)

然后我点击将运行该部分代码的页面,当它到达该行时,它将进入Psy Shell repl(在我开始的命令行窗口中php artisan serve).然后我可以在执行点检查变量等.它对调试非常有用.据我所知,你无法运行Apache/Nginx.它必须与工匠服务(或运行自动化测试).

更多信息:

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

http://psysh.org/