Laravel Homestead PHP:在计算机的IP地址上运行项目

时间:2014-11-12 18:22:46

标签: php laravel-4 ip vagrant virtualbox

我的Laravel Homestead在我的计算机上运行很好,在我的网络浏览器中使用'localhost:8000'在本地运行项目。现在我想使用我的计算机的IP地址运行项目,但是我遇到了完成此任务的问题。我尝试了几种不同的方法,比如使用XAMPP,但我也无法使用它。

以下是我正在使用的应用程序:

  1. 使用VirtualBox,Vagrant和Composer的Laravel Homestead。
  2. 我使用'cmd'来启动VirtualBox,使用'Vagrant Status'& 'Vagrant Up'分别。
  3. 使用'vagrant'作为登录名和密码连接到我的VirtualBox的PuTTY。
  4. 使用PuTTY成功登录后,我使用'composer'命令创建项目,并使用相应的Laravel PHP命令执行迁移'php artisan migrate','php artisan dump-autoload'等。
  5. 这是我的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项目?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

可能有一个特定的原因,您想要使用我不知道的计算机IP地址,但如果仅仅是因为您过去的发展方式我会反对它。除非您的计算机具有静态IP地址,否则您的IP地址最终会发生变化,这将破坏您的设置。

我建议使用Homestead文件中的域映射。

sites:
   - map: homestead.app
     to: /home/vagrant/Code/laravel-photo-gallery-build3/public

这里发生的是yaml文件正在告诉虚拟机"嘿,每当您看到域homestead.app时,都会重定向到此特定文件夹"。

添加该映射后,您可以修改hosts文件,将homestead.app的浏览器请求指向本地计算机(而不是我们在Web上)。在您的hosts文件中,在底部添加以下行:

127.0.0.1 homestead.app

我不太熟悉windows放置所有文件的位置,但看起来你可以找到主机文件:

C:\Windows\System32\Drivers\etc\hosts

一旦您修改了hosts文件和yaml文件,请重新启动您的vagrant机器并强制它进行配置:

vagrant reload --provision

之后,您应该可以打开浏览器并转到网址查看您的网站:

homestead.app:8000

此外,您可以将homestead.app部分重命名为您希望将您的网站显示为的域名。请确保您没有将其命名为与在线实际网站相同的名称,否则您将永远无法访问在线版本(因为您的计算机将始终重定向到您的本地计算机:P)< / p>

我还应该注意,您可以在同一个虚拟机中拥有多个项目,可以通过添加新项目来添加:

  • 新的主机/虚拟机文件夹映射
  • 新的域/文件夹映射
  • 新的主机文件条目

示例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 

示例主机文件添加:

...
127.0.0.1 homestead.app
127.0.0.1 newproject.dev