一个简单的简短问题我可以在fsockopen()函数中传递主机的ip而不是它的名称吗?我需要在2台服务器之间设置连接,现在我必须在同一台计算机上工作,我从来没有使用过fsockopen一个简单的例子表示赞赏
在此先感谢=)
答案 0 :(得分:3)
我会说,不是使用fsockopen()
在两台服务器之间进行HTTP,而是使用curl
会更容易,因为它已经有了你需要的东西。
从技术上讲,如果您使用fsockopen()
进行HTTP通信,那么您将开发另一个HTTP客户端。由于curl是一个HTTP客户端,我看不出需要重新发明轮子^^
修改强>:
所以你真的必须使用fsockopen()
?
确定。这是Simon Willisons PHP HTTP client的链接。也许它已经过时且过时,并且只涵盖了HTTP客户端功能的一小部分,但它附带了源代码,可以帮助您了解如何使用fsockopen
来执行HTTP请求。
答案 1 :(得分:1)
例如。
fsockopen(gethostbyaddr("127.0.0.1"), ...
答案 2 :(得分:0)
使用fsockopen函数不安全。出于安全原因,托管服务提供商通常会禁用此功能,托管服务提供商也可以通过防火墙防止外部连接到其他计算机。
如果你想使用php从另一台服务器获取某些东西,只需使用CURL即可。您需要安装curl php扩展才能使用它。
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://yourserver.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
$r = curl_exec($ch);
curl_close($ch);
?>
此外,如果您使用Zend Framework,您可以关注Zend_Http_Adapter_Curl类