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扩展。

 

转载于:https://www.cnblogs.com/lhat/p/5878807.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值