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

为什么我的 PHP file_get_contents() 无法加载外部 URL?

Susan Sarandon
发布: 2024-12-31 20:43:17
原创
320 人浏览过

Why is my PHP file_get_contents() Failing to Load External URLs?

如何为 PHP file_get_contents() 启用外部 URL 加载

PHP 函数 file_get_contents() 允许我们检索文件或 URL 的内容。但是,有时可能无法获取外部 URL,从而导致空响应。此问题通常是由于特定的 PHP.ini 配置设置引起的。

调查 PHP.ini 配置

要确定有问题的配置,您可以检查以下设置:

  1. allow_url_fopen: 此设置控制是否允许 PHP 访问外部 URL。验证其是否设置为“打开”。
  2. file_get_contents.allow_http: 此设置限制 file_get_contents() 仅访问 HTTP URL。确保将其设置为“打开”。
  3. file_get_contents.readfile_disable: 此设置禁用 file_get_contents() 访问服务器上的本地文件的功能。如果您打算同时访问本地和外部 URL,请将其设置为“关闭”。

加载外部 URL 的替代方法

如果调整 PHP. ini 设置不能解决问题,您可以考虑使用替代方法来加载外部 URL PHP:

  1. cURL: CURL 是一个库,它提供了一种更强大的方式来从 URL 发送和检索数据。下面的代码片段演示了如何使用 cURL 获取外部 URL 的内容:
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');
登录后复制

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

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