微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 64位Linux / Ubuntu和openssl问题(无法读取符号:错误值)

通常情况下,我经常搜索并阅读很多内容解决我的问题,但对于这个特殊问题,它一直非常没有效果.

我正在运行一个64位Ubuntu Linux服务器,我在其上安装了LAMP堆栈,并且libcurl没有SSL支持存在问题,而OS二进制文件确实有SSL支持. PHP无法读取它.当我搜索解决方案并尝试执行以下操作以在安装PHP时启用ssl支持时,我遇到了问题..

./configure .... --with-openssl
...
....
/usr/bin/ld: ext/standard/.libs/info.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
ext/standard/.libs/info.o: Could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [libPHP5.la] Error 1

所以,它突然退出了.我尝试做–enable-shared –without-pic参数无济于事.

解决方法:

好的,抱歉没有正确搜索SO本身.其中一个相关主题可以解决这个问题. relocation R_X86_64_32 against a local symbol’ error

我所要做的就是在配置期间使用enable-shared选项进行全新的openssl安装

./config enable-shared

然后我不得不重新安装cURL

./configure --with-ssl=/usr/local/ssl --with-zlib

然后我不得不重新安装PHP

./configure .... --with-openssl --with-curl ....

..那就做到了. PHP cURL扩展具有SSL支持.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐