为什么我应该继续运行工匠服务命令以保持服务器正常工作


why should I keep running artisan serve command to keep the server working?

我正在学习 laravel,一开始我运行了命令

php artisan serve

并保持我的终端窗口打开,以便我可以保持服务器运行,但后来我想像处理普通的 PHP 应用程序一样使用我的应用程序,所以我创建了一个指向我的 Laravel 应用程序"公共"文件夹的虚拟主机。

这是问题所在:

我仍然必须运行"php artisan serve"并打开我的虚拟服务器网址

http://brk.localhost:8000

然后关闭终端,所有这些都是在我无需定义端口号 8000 的情况下正常打开此链接之前。如果我离开计算机并返回继续工作,我发现除非我再次执行整个过程,否则我无法访问它。如果我对任何应用程序视图进行了修改,我会遇到同样的问题。

我错过了什么?

只需在命令末尾添加 and 符号 '&'。这将使它在后台运行。

开发Laravel应用程序时,您可以通过3种主要方式访问它。

1) 使用artisan serve

这种方法可能是最简单的方法,但它确实意味着你必须记住每次开始处理你的项目时都这样做,你说过你不想这样做。

2)使用拉拉维尔家园

此方法需要更多的配置,但文档非常好。使用终端窗口时,您不必记住保持终端窗口打开,但您仍然必须记住保持虚拟机运行。

3)设置灯/曼普/万普甚至跛行

在您自己的机器上设置本地Apache或Nginx守护进程将需要最多的配置,但这意味着您的Web服务器会自动从您的操作系统启动,因此您放入Web目录中的任何内容都将始终可以通过Web浏览器访问。您无需运行和终端命令或运行虚拟机。

但是请注意,通过使用本地 Apache/Nginx 守护进程,您将灵活地牺牲很多东西,如果您搞砸了配置,您将无法将其全部删除并在几分钟内重新开始。

尽管如此,很多人仍然更喜欢在本地运行自己的 Apache/Nginx 守护进程进行开发。我就是其中之一。

我遇到了类似的情况,如果我要保存对项目文件的任何修改,我必须运行"php artisan serve"并在 apache2 可以为站点提供服务之前退出它。

我通过修改项目的文件系统权限来修复它。

我找到了这个,它解决了权限问题。

这解决了我不得不一遍又一遍地运行php artisan serve的情况。

造成这种情况的主要原因是将包管理器作为 sudo 运行。每个文件都是使用错误的权限创建的。