1、通过抛出的异常分析,执行到 HttpClient 使用 GuzzleHttp 时才会导致该问题出现;
2、尝试确认线上容器环境变量与本地环境保持一致,问题依旧,排除;
3、尝试重新编译 swoole.so 或拷贝其它正常 mac 的 swoole.so,问题依旧,排除;
4、最终确认根因:php 使用的 swoole.so 扩展中编译时的 openssl 版本与 php 中配置的 openssl 版本不一致。
1、确认当前使用的 php 配置参数中的 openssl 版本、路径(Mac 环境下一般会多版本共存使用);
2、重新编译 swoole.so,编译时通过 --with-openssl-dir 指定所需的 openssl 版本与路径保持与 php 的一致(Mac 出厂时自带会有低版本的 openssl,默认情况下编译时会使用系统自带的低版本 openssl,编译其它软件时也同理会遇到该问题,解决思路可复用)