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目录