第一步
找到與已安裝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
,測試如下圖所示表示成功