- 在php8.0里,openssl的方法
openssl_decrypt
报错,如下
php openssl error:0308010C:digital envelope routines::unsupported
-
原因 openssl某此旧方法已经废弃,如果想要支持
-
解决办法 修改openssl的配置
/etc/ssl/openssl.cnf
,分别打开legacy_sect
和provider_sect
对legacy的支持
[default_sect]
activate = 1
[legacy_sect]
activate = 1
[provider_sect]
default = default_sect
legacy = legacy_sect
- 重启php-fpm
附:
nodejs生态里也有一样的问题,像vue命令如果也报上面的错误,则要添加环境变量,然后重启IDE再执行就OK了。
export NODE_OPTIONS=--openssl-legacy-provider
可以添加到系统环境变量或rc等自动运行脚本文件里。