linux Gmssl

https://blog.csdn.net/u011132987/article/details/102719203


[root@localhost ~]# find / -name libssl.so.1.1
/usr/local/lib64/libssl.so.1.1
[root@localhost ~]# ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@localhost ~]# ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
[root@localhost ~]# openssl version

编译与安装

GmSSL的PHP扩展代码位于源代码中的的php/ext/openssl目录,PHP扩展需要和PHP源代码目录树一起编译,过程如下:

  1. 下载并编译安装GmSSL;
  2. 下载最新的PHP源代码并解压;
  3. 用GmSSL的php/ext/openssl目录替代PHP源代码中的ext/openssl目录;
  4. 执行./configure --with-openssl; make; sudo make install编译和安装PHP;
  5. 修改PHP配置文件php.ini启用openssl扩展,即取消php.iniextension=openssl前面的注释。
  6. 可以通过PHP的phpinfo()函数确认openssl扩展已经启用,通过ldd命令检查PHP的二进制程序调用了GmSSL的动态库而不是系统默认的OpenSSL动态库。

首先下载并编译安装GmSSL-2.0代码,在Linux操作系统中通常默认的编译选项为—prefix=/usr/local—openssldir=/usr/local/ssl。然后从源代码编译PHP。PHP的默认配置不编译OpenSSL扩展,需要显式指定—with-openssl才会编译OpenSSL扩展。可以通过ldd检查安装好的php可执行程序是否链接了预期的库。

 cp php.ini-development /opt/php7/etc/php.ini
 cp -pr sapi/fpm/ /opt/php7/ 
 chmod -R 777 /opt/php7/fpm/ 
 cp /opt/php7/etc/php-fpm.conf.default /opt/php7/etc/php-fpm.conf
mv /opt/php7/etc/php-fpm.d/www.conf.default /opt/php7/etc/php-fpm.d/www.conf

i、启动PHP
/opt/php7/sbin/php-fpm -t
/opt/php7/sbin/php-fpm

 在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然后重新再次 make 即可。

原文地址:https://www.cnblogs.com/agang-php/p/15078623.html