php7.2.29编译openssl报错?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php7.2.29编译openssl报错?相关的知识,希望对你有一定的参考价值。

-lxml2 -lz -ldl -lm -lcrypt -o sapi/cli/php
ext/openssl/.libs/openssl.o: In function `zm_startup_openssl':
/home/php-7.2.29/ext/openssl/openssl.c:1436: undefined reference to `OPENSSL_init_ssl'
ext/openssl/.libs/openssl.o: In function `zm_info_openssl':
/home/php-7.2.29/ext/openssl/openssl.c:1590: undefined reference to `OpenSSL_version'
ext/openssl/.libs/openssl.o: In function `php_openssl_asn1_time_to_time_t':
/home/php-7.2.29/ext/openssl/openssl.c:940: undefined reference to `ASN1_STRING_get0_data'
/home/php-7.2.29/ext/openssl/openssl.c:955: undefined reference to `ASN1_STRING_get0_data'
/home/php-7.2.29/ext/openssl/openssl.c:955: undefined reference to `ASN1_STRING_get0_data'
ext/openssl/.libs/openssl.o: In function `sk_X509_pop':
/usr/local/include/openssl/x509.h:99: undefined reference to `OPENSSL_sk_pop'
ext/openssl/.libs/openssl.o: In function `php_openssl_is_private_key':
/home/php-7.2.29/ext/openssl/openssl.c:4103: undefined reference to `EVP_PKEY_get0_EC_KEY'
/home/php-7.2.29/ext/openssl/openssl.c:4084: undefined reference to `EVP_PKEY_get0_DH'

参考技术A openssl可能没开
搜索php 开启openssl试试

PHP不支持高版本的openssl

PHP不支持高版本的openssl

现有一台LNMP测试环境机器,Centos 6.9 先前升级过openssl版本由1.0.1e升级到1.1.0f,

因工作需求,升级php版本,升级到5.6.30,编译php中指定--with-openssl报错,搜了下资料,php不支持高版本openssl

../../mysys_ssl/libmysys_ssl.a(my_crypt.cc.o):/root/lnmp1.4/src/mariadb-10.2.5/mysys_ssl/my_crypt.cc:41: more undefined references to `EVP_CIPHER_CTX_cleanup‘ follow
collect2: error: ld returned 1 exit status
unittest/mysys/CMakeFiles/aes-t.dir/build.make:105: recipe for target ‘unittest/mysys/aes-t‘ failed
make[2]: *** [unittest/mysys/aes-t] Error 1
CMakeFiles/Makefile2:916: recipe for target ‘unittest/mysys/CMakeFiles/aes-t.dir/all‘ failed
make[1]: *** [unittest/mysys/CMakeFiles/aes-t.dir/all] Error 2
Makefile:160: recipe for target ‘all‘ faile


解决方法:
PHP编译换成低版本openssl环境或者不使用openssl参数(--with-openssl)
注:php编译(--with-openssl)不能像nginx那样指定opensll源码目录,必须指定的是已编译安装好的openssl目录

参考资料:https://bbs.vpser.net/viewthread.php?tid=15744&highlight=%E4%BA%AC%E4%B8%9C%E4%BA%91



本文出自 “boyhack” 博客,请务必保留此出处http://461205160.blog.51cto.com/274918/1963594

以上是关于php7.2.29编译openssl报错?的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 编译报错:SSL modules require the OpenSSL library

Linux 内核编译 Linux 内核 ⑥ ( 安装 OpenSSL | 安装其它依赖库 | 内核编译完成 )

使用WebRTC搭建turn服务编译报错openssl路径找不到问题排查

E1696 cannot open source file “openssl/buffer.h“

E1696 cannot open source file “openssl/buffer.h“

linux环境下不编译php增加open ssl扩展