php的openssl扩展
1. 如何在php扩展里打开php openssl支持
在安装腾讯微博api程序iweobo时,发现php不支持openssl_open(),?1、打开php目录,在php.ini中把“extension=php_openssl.dll”前面的“;”去掉2、复制php安装目录中的:
libeay32.dll、ssleay32.dll至c:windowssystem323、复制php_openssl.dll
2. 如何让php的curl扩展支持openssl
1。将php安装目录下ext文件夹下的php_openssl.dll、libeay32.dll、ssleay32.dll 、php_xmlrpc.dll、php_curl.dll;5个文件复制到windows下的system或者system32目录下:
2。将php.ini复制到windows文件夹中,打开php.ini,将extension=php_openssl.dll前面分号去掉;
3。重启Apache服务器。
3. PHP的openssl加密扩展使用~呢
在php.ini文件找到openssl那行,然后删除前面的;重启apache就行
4. PHP7.2 安装openssl扩展报错问题。(centos7.7)
试试重新安装看可行
删除旧版本:yum remove -y openssl openssl-devel 源码安装openssl需要perl环境编译,如果没有perl环境还是需要安装:yum -y install perl perl-devel
1.下载源码包
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
2.解压源码包并进入解压后的目录:
tar zxf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
3.配置并编译安装:
./config -fPIC --prefix=/usr/local/openssl/ enable-shared && make && make install
注释:
--prefix:指定安装目录
-fPIC:编译openssl的静态库
enable-shared:编译动态库
4.加入环境变量,以便方便使用openssl命令:
echo "export PATH=$PATH:/usr/local/openssl/bin" >>/etc/profile
source /etc/profile
5.将库文件路径写入/etc/ld.so.conf文件中,方便调用库文件
echo "include /usr/local/openssl2/lib" >> /etc/ld.so.conf
ldconfig
6.查看openssl命令路径:
which openssl
/usr/local/openssl/bin/openssl
查看版本号:
openssl version -a
5. PHP中2个加密扩展库openssl mcrypt有何区别
Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。 1.安装PHP加密扩展Mcrypt 要使用该扩展,必须首先安装mcrypt标准类库,注意的是mcrypt软件依赖libmcrypt和mhash两个库。 2.PHP加密扩展库Mcrypt的算法和加密模式 Mcrypt库支持20多种加密算法和8种加密模式,具体可以通过函数mcrypt_list_algorithms()和mcrypt_list_modes()来显示,结果如下: Mcrypt支持的算法有:cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-中国pat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes Mcrypt支持的加密模式有:cbc cfb ctr ecb ncfb nofb ofb stream 这些算法和模式在应用中要以常量来表示,写的时候加上前缀MCRYPT_和MCRYPT_MODE_来表示,如下面Mcrypt应用的例子: DES算法表示为MCRYPT_DES; ECB模式表示为MCRYPT_MODE_ECB; 3.PHP加密扩展库Mcrypt应用 先看一个例子,了解Mcrypt的工作流程,再来看看部分流程使用的函数: <?php $str = "我是李云"; $key = "123qwe.019860905061X"; $cipher = MCRYPT_RIJNDAEL_128; $mode = MCRYPT_MODE_ECB; $iv = mcrypt_create_iv(mcrypt_get_iv_size($cipher,$mode),MCRYPT_RAND); echo "原文:".$str."
"; $str_encrypt = mcrypt_encrypt($cipher,$key,$str,$mode,$iv); echo "加密后的内容是:".$str_encrypt."
"; $str_decrypt = mcrypt_decrypt($cipher,$key,$str_encrypt,$mode,$iv); echo "解密后的内容:".$str_decrypt."
"; ?> 运行结果: 原文:我是李云 加密后的内容是:??Z懔e e??? 解密后的内容:我是李云 //手册里的写法: //指定初始化向量iv的大小: $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); //创建初始化向量: $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); //加密密码: $key = "123qwe.019860905061x"; //原始内容(未加密): $text = "My name is Adam Li!"; echo $text. "
\n"; //加密后的内容: $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); echo $crypttext. "\n
"; //解密已经加密的内容: $str_decrypt = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv); echo $str_decrypt; 注:加密和解密函数中的参数cipher、key和mode必须一一对应,否则数据不能被还原。关于MCRYPT_RAND参见笔记linux中的随机数文件 /dev/random /dev/urandom。 PHP的Mcrypt扩展的mcrypt_create_iv, 如果你不指定的话, 默认使用/dev/random(Linux上), 作为随机数产生器. 这里的问题就在于/dev/random, 它的random pool依赖于系统的中断来产生. 当系统的中断数不足, 不够产生足够的随机数, 那么尝试读取的进程就会等待, 也就是会阻塞住 当20个并发请求的时候, 服务器的中断数不够, 产生不了足够的随机数给mcrypt, 继而导致PHP进程等待, 从而表现出, 响应时间变长 解决的办法就是, 改用/dev/urandom, /dev/urandom也是一个产生随机数的设备, 但是它不依赖于系统中断。 $ rngd -r /dev/urandom -o /dev/random -t 1 用urandom的结果填充entropy池子,这样既保证了entropy池的数量,也保证了随机性 然而, 为什么PHP使用/dev/random作为默认, 这是因为理论上来说, /dev/urandom在一定的情况下, 可能会被可预测(参看: /dev/random), 所以一般上认为, /dev/urandom不如/dev/random安全
6. linux环境下php5.6.30安装openssl扩展报错,麻烦各位大神看看哪儿的问题
安装PHP成功后,进入 PHP 的源码包
#cd /usr/local/src/php-5.6.8
进入openssl扩展模块的目录
#cd ext/openssl
在当前目录下执行
# mv config0.m4 config.m4
#/usr/local/php/bin/phpize //这里为你自己的phpize路径,如果找不到,可以用whereis phpize查找
#./configure --help |grep openssl 查看安装openssl扩展需要的相关选项
#./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config 描红的是安装每个扩展的必选项
#make
#make install
7. php5.5.38开启openssl扩展
Failed to create directory
CCLOG("AssetsManagerEx : can not create directory %s\n", fullPath.c_str());
unzClose(zipfile);
return false;
}
}
8. lamp 如何开启openssl扩展
1: 首先检查php.ini中;extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘;', 如果不存在这行,那么添加extension=php_openssl.dll。
2: 将php文件夹下的: php_openssl.dll, ssleay32.dll, libeay32.dll 3个文件拷贝到 WINDOWS\system32\ 文件夹下。
3: 重启apache或者iis(iisreset /restart)
至此,openssl功能就开启了。
9. PHP中2个加密扩展库openssl mcrypt有何区别
mcrypt扩展 包含了20多种加密算法和8种加密模式,不包括openssl,openssl是一种公私钥的网络通信安全协议,也算一种加密模式,php的openssl扩展是为了用这个协议加密和解密传输数据用的,不是为https准备,https是架在ssl上的一个应用,是浏览器和服务器自动完成的,跟php的openssl这个扩展没啥关系
10. WIN下如何在PHP扩展里打开openssl支持
在windows系统中IIS环境的操作方式:
1、在c:\windows\php.ini中
将;extension=php_openssl.dll前面分号(注释)去掉
2、复制php安装目录中的:
libeay32.dll
ssleay32.dll
至c:\windows\system32
3、复制PHP\ext目录中的php_openssl.dll至c:\windows\system32
4、重启IIS
其他操作方式:
windows下php开启openssl
用ci的email类发邮件的时候发现来是出现这么一个错误:
unable to connect to ssl
(Unable to find the socket transport “ssl” – did you forget to enable it when you configured PHP?)
不过在php.ini里也没有发现ssl的扩展,去apache里倒是有个ssl的扩展,不过一打开就启动不成功(应该是需要配置一些东西才行),后来发现php文件夹下有openssl的扩展,只是安装不成功,于是上网搜原因,最后终于解决了,有用资料如下:
1,要想开启mcrypt支持,系统需要安装了libmcrypt.dll库。
这个一般用户是没有安装过的,但不用担心,PHP的windows发行包里已经给我们附带了此文件,在PHP压缩包的根目录下即可找到,然后将其复制到%system%/system32目录下即可。
2,要想开启OpenSSL支持,系统需要安装libeay32.dll和ssleay32.dll两个库。
如果你以前安装过OpenSSL,那么你的系统目录中应该已经存在这两个文件;如果没有安装,PHP的windows发行包里同样附带了这两个文件,将其复制到%system%/system32目录下即可。
—AppServ Win32如何打开openssl——————–
1.打开c:/windows,里面有一个php.ini文件(AppServ居然将php的配置文件移到这里来!),然后在里面搜索 ;extension=php_openssl.dll ,把前面的逗号去掉。
2.进入AppServ的安装目录,到php文件夹里面,分别搜索 libeay32.dll 和 ssleay32.dll ,把它们复制到 c:/windows/system32 下面
3.重新启动 Apache,就可以了,
您也可以向我们团队发出请求,会有更专业的人来为您解答。