我正在尝试使用 PHP 包装器(在幕后使用 curl)连接到 Web 服务。
在运行 PHP 5.3 的本地 Linux 机器上,它运行完美。但是,当我移动到远程服务器(也在 Linux 上运行 PHP 5.3)时,对 Web 服务 URL 的调用返回:
getaddrinfo(3) failed for http://server.host.com:8080/login
但是当我从命令行发出 curl 请求时,它会返回预期的 URL。
有人可以解释一下这个问题吗?
谢谢!
答案1
这是意料之中的。该ping
命令接受 IP 地址或主机名,而不是 URL。getaddrinfo() 和 getnameinfo() 函数也是如此。
curl 之所以能工作,是因为它能够与 URL 一起工作。