我似乎不明白为什么我们需要运行带有php artisan serve
的Laravel应用程序,而不是使用 Apache 或 nginx 运行它。我知道在开发过程中,我们使用artisan来启动站点,在部署到服务器之后,您使用Web服务器来加载站点。
首先在工匠中使用应用程序是什么意思?
答案 0 :(得分:23)
serve
命令只是PHP Built-in Webserver的快捷方式,PHP开箱即用,所以使用它的目的是尽可能快地开始测试你的应用程序,你只需要我需要安装PHP,Composer和你的应用程序(如果你不需要其他任何东西)。但是如果你已经安装了Nginx,那就没用了,只需使用它。
在生产中使用Builtin Webserver是不明智的。
答案 1 :(得分:6)
在开发过程中使用php artisan serve
优于典型Web服务器的一个优点是可以使用Psysh作为调试器(Laravel Tinker)来设置断点。
例如,在我输入的代码行中我输入:
eval(\Psy\sh());
然后我点击将运行该部分代码的页面,当它到达该行时,它将进入Psy Shell repl(在命令行窗口中我开始php artisan serve
)。然后我可以在执行点检查变量等。它对调试非常有用。据我所知,你不能运行Apache / Nginx。它必须与工匠服务(或运行自动化测试)。
更多信息:
https://tighten.co/blog/supercharge-your-laravel-tinker-workflow
答案 2 :(得分:0)
目的:使用 Php artisan服务(PHP内置服务器)的目的只是为了测试和轻松启动项目,不应在实际的网站部署中使用。
资产不起作用:始终将索引文件公开,这是Laravel框架的优点和安全性,并且您的资产将始终有效。如果您无聊使用自定义URL(例如C:/wamp/www/pym/server.php),请在本地使用虚拟主机,但不要但不要将索引放在“公共”文件夹之外。 如果您确实要在根目录中使用索引,则应自定义所有 asset()和 url()辅助函数,并应将确切的url示例资产(' / login')应该更改为asset('localhost / yourprojectroot / login')。
答案 3 :(得分:0)
好吧,我一直在寻找相同的答案,但是找不到任何令人满意的答案,如果您也像我一样不满意,请尝试运行在运行时返回的链接
php artisan serve
返回
Laravel development server started: <http://127.0.0.1:8000>
复制该/ http://127.0.0.1:8000并将其运行到浏览器中,猜测它会返回什么);您首次安装laravel时首先得到的页面,或者我猜它会返回路由文件夹中的页面设置为/ home目录或文件(默认主页)。
简而言之:
php artisan serve
开始发球,例如,当您要开车时,在开车前先发动引擎,这样您就可以同时发动引擎和发动,这不是必须的,而是取决于。所以对我来说php artisan服务CLI。