php使用openssl返回false报错0308010C

admin2024-05-30  15

本地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,php使用openssl返回false报错0308010C_openssl,第1张

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!