设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 3261|回复: 1

[php] php如何不使用libssl.so? [复制链接]

Rank: 6Rank: 6

签到
156
注册时间
2011-2-22
最后登录
2017-4-27
在线时间
161 小时
阅读权限
70
积分
9147
帖子
293
主题
121
精华
0
UID
12099
发表于 2015-3-27 23:27:19 |显示全部楼层
最近openssl出现漏洞,我把openssl做了升级,但是升级之后重启apache时,遇到:
Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/lib64/libssl.so.1.0.0: undefined symbol: CRYPTO_memcmp
google了一把,说是openssl的版本的问题。。。。我ldd /usr/local/apache2/modules/libphp5.so 结果是:
# ldd libphp5.so
        linux-vdso.so.1 =>  (0x00007fffb2dff000)
        /$LIB/libbash_strip_env.so => /lib64/libbash_strip_env.so (0x00007fce75518000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fce753d0000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fce752bc000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fce751b3000)
        libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00007fce75081000)
        libltdl.so.3 => /usr/lib64/libltdl.so.3 (0x00007fce74f7a000)
        libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00007fce74e42000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fce74d2d000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fce74bd8000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fce74ad4000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fce749bd000)
        libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007fce74863000)
        libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007fce745c4000)
        libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007fce7446a000)
        libmysqlclient.so.15 => /usr/local/mysql-5.0.45/lib/mysql/libmysqlclient.so.15 (0x00007fce742bd000)
        libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fce7407a000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fce73e39000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fce73d20000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fce7609d000)
        libidn.so.11 => /usr/lib64/libidn.so.11 (0x00007fce73bee000)
所以我怀疑是libphp.so的问题,于是我把php重新编译:
cd php-5.2.12/
LIBS="-liconv ${LIBS}" ./configure \
--prefix=/usr/local/php5.2.12 \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--with-libxml-dir=/usr/local/ \
--with-expat-dir=/usr/local \
--with-gd=/usr/local/ \
--with-jpeg-dir=/usr/local/ \
--with-zlib-dir=/usr/local/ \
--with-png-dir=/usr/local/ \
--with-freetype-dir=/usr/local/ \
--with-pdo-mysql=/usr/local/mysql/bin/mysql_config \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-iconv-dir=/usr/local/ \
--with-curl \
--with-xsl \
--with-mhash=/usr/local/mhash/ \
--enable-mbstring=all \
--enable-shmop \
--enable-soap \
--enable-pcntl \
--enable-ftp \
--enable-sockets \
--enable-zip \
--enable-bcmath \
--enable-mysqli \
--with-gmp \
--disable-ipv6

再重启apache,可以了!但是ldd 发现还有libssl.so:只是版本变 了:
# ldd /usr/local/apache2/modules/libphp5.so
        linux-vdso.so.1 =>  (0x00007fff3cbfd000)
        /$LIB/libbash_strip_env.so => /lib64/libbash_strip_env.so (0x00007fdd772fb000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fdd771b3000)
        libexslt.so.0 => /usr/local/lib/libexslt.so.0 (0x00007fdd770a2000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fdd76f99000)
        libmhash.so.2 => /usr/local/mhash//lib/libmhash.so.2 (0x00007fdd76e6c000)
        libgd.so.2 => /usr/local/lib/libgd.so.2 (0x00007fdd76ce7000)
        libfreetype.so.6 => /usr/local/lib/libfreetype.so.6 (0x00007fdd76b75000)
        libpng12.so.0 => /usr/local/lib/libpng12.so.0 (0x00007fdd76a51000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fdd7693d000)
        libm.so.6 => /lib64/libm.so.6 (0x00007fdd767e8000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fdd766e3000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fdd765cd000)
        libiconv.so.2 => /usr/local/lib/libiconv.so.2 (0x00007fdd763ec000)
        libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x00007fdd762a6000)
        libssl.so.0.9.8 => /usr/local/openssl//lib/libssl.so.0.9.8 (0x00007fdd76159000)
        libcrypto.so.0.9.8 => /usr/local/openssl//lib/libcrypto.so.0.9.8 (0x00007fdd75ede000)
        libmysqlclient.so.15 => /usr/local/mysql-5.0.45/lib/mysql/libmysqlclient.so.15 (0x00007fdd75d30000)
        libxslt.so.1 => /usr/local/lib/libxslt.so.1 (0x00007fdd75beb000)
        libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x00007fdd759a9000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fdd75768000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdd7564f000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdd77c21000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fdd7553b000)
我的问题:
1.为什么编译php总是会用到libssl的库,我的编译参数么有加ssl的选项啊,咋回事?

Rank: 8Rank: 8

注册时间
2011-9-16
最后登录
2020-10-1
在线时间
1013 小时
阅读权限
90
积分
287929
帖子
2158
主题
2
精华
0
UID
15647
发表于 2015-3-29 09:05:31 |显示全部楼层
不用的话,貌似不安全吧

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-10-2 03:14 , Processed in 0.021959 second(s), 14 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部