通常情况下,我经常搜索并阅读很多内容以解决我的问题,但对于这个特殊问题,它一直非常没有效果.
我正在运行一个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 ....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。