2016-11-30 211 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/

相关问题