【发布时间】:2013-08-08 12:38:44
【问题描述】:
通常我会通过大量搜索和阅读来解决我的问题,但对于这个特定的问题,它的效率非常低。
我正在运行一个安装了 LAMP 堆栈的 64 位 Ubuntu Linux 服务器,并且遇到了 libcurl 不支持 SSL 的问题,而操作系统二进制文件确实支持 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 参数无济于事。
【问题讨论】:
-
假设你的 lib64 目录中已经有了 ssl,
--with-libdir=lib64 -
/usr/local/ssl, usr/local/ssl/include/openssl下没有SSL
-
它是 64 位 OpenSSL 吗?
-
不,下载中没有 32 位或 64 位的区别。我从 openss.org 下载的那个在 32 位系统中运行良好。
-
你拿到 ssl 开发包了吗?
标签: php linux openssl 64-bit lamp