今天我的一位朋友在做项目的时候遇到这样一个问题,如下图:
原因:
不管你是用框架,还是用其它的,只要出现这个问题,都是因为PHP扩展openssl没有开启或安装。
特别注意:
这里有一个注意的事项,看openssl是否开启?一定要查看phpinfo,要以phpinfo为主。
像我的这位朋友,他说他已经安装了openssl,怎么还会出现这个问题?
结果我在他的linux服务器下查看,openssl的确是有的,但是当查看phpinfo的时候,却没有openssl。
解决办法:
一、windows下PHP开启openssl扩展方法:
这个就非常的简单了,直接去php.ini去掉;extension=php_openssl.dll前面的;即可!
然后再重启apache!
二、Linux下PHP安装openssl扩展方法:
PHP安装openssl扩展方法其实有很多的,我就用最常见最稳定的方法来给大家展示吧!PHP源码包下安装openssl扩展:
1、进入php源码包 ext/openssl 目录下;
cd /usr/local/php5.5.28/ext/openssl
2、进入openssl目录下后,先使用phpize命令生成一个configure文件;
/usr/local/php/bin/phpize
3、配置;
./configure --with-php-config=/usr/local/php/bin/php-config
4、编译和安装;
make && make install
成功以后会出现一个类似这样的路径:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/***
5、安装完成后需要在php.ini文件中添加一条记录:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so
6、重启php,再查看phpinfo()就会看到openssl扩展已开启。
注意:linux中上面的命令路径请根据自身的情况来调整。