使用来自 Laravel 的本地 apache API


Use local apache API from Laravel

我开发了一个API,可以在本地loc.apilive.api生产中使用(显然域只是一个例子)。该 API 在经典的 apache 服务器上本地运行。

现在我正在玩Laravel,使用这个API。连接到live.api没有问题(因为我使用的是真实域),但无法连接到我的local API

我猜这只是一个host配置问题,因为Homestead无法连接到我的 cumputer 上的普通 apache 服务器。如果是这样的话,我只需要定义一个链接到loc.apiIP,但我不知道我应该在那里使用什么IP。

所以概括一下,在我的本地apache服务器上运行loc.api没有问题,运行live.api没有问题,单独运行Laravel或连接到live.api没有问题,但似乎无法Laravel使用我的loc.api

有什么想法吗?

Homestead 运行在类似于虚拟机的东西上。虚拟机的本地主机实际上是虚拟机内部使用的本地 IP 地址。为了与主机(运行虚拟机的计算机)通信,您需要使用默认网关 IP 地址。这是虚拟机用来引用其主机系统的 IP 地址。

默认值因虚拟机的配置而异。理想情况下,如果您在本地主机上正常设置 API,并通过 127.0.0.1(或本地主机)在本地访问它,则将本地站点配置设置为默认网关即可。

但是,如果您通过虚拟主机设置API,并且通过local.api或类似这样的主机访问它,则需要修改虚拟机的/etc/hosts文件(因为homestead正在为Ubuntu操作系统提供服务)并输入类似

<gateway IP> local.api

这样,您可以使用local.api作为 API 主机地址,该地址将解析为网关 IP 并使用正确的主机名调用 API。