PHP file_get_contents函数获取https内容出错的解决方法

李洋博客

最近陆陆续续接到网友反馈,导航主题在部分情况下会出现错误,起初我也是懵的,因为我的站点并没有发现这个错误,解决起来比较麻烦,排查了很久一直都未出现问题,但是部分客户真的遇到了,而且错误代码也已经给出,的的确确是导航问题,因为本站使用的是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函数抓取数据,可能会在部分主机出现莫名其妙的错误,错误代码如图:

PHP file_get_contents函数获取https内容出错的解决方法 第1张

自行百度,查看“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试试看。

PHP file_get_contents函数获取https内容出错的解决方法 第2张

解决方法:

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

PHP file_get_contents函数获取https内容出错的解决方法 第3张

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

文章版权声明:除非注明,否则均为李洋个人博客原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 1 条评论,8173人围观)
网友昵称:cjwlove
cjwloveV铁粉2021-01-14沙发 回复 Google Chrome 86.0.4240.198 Windows 10 x64
问题解决!!!![Applause]
取消
微信二维码
支付宝二维码
微信二维码