file_get_contents适用于本地但不适用于服务器

时间:2012-06-11 14:57:01

标签: php file-get-contents

  

可能重复:
  file_get_contents() error

处理连接到Instagram API的脚本以从特定标签获取照片。它在Local上工作正常,但在服务器上我得到错误。

警告:在第19行的/storage/content/91/103391/instaboll.nu/public_html/instagram.php中,allow_url_fopen = 0在服务器配置中禁用了file_get_contents():https://包装器。

这就是19号线的样子:
    $ contents = file_get_contents(“https://api.instagram.com/v1/tags/ $ tag / media / recent?client_id = $ client_id”);

有什么想法吗?

搜索过这个并找到一些推荐卷曲的帖子,但不知道如何继续这样做。

4 个答案:

答案 0 :(得分:15)

我用这段代码解决了它。

<?php
$url = "http://www.example.org/";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$contents = curl_exec($ch);
if (curl_errno($ch)) {
  echo curl_error($ch);
  echo "\n<br />";
  $contents = '';
} else {
  curl_close($ch);
}

if (!is_string($contents) || !strlen($contents)) {
echo "Failed to get contents.";
$contents = '';
}

echo $contents;
?>    

答案 1 :(得分:4)

解决方案是错误消息中的 :在你的ini中设置allow_url_fopen1(使用php.ini文件,使用ini_set in PHP代码,或与您的主人交谈。)

答案 2 :(得分:2)

您必须在主机上从php.ini启用allow_url_fopen或与您的托管服务提供商联系。

  

此选项启用支持URL的fopen包装器以启用访问   URL对象,如文件。

答案 3 :(得分:1)

您的服务器管理员已禁用此功能。你需要让他们启用它。