在ubuntu系统上编译安装PHP7.4.33时,会报错如下
make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1
原因分析:这个错误提示的意思是PHP配置过程中缺少OpenSSL库文件,因此在编译过程中出现了问题;Ubuntu 22.04 中openssl默认版本是OpenSSL 3.3,与php7.4.33不兼容,支持 SSL 的 Ubuntu 7.4 上的自定义路径中从源代码构建 PHP 33.22.04 会导致在 PHP 中使用 SSL 功能时出错(即简单的 )
解决方法:安装低版本的openssl包,在编译php时指定openssl路径
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz
tar -xvf openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./Configure --prefix=/opt/build --openssldir=/opt/build -fPIC -shared linux-x86_64 -Wl,--enable-new-dtags,-rpath,'/opt/build/lib';
make && make install
注意:如果报以下错,执行以下命令解决
OD document had syntax errors at /usr/bin/pod2man line 69.make: * [install_docs] Error1
mv /usr/bin/pod2man /tmp
make install
重新编译php,指定openssl路径为/opt/build即可