仗剑江湖载酒行

curl-openssl包引起的 PHP curl segmentation fault

2019.07.17

最近偶然发现本地的PHP环境在使用CURL请求https的地址时,会抛出一个segmentation fault错误;工作这么久的我第一次遇到这个问题顿时吓到尿崩。马上开始Google搜索解决方案。我本地是MacOS使用Homebrew安装的php7.2,brew自动处理依赖安装了curl-openssl。最常被提到的解决方案就是开启coredump,使用gdb分析日志。但由于在Mac上我一直没能找到写下的日志,所以只能作罢。后来我找到了这个issue,根据这个issue里所说,我先使用brew uninstall --ignore-dependencies curl-openssl卸载了curl-openssl包,这个时候程序可以正常运行了,好像php也没有一定依赖这个包,然后安装了其他版本的curl-openssl,这个问题得到了解决。

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e47f3e2682fa3d8a6ee58ded40718a1326e08a6d/Formula/curl-openssl.rb