Laravel Homestead PHP:在计算机的 IP 地址上运行项目
Posted
技术标签:
【中文标题】Laravel Homestead PHP:在计算机的 IP 地址上运行项目【英文标题】:Laravel Homestead PHP: Running projects on computer's IP Address 【发布时间】:2015-01-09 17:04:08 【问题描述】:我的计算机上运行着 Laravel Homestead,在我的网络浏览器中使用 'localhost:8000' 本地运行项目的地方很好。现在我想使用我的计算机的 IP 地址运行项目,但我在完成此任务时遇到了问题。我尝试了几种不同的方法,例如使用 XAMPP,但我也遇到了麻烦。
以下是我已经启动并与正在使用的应用程序一起运行的内容:
-
使用 VirtualBox、Vagrant 和 Composer 的 Laravel Homestead。
我使用 'cmd' 分别使用 'Vagrant Status' 和 'Vagrant Up' 来启动 VirtualBox。
PuTTY 用于使用“vagrant”作为登录名和密码连接到我的 VirtualBox。
使用 PuTTY 成功登录后,我使用“composer”命令创建项目,并使用相应的 Laravel php 命令执行迁移“php artisan migrate”、“php artisan dump-autoload”等。
这是我的 Homestead.yaml 配置:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: C:/Users/Jeff/.ssh/id_rsa.pub
keys:
- C:/Users/Jeff/.ssh/id_rsa
folders:
- map: C:/Users/Jeff/Desktop/Code
to: /home/vagrant/Code
sites:
- map: homestead.app
to: /home/vagrant/Code/laravel-photo-gallery-build3/public
variables:
- key: APP_ENV
value: local
有没有一种简单的方法可以使用我计算机的 IP 地址映射我的 Laravel Homestead 项目?任何帮助将不胜感激!
【问题讨论】:
您是否有理由要使用 IP 地址而不是映射到特定站点域名?喜欢myprojectname.app
?
***.com/a/38714136/470749 帮助了我。
【参考方案1】:
您可能出于某种特定原因想要使用我们计算机的 IP 地址,但我不知道,但如果仅仅是因为您过去的开发方式,我建议您不要这样做。除非您的计算机有一个静态 IP 地址,否则您的 IP 地址最终会改变,这会破坏您的设置。
我建议在 Homestead 文件中使用您的域映射。
sites:
- map: homestead.app
to: /home/vagrant/Code/laravel-photo-gallery-build3/public
这里发生的是 yaml 文件告诉虚拟机“嘿,每当你看到域 homestead.app
时,重定向到这个特定的文件夹”。
添加该映射后,您可以修改主机文件,以将浏览器对homestead.app
的请求指向您的本地计算机(而不是我们在网络上的)。在您的主机文件中,在底部添加以下行:
127.0.0.1 homestead.app
我不太熟悉 windows 将所有文件放在哪里,但看起来您可以在以下位置找到 hosts 文件:
C:\Windows\System32\Drivers\etc\hosts
修改完 hosts 文件和 yaml 文件后,重启 vagrant 机器并强制配置:
vagrant reload --provision
之后,您应该可以打开浏览器并转到网址查看您的网站:
homestead.app:8000
此外,您可以将homestead.app
部分重命名为您希望将网站显示为的任何域。请确保您不要将其命名为与在线实际站点相同的名称,否则您将永远无法访问在线版本(因为您的计算机将始终重定向到您的本地计算机:P)
我还要注意,你可以在同一个虚拟机中拥有多个项目,可以通过添加来添加新项目:
新的主机/虚拟机文件夹映射 新的域/文件夹映射 新的 hosts 文件条目HomesteadYAML 示例:
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: C:/Users/Jeff/.ssh/id_rsa.pub
keys:
- C:/Users/Jeff/.ssh/id_rsa
folders:
- map: C:/Users/Jeff/Desktop/Code
to: /home/vagrant/Code
- map: C:/Users/Jeff/Dev/NewProject
to: /home/vagrant/Dev/NewProject
sites:
- map: homestead.app
to: /home/vagrant/Code/laravel-photo-gallery-build3/public
- map: newproject.dev
to: /home/vagrant/Dev/NewProject/public
variables:
- key: APP_ENV
value: local
hosts 文件添加示例:
...
127.0.0.1 homestead.app
127.0.0.1 newproject.dev
【讨论】:
您的回答很有帮助。非常感谢! 没问题。 Homestead 是一个很棒的工具。一旦您创建了几个项目并开始更多地使用它,它将成为第二天性和不可或缺的! 我还应该补充一点,Homested 不仅仅是 laravel,它只是 laravel 用于 VM 项目托管的首选配置。如果您将非 laravel 项目添加到您的配置中,它仍然可以工作。 是的,我非常喜欢 Laravel。它与使用 Ruby on Rails 非常相似,因为它是一个 MVC。感谢您的信息!以上是关于Laravel Homestead PHP:在计算机的 IP 地址上运行项目的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Homestead Box 0.4.2使用php5.6而不是php7
PHP Laravel:用户'homestead'@'localhost'的访问被拒绝(使用密码:YES)
有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?
有没有人让 memcached 在 Laravel Homestead php7 盒子上工作?