gpt4 book ai didi

PHP Guzzle 5 : Cannot handle URL with PORT number in it

转载 作者:搜寻专家 更新时间:2023-10-31 21:08:00 25 4
gpt4 key购买 nike

我正在使用最新版本的 guzzle。

(from composer.json)
"guzzlehttp/guzzle": "~5"

(from composer.lock)
"name": "guzzlehttp/guzzle",
"version": "5.2.0",

当我尝试使用包含端口号的 URL 请求(GET 或 POST)时:

$response = $client->get('http://www.hostdnshere.com:8888', array());

我收到以下错误:

string(68) "cURL error 7: Failed to connect to 000.000.000.000: Permission denied"

当我执行相同操作但省略端口时:

$response = $client->get('http://www.hostdnshere.com', array());

请求成功,没有问题。我已经搜索了文档并在网络上进行了 Google 搜索,但无法找到如何为主机设置端口,因为它无法包含在内。

此外,我已经在发送请求的服务器表单上使用 cURL 对它进行了所有测试,无论有没有 PORT,无论如何都像一个魅力,所以我知道它不是服务器、DNS、代理的问题, 或端口。

最佳答案

致所有因为这个问题而用头撞墙的人

"cURL error 7: Failed to connect to 000.000.000.000: Permission denied"

错误,归结为“SELINUX”。没错,任何用任何编程语言编写的 cURL 包装器都可能受到以下事实的影响:当“SELINUX”设置为“强制执行”时,针对其中包含非标准 PORT 的 URL(即,我的.domain.com:8888).

如果您希望在您的 URL 中使用非标准端口,建议仅用于本地开发,将“SELINUX”设置为“禁用”。生产中的正确解决方案是使用不含 PORT 的干净 URL,以启用“SELINUX”。

打开:

nano /etc/selinux/config

定位:

SELINUX=enforcing

改变:

SELINUX=disabled

使用 CentOS 的用户很可能会遇到这个问题,因为“SELINUX”默认设置为“强制执行”。

关于PHP Guzzle 5 : Cannot handle URL with PORT number in it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29017526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com