我在智慧的结尾。我为最近一直在研究的项目(这是为了学校)设立了一个LAMP服务器。 我想用我的服务器使用curl从PHP获取公共IP地址。我使用下面的代码来获得它:Ubuntu服务器 - 即使指定了其他网站,PHP curl也会在服务器上查找地址
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "http://ipecho.net/plain");
$host = curl_exec($ch);
curl_close($ch);
它对我的家用电脑上的本地主机效果很好。可悲的是,Ubuntu服务器不符合。当我呼应的结果,我得到一个格式化的消息说:
NOT FOUND: The request URL "/plain/" was not found on this server.
我真的不知道这里做什么。 cURL也应该工作,我已经安装了正确的软件包。
旁注:
我已经通过file_get_contents()
(也工作我家电脑上),也试过,但在服务器上,它只是返回以下消息:
Warning: file-get-contents("http://ipecho.net/plain") failed to open stream: HTTP request failed! HTTP/1.1 202
难道这两件事情涉及到一样的问题?
http://stackoverflow.com/questions/ 16748206/php-can not-access-external-urls 尝试设置allow_url_fopen – tjfo
默认情况下它已被启用。我忘了提及在发布这个问题之前我已经去检查它是否启用。 ^^ – Naldorenses