0
点赞
收藏
分享

微信扫一扫

php使用openssl返回false报错0308010C

回溯 2024-05-30 阅读 6

本地php使用openssl返回false, 但是在服务器上测试正常

openssl_encrypt($jsonStr, 'DES-ECB', $key, OPENSSL_RAW_DATA, '');

查看错误

openssl_error_string();

error:0308010C:digital envelope routines::unsupported


原因是: 服务器上的openssl是1.1版本, 本地是3.0版本


解决方法: openssl向下兼容

通过phpinfo找到openssl.cnf 位置: 如macos地址为: /usr/local/etc/openssl@3/openssl.cnf


找到[provider_sect]并将其更改为以下内容:

[provider_sect]
default = default_sect
legacy = legacy_sect

找到[default_sect]并将其更改为以下内容:

[default_sect]
activate = 1
[legacy_sect]
activate = 1


修改后内容如图所示:  

php使用openssl返回false报错0308010C_0308010C





举报

相关推荐

0 条评论