linux环境下php5.6.30安装openssl扩展报错,麻烦各位大神看看哪儿的问题

如题所述

安装PHP成功后,进入 PHP 的源码包

#cd /usr/local/src/php-5.6.8

进入openssl扩展模块的目录

#cd ext/openssl

在当前目录下执行

# mv config0.m4   config.m4

#/usr/local/php/bin/phpize //这里为你自己的phpize路径,如果找不到,可以用whereis phpize查找

#./configure --help |grep openssl 查看安装openssl扩展需要的相关选项

#./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config 描红的是安装每个扩展的必选项

#make

#make install追问

我就是这么搞的,网上的教程我看了n个,最后make的时候,就报那个错误

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-04
系统中安装的openssl和要编译的openssl版本不一致。检查一下二者的版本分别是什么。
系统中安装的openssl可用openssl version查看。追问

好像确实不一样,那我用哪个版本的,用系统的1.1.0b那个?

追答

编译openssl插件需要用到libssl.so中的库函数以及openssl的相关头文件,而某几个函数以及头文件中的几个结构体在openssl 1.02以下版本和以上版本中是不一样的,所以你需要确定插件源码编译要求的openssl版本是什么。

追问

你好,我是用5.6.30版本的php,在解析后的php-5-6-30目录里面ext/openssl下面安装的openssl,这种情况该怎么确认我的源码要求的openssl版本,感谢回答

追答

php5.6与openssl 1.1不兼容,因为php5.6先于openssl 1.1发布,而openssl 1.1相比1.0.2有较大的变动,因此php5.6的openssl插件使用openssl 1.1的库编译将出现问题。请更换到php7.1以上版本。如果你因为种种原因非要使用php5.6,那么可以有以下两种解决方式:

    单独安装openssl 1.0版本到一个指定目录,然后编译php openssl插件并指定--with-openssl选项为这个目录

    使用某神人制作的patch来修改源码使php支持openssl 1.1,不过这个patch是5.6.31版的,因此你需要重新下载php5.6.31的源代码

我非常不建议使用以上两种方式,因为php5.6和openssl 1.0.x都已经停止维护,其中暴露的bug和安全漏洞将不会得到修复,如果你使用它们建站,那么你的网站将很容易受到php7.1不会遭受的攻击。

追问

谢谢,看来php版本需要升级了,那我再装一个php7.1吧,分就给你了,不管问题有没有解决,你的耐心值得这分数

本回答被提问者采纳

linux下phpstudy怎么安装php环境变量
OpenSSL 1.0.1e&0.9.8y ZendOptimizer 3.3.3 (php5.2有)Zend Loader 5.5.0 (php5.3有)Zend Loader 6.0.0 (php5.4有)wincache 1.3.5 (fastcgi有)php_opcache 7.0.3 (ZendOpcache扩展)xdebug 2.2.3.1 Zend Debugger 6.2 (php5.3\/4 fastcgi有)xcache 3.1....

各位大神.怎样在Linux redhat上安装openssh7.2
3.4、解压安装zlib包:tar -zxvf zlib-1.2.8.tar.gz\/\/首先安装zlib库,否则会报zlib.c错误无法进行 cd zlib-1.2.8 .\/configure make&&make install 3.5、解压安装openssl包:tar -zxvf openssl-1.0.1p.tar.gz cd openssl-1.0.1p .\/config shared zlib make make test make install mv...

相似回答