【问题标题】:Can't connect to localhost from Httpful php rest client无法从 Httpful php rest 客户端连接到 localhost
【发布时间】:2016-07-12 08:29:50
【问题描述】:

我正在使用http://phphttpclient.com 尝试连接到在 localhost:8090 上运行的简单服务。

我的代码是:

$url = "http://127.0.0.1:8090/animal-speak";
$response = \Httpful\Request::get($url)
            ->send();
echo "{$response->body}"

我得到这个错误:

致命错误:未捕获的 Httpful\Exception\ConnectionErrorException:无法连接到“http://127.0.0.1:8090/animal-speak”:7 无法连接到 127.0.0.1 端口 8090:/var/www/vendor/nategood/httpful/src/ 中的连接被拒绝Httpful/Request.php:1028 堆栈跟踪:#0 /var/www/vendor/nategood/httpful/src/Httpful/Request.php(204): Httpful\Request->buildResponse(false) #1 /var/www/ html/index.php(17): Httpful\Request->send() #2 {main} 在 /var/www/vendor/nategood/httpful/src/Httpful/Request.php 第 1028 行抛出

我也尝试过使用 Guzzle Http 客户端并得到完全相同的错误,这让我相信这是一个 php / libcurl 问题?该服务肯定已经启动,我可以在浏览器中看到它,并且可以在命令行上 curl 到它。 谢谢

编辑:如果我不使用本地主机,而是使用远程端点,它可以正常工作。

【问题讨论】:

  • 127.0.0.1:80 对我来说效果很好。你没有安装防火墙吗?
  • 不,没有防火墙运行。在该端口上运行了其他非 php 的东西,这很好

标签: php httpful


【解决方案1】:

我的错。

我在 Docker 容器中运行服务并且没有设置网络。

抱歉浪费时间!

【讨论】:

  • 您能详细说明一下吗?设置网络?我遇到了同样的问题,并且也在使用 Docker。我正在为我的所有服务运行 docker-compose,但我不确定设置网络是什么意思。我还可以查看我试图从浏览器调用的其余 api,但它拒绝来自我的其他服务的连接
  • 你是如何运行包含服务的 docker 容器的?您需要确保将服务端口映射到要连接的主机端口: docker run -p 3000:80 -d myservice/service ......这会将 docker 容器内的端口 80 映射到 3000在主机上
猜你喜欢
  • 2019-10-05
  • 1970-01-01
  • 2021-05-17
  • 2013-02-14
  • 1970-01-01
  • 1970-01-01
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多