当前位置:  开发笔记 > 编程语言 > 正文

PHP:file_get_contents($ loc)失败

如何解决《PHP:file_get_contents($loc)失败》经验,为你挑选了2个好方法。

我刚刚将一个项目从localhost移到了我的远程服务器上,并注意到我的一些脚本停止了工作.最重要的是依赖于file_get_contents()从另一个脚本获取JSON值的那个.

PHP版本是5.2.4
allow_url_fopen是ON

警告:file_get_contents() [function.file-get-contents]:php_network_getaddresses:getaddrinfo失败:产品名称或服务不知道/var/www/html/2009/functions/functions.products.phpline 5

警告:: file_get_contents(http://data.example.com/new-data.php) [function.file-get-contents]无法打开流:Success in /var/www/html/2009/functions/functions.products.php打开line 5

该脚本正在运行:http://www.example.com
传递给该函数的位置是http://data.example.com/new-data.php

注意:相同的域名,但有两个不同的服务器.

function getData() {
  $location = "http://data.mysite.com/new-data.php";
  $contents = file_get_contents($location);
  $jsonVars = json_decode($contents);
  return $jsonVars
}

bobince.. 18

名称或服务未知

DNS破产了.你可以ping data.mysite.com从机器上的外壳(假设你有一个)?

立即尝试data.mysite.com使用固定IP地址替换.



1> bobince..:

名称或服务未知

DNS破产了.你可以ping data.mysite.com从机器上的外壳(假设你有一个)?

立即尝试data.mysite.com使用固定IP地址替换.


我建议修复DNS问题,而不是依赖硬编码IP地址到代码中.根据您的托管情况,您可能会绕过某些负载平衡或容错路由配置.此外,将来更容易进行更改甚至独立于主机.

2> 小智..:

你也可以尝试卷曲:

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, 'http://url.url');
$result = curl_exec($curl);
curl_close($curl);

你得到你想要的东西$result.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有