php无需编译安装openssl扩展的实现方法
在php中使用RSA算法的时候,需要调用openssl_get_publickey方法,但同时需要对php编译openssl扩展,否则会提示以下错误:
Call to undefined function openssl_get_publickey()
由于php已经安装完毕,如何无需编译的情况下安装openss呢。这种方式操作步骤如下:
进入php源代码路径
cd /php-5.6.19/ext/openssl
使用phpize编译
cp config0.m4 config.m4 phpize
此时会生成configure文件,这样就可以使用make命令安装
特别说明:需要设置php安装路径的环境变量.
执行make安装
./configure --with-php-config=/usr/local/cp-php-5.6.19/bin/php-config --with-openssl
特别说明:需要先安装openssl
php.ini添加扩展配置openssl的扩展
extension=openssl.so
验证是否增加成功
php -m
可以看到php的所有的扩展
以上这篇php无需编译安装openssl扩展的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
PHP中OpenSSL加密问题整理
最近公司项目中有需要用到OpenSSL的加密和java端进行接口验证,再测试环境升级到PHP7的时候加密会出现错误,后来多方面检查终于找到原因所在: PHP7环境下把openssl_get_privatekey方法换成openssl_pkey_get_private 需要转换一下秘钥,window环境和Linux环境下的秘钥格式有区别(暂时不确定是不是操作系统的关系) PHP的秘钥验证需要加上头尾. 这里贴上附属方法 转换秘钥格式的方法: function transJavaRsaKeyToPh
-
PHP 7.1中利用OpenSSL代替Mcrypt加解密的方法详解
概要: php7.1发布后新特性吸引了不少PHPer,大家都在讨论新特性带来的好处与便利.但是从php7.0 升级到 php7.1 废弃(过时)了一个在过去普遍应用的扩展(mcrypt扩展).官方提供了相应的解决提示,却没有提供更详细的解决办法.于是坑来了: 今天在使用微信开放平台对接一个内容管理系统的时候,在绑定公众号的时候一直失败 原因: 调试的时候发现,直接原因是因为开放平台里面填写的授权事件(该授权事件每十分钟会通送一次事件来更新ticket),即: 这个地方填写的url,调试发现,这个
-
php7安装openssl扩展方法
1.我的源码在 /home/topsec/Documents/php-7.0.11 ,安装位置在 /usr/local/php7, php.ini 在/ usr/local/php7/lib 下.如果没有php.ini需要把源码中的配置文件 php.ini-development 或php.ini-production改名成php.ini并放在lib下. 2.进入openssl的扩展目录 :/home/topsec/Documents/php-7.0.11/ext/openssl 3.运行php
-
PHP7.1中使用openssl替换mcrypt的实例详解
在php开发中,使用mcrypt相关函数可以很方便地进行AES加.解密操作,但是PHP7.1中废弃了mcrypt扩展,所以必需寻找另一种实现.在迁移手册中已经指出了用openssl代替mcrypt,但未给出具体示例.网上有很多示例,可以替换大部分场景,但对于其中细节却并未说明.同样,简单地使用网上示例在某种代码场景下有可能导致代码替换前后的兼容问题,以下则来谈谈具体代码及原因. 首先我们直接给出替换的代码,再从代码中分析问题.(本文中分析的算法是AES-128-CBC) 替换示例 示例会展示两种
-
linux环境下安装PHP的OpenSSL扩展的方法讲解
先安装依赖包:yum install openssl openssl-devel 进入PHP安装包里的OpenSSL文件夹,根据个人的安装包位置不同,此处是 cd /home/local/php.5.6.25/ext/openssl/ phpize 可能会报错:Cannot find config.m4. Make sure that you run /usr/local/bin/phpize in the top level source directory of the module, 在当
-
升级 PHP7.1 后 openssl 解密 mcrypt AES 数据不兼容问题的处理方法
这是一个创建于 374 天前的主题,其中的信息可能已经有所发展或是发生改变. $key = "01234567891234560123456789123456"; $iv = "0123456789123456"; //原本的 mcrypt 加密 $en_data = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, "0123456789123456", MCRYPT_MODE_CB
-
PHP 使用openssl 扩展实现公钥加密的方法
如下所示: // 生成私钥 # openssl genrsa -out rsa_private_key.pem 1024 // 生成公钥 # openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 下面是示例代码: <?php // openssl 扩展检测 var_dump(extension_loaded('openssl')); $prikey = openssl_pkey_get_private(file_g
-
详解PHP版本兼容之openssl调用参数
背景与问题解决方式 老项目重构支付宝部分代码整合支付宝新的sdk时发现验签总是失败,才发现是open_verify最后的参数传输问题.而open_sign同样如此.本文主要说明open_verify的解决方式和代码解析.而问题的解决方式也是修改最后的加密类型参数,解决方式代码如下: // 将最后的常量OPENSSL_ALGO_SHA256修改成字符串 openssl_verify($data, base64_decode($sign), $res, "sha256WithRSAEncryptio
-
PHP中使用OpenSSL生成证书及加密解密
依赖于OpenSSL扩展 /*加密解密*/ function authcode($string, $operation = 'E') { $ssl_public = file_get_contents(DATA_PATH."/conf/cert_public.key"); $ssl_private = file_get_contents(DATA_PATH."/conf/cert_private.pem"); $pi_key = openssl_pkey_get_p
-
php无需编译安装openssl扩展的实现方法
在php中使用RSA算法的时候,需要调用openssl_get_publickey方法,但同时需要对php编译openssl扩展,否则会提示以下错误: Call to undefined function openssl_get_publickey() 由于php已经安装完毕,如何无需编译的情况下安装openss呢.这种方式操作步骤如下: 进入php源代码路径 cd /php-5.6.19/ext/openssl 使用phpize编译 cp config0.m4 config.m4 phpize
-
Linux下手动编译安装PHP扩展的例子分享
开发和部署的过程中可能会经常出现需要额外安装PHP扩展的情况,下边以PDO_MYSQL为例,介绍下手动编译安装PHP扩展: 先到http://pecl.php.net/找需要的版本,我用的是稳定的版本.要先看看说明,特别是要注意mysql的php的版本. 复制代码 代码如下: wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz tar xzvf PDO_MYSQL-1.0.2.tgz cd PDO_MYSQL-1.0.2 /usr/local/php
-
php编译安装php-amq扩展简明教程
本文讲述了php编译安装php-amq扩展的方法.分享给大家供大家参考,具体如下: 用途:这个扩展是用来操作rabbitmq服务端的 一.安装总括 1.编译安装librabbitmq库 这是一个开源c语言的库.用来与rabbitmq进行通信 而php的php-amqp扩展就是使用这个库与服务端通信.所以必须先安装这个开源库. 下载地址:https://github.com/alanxz/rabbitmq-c/ 点击此处本站下载. 2.编译php-amqp扩展的源码 注:两个的版本要指定,避免冲突
-
Ubuntu环境编译安装PHP和Nginx的方法
本文实例讲述了Ubuntu环境编译安装PHP和Nginx的方法.分享给大家供大家参考,具体如下: 编译安装nginx 切换目录到工作文件夹: cd /usr/local/src 下载pcre源代码并安装 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz tar -zxvf pcre2-10.20.tar.gz mv ./pcre2-10.20.tar.gz ./pcre cd pcre ./
-
linux下安装php扩展memcache的方法
memcache 的工作就是在专门的机器的内存里维护一张巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率,减轻后端数据库的读写压力. 实验环境:centos 6.6 x86_64 LAMP环境搭建完毕:php版本5.6.8.apache版本2.4.12 1.在安装memcached之前需要安装libevent支持: # wget http://syslab.comsenz.com/downloads/linux/libevent-1.4.12-stable.tar
-
python安装oracle扩展及数据库连接方法
本文实例讲述了python安装oracle扩展及数据库连接方法.分享给大家供大家参考,具体如下: 下载: cx_Oracle下载地址:http://cx-oracle.sourceforge.net/ instantclient-basic下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html window环境: python27 oracle10 需要软件: cx_Ora
-
shell 脚本安装PHP扩展的简单方法
实例如下: #!/bin/bash #This script is to install PHP extensions #Author=steven #Email=775189187@qq.com #WriteTime=Sun Aug 14 23:32:18 CST 2016 #The environment variable Extension_HOME=/usr/local/src/php-5.6.16/ext/mysql PHP_HOME=/usr/local/webserver/php
-
Windows下编译安装php扩展eAccelerator教程
eAccelerator是一个开源PHP加速器,用于优化程序,编码器和动态内容缓存.它通过在编译状态下对PHP脚本进行缓存以提高他们的性能,所以那些系统开销在编译时几乎可以被消除.它还能够对脚本进行优化以便加速它们的执行速度.利用eAccelerator可以减少服务器的负载并提高PHP代码的执行效率. 一.前期准备 1.下载php原代码和二进制包 地址:http://windows.php.net/download/ 2.下载eaccelerator(选择zip包) 地址:http://eacc
-
PHP7 安装event扩展的实现方法
Libevent 是一个用C语言编写的.轻量级的开源高性能I/O框架,支持多种 I/O 多路复用技术: epoll. poll. dev/poll. select 和 kqueue 等:支持 I/O,定时器和信号等事件:注册事件优先级.PHP提供了对应的扩展 libevent. Event . 相比 libevent ext, event ext 拥有更好的性能表现和更全面的API,可以让我们更友好的使用 Libevent. 安装 Libevent 库 php event 扩展 依赖 Libev
随机推荐
- CI框架AR操作(数组形式)实现插入多条sql数据的方法
- vue-cli构建项目使用 less的方法
- SQL Server 2012使用Offset/Fetch Next实现分页数据查询
- php Session存储到Redis的方法
- windows liunx两个系统修改默认启动项
- spring与mybatis三种整合方法
- jquery.pagination +JSON 动态无刷新分页实现代码
- 学习PHP的数组总结【经验】
- php截取中文字符串不乱码的方法
- 如何使用PHP对网站验证码进行破解
- C#中FormsAuthentication用法实例
- SyntaxHighlighter自动识别并加载脚本语言 原创
- Android 使用Vitamio打造自己的万能播放器(10)—— 本地播放 (缩略图、视频信息、视频扫描服务)
- 闲话技术人员之苦中作乐
- AndroidHttpClient使用Cookie应用分析
- 基于一致性hash算法(consistent hashing)的使用详解
- 详解Java中的线程让步yield()与线程休眠sleep()方法
- JAVA 数据结构链表操作循环链表
- Android使用多线程进行网络聊天室通信
- springMVC中基于token防止表单重复提交方法