我正在学习laravel,并且在开始时我已经运行了命令
php artisan serve
并保持我的终端窗口打开,这样我就可以让服务器保持运行,但后来我想用我的应用就像在正常的php应用程序上工作一样,所以我创建了一个指向我的laravel应用程序的虚拟主机"公共"文件夹中。
问题在于:
我仍然需要运行" php artisan serve"并打开我的虚拟服务器URL
http://brk.localhost:8000
然后关闭终端,在我可以正常打开此链接而不定义端口号8000之前。 如果我离开我的电脑并继续工作,我发现除非我再次完成整个过程,否则我无法访问它。 如果我对任何应用程序视图进行了修改,我会遇到同样的问题。
我错过了什么?
答案 0 :(得分:8)
只需添加和符号'&'到命令的末尾。这将使其在后台运行。
答案 1 :(得分:1)
在开发Laravel应用程序时,有三种主要方法可以访问它们。
1)使用artisan serve
这种方法可能是最简单的方法,但它确实意味着每次开始处理项目时都必须记住这一点,你说过你不想这样做。
2)使用Laravel Homestead
此方法需要更多配置,但documentation非常好。您不必记住在使用终端窗口时保持打开终端窗口,但您仍然需要记住保持虚拟机正常运行。
3)设置LAMP / MAMP / WAMP甚至是LEMP
在您自己的计算机上设置本地Apache或Nginx守护程序需要进行大量配置,但这意味着您的Web服务器会自动启动您的操作系统,因此无论您放入Web目录中的任何内容都可以通过Web访问浏览器。您无需运行终端命令或运行虚拟机。
但是,请注意,通过使用本地Apache / Nginx守护程序,您将会牺牲很多灵活性,如果您搞砸了配置,您将无法完全删除它并在几分钟内重新开始。
但是,很多人仍然喜欢在本地运行自己的Apache / Nginx守护进程进行开发。我是其中之一。
答案 2 :(得分:0)
我遇到了类似的情况,如果我要保存对项目文件的任何修改,我必须运行" php artisan serve"并在apache2可以为网站服务之前退出。
我通过修改项目的文件系统权限来修复它。
我找到this,修复了权限问题。
这解决了我不得不一遍又一遍地运行php artisan服务的情况。
主要原因是将包管理器作为sudo运行。每个文件都是使用错误的权限创建的。