首页 > 后端开发 > php教程 > 为什么我的 PHP file_get_contents() 无法检索外部 URL?

为什么我的 PHP file_get_contents() 无法检索外部 URL?

DDD
发布: 2024-12-06 02:46:14
原创
661 人浏览过

Why is my PHP file_get_contents() failing to retrieve external URLs?

PHP ini file_get_contents 与外部 URL 的问题

file_get_contents() 函数允许 PHP 检索文件的内容,包括位于外部 URL。但是,在某些情况下,用户在尝试访问外部 URL 时可能会遇到函数返回空结果的问题。

可能的 PHP.ini 配置冲突

此问题可能与 PHP.ini 配置有关,特别是那些限制外部 URL 访问的配置。要确定问题的根源,需要确定相关的配置选项:

  • allow_url_fopen:此选项控制 PHP 是否可以打开 URL。检查它是否设置为0(禁用),这将阻止该函数访问外部内容。
  • allow_url_include:与allow_url_fopen类似,此选项允许PHP从URL读取文件。确保将其设置为 1(启用)。
  • safe_mode:安全模式限制某些 PHP 功能,包括 URL 访问。验证 php.ini 中的安全模式是否已禁用(设置为“关闭”)。

替代方法:使用 cURL

如果无法修改 PHP.ini 设置一个选项,一个解决方法是使用 cURL 库来模仿file_get_contents():

function get_content($URL){
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_URL, $URL);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;
}

echo get_content('http://example.com');
登录后复制

该函数初始化 cURL 句柄,设置必要的选项,并执行请求,返回指定 URL 的内容。

以上是为什么我的 PHP file_get_contents() 无法检索外部 URL?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板