我正在尝试使用 php-openid 库在 PHP 中实现 OpenID 登录。但它在我的服务器上不起作用,可能是因为 PHP libcurl 使用 NSS 而不是 OpenSSL 进行 SSL 连接(根据 phpinfo)。
我找不到任何可靠的文档来处理这种情况。我的服务器是普通的 CentOS6,PHP 5.3 是从 yum 安装的。
目前,php -i | grep SSL 显示如下:
SSL => Yes
SSL Version => NSS/3.13.1.0
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.0-fips 29 Mar 2010
OpenSSL Header Version => OpenSSL 1.0.0-fips 29 Mar 2010
Native OpenSSL support => enabled
我想我需要制作这样的 PHP 的 SSL 版本:
SSL Version => OpenSSL/1.0.0
有人知道如何在不重新编译 PHP 的情况下启用 OpenSSL 吗?非常感谢任何信息或建议,请告知在哪里查找。
答案1
PHP 使用 libcurl,而 libcurl 使用了 SSL 库。您不需要重建 PHP,但需要提供一个单独的 libcurl,该 libcurl 是为使用您选择的 SSL 库而构建的。
唉,您需要构建 libcurl 以使用 OpenSSL 或安装 libcurl-OpenSSL,然后让您的 PHP 使用该 libcurl 而不是原始 libcurl。