本地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版本
通过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
如图所示: