Warning: file get contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP

来自技术流笔记
跳转至: 导航搜索

出现这个错误的原因很简单,因为你php配置出了问题,本人使用的是自己搭建的wamp环境(apache, mysql, php)。先说一下为什么会出现这个问题,原因是你的URL地址的前缀是https;在URL前加https前缀表明是用SSL加密的。 你的电脑与服务器之间收发的信息传输将更加安全。Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议要比http协议安全。读完这段话你也应该知道原因了。因为你的php配置中的加密模块并没有打开。


打开你的php.ini配置文件,定位到下图蓝色所示的位置,把extension=php_openssl.dll 前面的; 分号去掉。



解决方案有3: 1.windows下的PHP,只需要到php.ini中把extension=php_openssl.dll前面的;删掉,重启服务就可以了。 2.linux下的PHP,就必须安装openssl模块,安装好了以后就可以访问了。 3.如果服务器你不能修改配置的话,那么就使用curl函数来替代file_get_contents函数,当然不是简单的替换啊。还有相应的参数配置才能正常使用curl函数。