make: *** [makefile:719: ext/openssl/openssl.lo] error 1
在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.1.1/openssl-1.1.1.tar.gz # tar -xvf openssl-1.1.1.tar.gz # cd openssl-1.1.1 # ./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即可 # export pkg_config_path=/opt/build/lib/pkgconfig; # export ld_library_path=/opt/build/lib; # export openssl_conf=/etc/ssl # ./configure --prefix=/usr/local/php --with-config-file-path=/etc --with-openssl=/opt/build --enable-gd pdo_sqlite --with-jpeg && make && make install
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论