尽管浏览器访问,仍可解决 file_get_contents() 500 错误
尝试使用 PHP 的 file_get_contents() 函数检索网页内容时,您可能会遇到500 内部服务器错误。但是,在网络浏览器中访问同一站点可能不会产生任何问题。这种不一致凸显了一个潜在的问题。
为了解决此问题,您使用了 cURL 作为替代方法。然而,利用 cURL 似乎会产生不同的错误消息:“对象引用未设置为对象的实例。”
此问题的可能解决方案是利用以下解决方法:
<code class="php">$opts = array('http' => array('header' => "User-Agent:MyAgent/1.0\r\n")); $context = stream_context_create($opts); $header = file_get_contents('https://www.example.com', false, $context);</code>
此解决方法旨在通过设置自定义 User-Agent 标头来模拟浏览器代理的请求。如果 Web 服务器区分浏览器请求和脚本请求,这可能会解决该问题。
如果此解决方法失败,则您的服务器配置可能不允许您访问 HTTPS 资源。您可能需要相应地调整服务器设置才能启用 HTTPS 请求。
以上是为什么我的 PHP `file_get_contents()` 在浏览器中加载网站时返回 500 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!