使用phpbrew安装PHP7.4时构建失败如何解决
问题根源
PHP 7.4 原生发行版仅支持到 OpenSSL 1.1.x 版本,和你当前系统预装的 OpenSSL 3.0 接口不兼容,才会出现类型不匹配的编译报错。
解决方案
方案1:保持PHP7.4版本,打OpenSSL3兼容补丁编译
这是可以同时保留PHP7.4和使用OpenSSL3特性的唯一可行方案,操作步骤如下:
- 先清理之前的构建残留
phpbrew clean 7.4.25
- 下载PHP7.4对应的OpenSSL3官方兼容补丁,保存为
php7.4-openssl3.patch到本地 - 执行带补丁、指定OpenSSL3路径的安装命令:
phpbrew install 7.4.25 \ --patch /path/to/your/php7.4-openssl3.patch \ -- --with-openssl=/usr/local/opt/openssl@3 \ --with-openssl-dir=/usr/local/opt/openssl@3
注意把/path/to/your/替换为你实际保存补丁文件的本地路径
方案2:升级PHP版本(推荐)
PHP 8.0.1及以上、PHP 8.1/8.2/8.3版本均原生支持OpenSSL3,不需要额外打补丁,直接执行安装命令即可,兼容性和稳定性更高:
phpbrew install 8.1 +openssl=/usr/local/opt/openssl@3
你可以根据自身业务的PHP版本兼容性要求选择对应方案。
内容的提问来源于stack exchange,提问作者Shon_Heldin
相关产品推荐
相关产品推荐

