PHP file_get_contents函数获取https内容出错的解决方法
  • 更新时间:2024-11-22 21:14:04
  • 建站经验
  • 发布时间:1年前
  • 357

最近陆陆续续接到网友反馈,导航主题在部分情况下会出现错误,起初我也是懵的,因为我的站点并没有发现这个错误,解决起来比较麻烦,排查了很久一直都未出现问题,但是部分客户真的遇到了,而且错误代码也已经给出,的的确确是导航问题,因为本站使用的是php7.1,没有问题,但是也不能让所有人都去升级,毕竟有些虚拟机升级可能不是很方法,所以还得从跟上排查,zblogphp所给出的错误代码如下:


“E_WARNING : file_get_contents(//top.baidu.com/buzz?b=1&fr=topcategory_c513): failed to open stream: No such file or directory (set_error_handler) ”用file_get_contents这个php函数抓取数据,可能会在部分主机出现莫名其妙的错误,错误代码如图:


自行百度,查看“file_get_contents”这个函数,于是乎大概知道什么原因了,就是“file_get_contents”在获取https的连接时会出现如上的错误提示,百度的解决办法一般都是修改php.ini配置文件,找到“extension=php_openssl.dll”这一行,去掉前面的“;”或者找到“allow_url_include = Off ”这一行,将Off改为On,然后重启服务器。不过我测试了完全不管用,修改了“extension=php_openssl.dll”文件之后无法重启php,这就尴尬了。

其实不用那么麻烦,直接修改php函数就行,比如我们把链接的前面加上http试试看。


解决方法:

找到include.php文件,将“//top.baidu.com/buzz?b=1&fr=topcategory_c513”修改成“http://top.baidu.com/buzz?b=1&fr=topcategory_c513”,如图:


然后刷新页面查看效果是否可以用,导航主题模板已经更新,不需要在修改,部分客户自己修改过源码的请参考教程自行修改,修改完成后,后台首页“清空缓存并编译模板”,然后有问题在反馈给我反馈!

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址:https://www.tlkjt.com/experience/7962.html
推荐文章

在线客服

扫码联系客服

3985758

回到顶部