php添加openssl扩展
Posted 牛奔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php添加openssl扩展相关的知识,希望对你有一定的参考价值。
第一步
找到与已安装php版本相同的源代码包,(使用 php --version
查看php版本)
如果之前有源代码包,直接解压,没有网上下载相同版本后再解压。
使用命令:tar -zxvf xxxx.tar.gz
第二步
进入解压后的目录,会看到一个 ext
的目录,进入该目录,其中有一个 openssl
目录,如下图所示
第三步
进入 openssl
目录,执行如下命令
[root@localhost openssl]# /usr/local/php/bin/phpize //视自己的安装环境而定,找到自己已安装php中的phpize
Cannot find config.m4. //提示找不到config.m4文件,执行如下mv操作
Make sure that you run \'/usr/local/php/bin/phpize\' in the top level source directory of the module
[root@localhost openssl]# ls
config0.m4 config.w32 CREDITS openssl.c openssl.mak php_openssl.h README tests xp_ssl.c
[root@localhost openssl]# mv config0.m4 config.m4 //将目录中的config0.m4直接改名为config.m4
[root@localhost openssl]# /usr/local/php/bin/phpize //再执行一次
Configuring for:
PHP Api Version: 20210520
Zend Module Api No: 20210520
Zend Extension Api No: 320210520
第四步
执行完上面的步骤后,会看到 openssl
目录中生成了 configure
文件,如下图
接着执行如下命令:
[root@localhost openssl]# ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking for C compiler default output file name... a.out
...
... //此处省略部分执行过程
//configure完后,接着make编译,部分代码如下:
[root@localhost openssl]# make
/bin/sh /usr/src/lamp/php-7.1.9/ext/openssl/libtool --mode=compile cc -I. -I/usr/src/lamp/php-7.1.9/ext/openssl -DPHP_ATOM_INC -I/usr/src/lamp/php-7.1.9/ext/openssl/include -I/usr/src/lamp/php-7.1.9/ext/openssl/main -I/usr/src/lamp/php-7.1.9/ext/openssl -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /usr/src/lamp/php-7.1.9/ext/openssl/openssl.c -o openssl.lo
mkdir .libs
cc -I. -I/usr/src/lamp/php-7.1.9/ext/openssl -DP
...
... //此处省略部分执行过程
//make编译过程完后,执行make install 安装过程
[root@localhost openssl]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20210520/ //生成的openssl.so文件的目录位置,视自己php环境而定
第五步
编辑 php.ini
文件
vim /usr/local/php/etc/php.ini
//开启extension_dir选项,并指定扩展文件存放目录
//配置文件中默认如下所示
;extension_dir=\'./\'
//开启并配置如下所示
extension_dir=\'/usr/local/php/etc/extension\' //自己指定
如下图所示
第六步
将第四步中 openssl.so
文件拷贝到第五步中 extension_dir
指定的目录中(或者直接使用生成的地址),如下图所示
第七步
编辑 php.ini
文件,开启 openssl
扩展,在 php.ini
文件末尾添加如下代码
extension=openssl.so
保存并退出,重启 php-fpm
,测试如下图所示表示成功
以上是关于php添加openssl扩展的主要内容,如果未能解决你的问题,请参考以下文章