技术饭

解决Unable to find the wrapper "https"的二种方法

copylian    0 评论    190 浏览    2020.11.13

这个问题其实通php加载openssl模块来解决,是件挺容易的事,但是牵扯到用什么linux系统,以及是用多少位的linux系统,以及php自身的版本问题,以及是不是手动安装,还是管理工具安装时,其实有的时候,还是比较麻的。

解决方法一,php加载openssl模块

遇到这个问题时,我的第一反映就是加openssl模块,但是不好加啊。开发的时候测试服务器是2000块多台式机,系统是32位的centos5.5,php是5.2.6.到正式服务器是用的是64位的centos6,代码是基于php5.2.6开发的,所以没办法正式服务器手动安装php的5.2.6(没有找到可以管理工具安装的源),保重测试服务器和正式服务器一样

当我在正式服务器用phpize来编译安装openssl模块时,老是提示如下信息。

我在网上找了好多方法,没有一个可行的。

1,先确认一下,你的系统中有的有木有openssl,如果没有安装一下openssl

2,先确认一下,有没有装过libiconv,这个是php的支持库,如果没有安装一下,一般情况是有的,系统不同,可能有的有,有的没有

3,如果上面都没有问题,你就可以用phpize来编译openssl模块,或者是重新把php编译一下

上面的操作具体步骤就不详细说了,下面推荐另一种方法,更好用。

解决方法二,通过curl来抓取https的数据,或者是模拟登录

        //远程抓取

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $water_img);

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        $result = curl_exec($ch);


        //将二级制图片存入服务器,file_put_contents() 方法可能有欠缺

        file_put_contents($filePath, $result);

解决了这个问题后,你可以干什么呢,比较如模块登录到有https的网站啊,可以来抓取https网站的内容等。关于curl的例子请参考:php curl常用的5个例子

飓风呀
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!
Unable wrapper https 

文明上网理性发言!

  • 还没有评论,沙发等你来抢