php - 如何在其他设备上访问 Laravel Homestead?

标签 php laravel networking remote-access homestead

我的机器和 Android 设备在同一个网络上。

  • 机器IP:192.168.0.11
  • Homestead 运行的IP:192.168.10.10

如果我在我的 Android 设备上输入 192.168.0.11:8000,我只能使用一个网站。

如何输入存储在 Homestead 中的所有站点?

这是我的 Homestead.yaml 文件:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Homestead-Projects
      to: /home/vagrant/Homestead-Projects

sites:
    - map: site1.com
      to: /home/vagrant/Homestead-Projects/Site1/public
    - map: site2.app
      to: /home/vagrant/Homestead-Projects/Site2/public

databases:
    - homestead
    - db_site1
    - db_site2

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

这是我的hosts 文件:

127.0.0.1   localhost
127.0.1.1   host

#Virtual Hosts on Homestead
192.168.10.10   site1.com
192.168.10.10   site2.com

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

最佳答案

tl;dr

您必须在远程机器上的主机文件中为每个站点添加一行(就像在运行 Homestead 的服务器中一样),但要使用服务器的 IP 地址。然后只需输入 sitename.local:8000

例子

在您的例子中,服务器的 IP 是 192.168.0.11。在此服务器中,Homestead 为 192.168.10.10 上的请求提供服务。所以在服务器的主机文件中你有这些行:

192.168.10.10   site1.com
192.168.10.10   site2.com

您必须将这些行复制到远程 PC 的主机文件,然后将 IP 地址替换为服务器的 IP:192.168.0.11

192.168.0.11   site1.com
192.168.0.11   site2.com

根据您的操作系统,您可能需要重新启动电脑或 DNS 服务。之后,您可以从远程 PC 访问这些地址中的站点:

site1.com:8000
site2.com:8000

注意事项

请记住,编辑(写入)主机文件需要 super 用户/管理员权限。如果您有权访问管理员帐户,这在 PC 中很容易解决,但在移动设备上可能会很复杂。对于 Android,请查看以下问题:

关于php - 如何在其他设备上访问 Laravel Homestead?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35976448/

相关文章:

PHP:在子命名空间类中默认使用父命名空间

php - imagecreatefrompng() + imagettftext() 低质量文本 - 如何消除锯齿

php - MYSQL表结构

php - 将数据库日期格式化为 AM/PM 时间 (vue)

java - 由于服务器一旦接受连接就会阻塞,我应该如何一起测试客户端和服务器?

c++ - 为什么在 strcpy_s 后我会收到“调试断言失败”的信息?

ionic-framework - 找不到互联网时,如何在应用加载时使用 ionic 4 退出应用?

php - Mysql 复制 - 值得吗?

mysql - 如何使用 Mysql 在 Laravel 上使用和保存表情符号

laravel - "Request::is()"无法在 laravel 5.5 上工作,在 Blade 中