file_get_contents函数获取不到数据的一种情况

问题:

   file_get_contents($url) 获取不到数据,尽管URL地址正确,函数使用正确。如下代码

$url = "https://www.baidu.com";
$html = file_get_contents($url);
echo $html;

 

分析解决:

  百思不得解,百度了很多解决方法(很多都只是解决某特定问题),但解决不了目前的问题。

  之后换了好几个url测试,终于发现上面 $url 是HTTPS地址, file_get_contents() 是能正常获取到HTTP地址的内容,类似 http://www.baidu.com ,所以应该和PHP的SSL配置有关。

  然后从同事那拷贝了同版本的 php.ini ,用 SVN 自带的文本比较功能,和我本地 php.ini 比较,发现本地 php.ini 中 extension=php_openssl.dll 注释掉了,没开。果断开启。

  重启Apache后,  file_get_contents() 马上好使了。

 

总结:

  发现  file_get_contents 获取不到 HTTPS地址 内容时,首先确定PHP是否开启SSL扩展。

 

posted @   刘一二  阅读(7185)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示