3

我已将 php v5 openid 库放入站点并运行 detect.php,但在“HTTP Fetching”上失败(在此消息末尾报告)。discovery.php 也失败了。该服务器在 HTTPS 上运行,并添加了所有需要的库,因此应该可以正常工作 - 就像它在我已经实现它的其他服务器上一样。

任何运行 consumer/try_auth.php 的尝试都会失败,并出现错误“不是有效的 OpenID”,这显然是由 http 获取失败引起的。

任何指针将不胜感激。

OpenID 库支持报告

此脚本检查您的 PHP 安装以确定您是否设置为使用 JanRain PHP OpenID 库。

设置不完整

在准备好运行 OpenID 库之前,您的系统需要进行一些更改。

数学支持

您的 PHP 安装支持 gmp。好的。

加密质量随机源

使用(不安全的)伪随机数源,因为 Auth_OpenID_RAND_SOURCE 已被定义为空。

数据存储

在此 PHP 安装中未发现 SQL 数据库支持。如果您需要使用 SQL 数据库,请参阅 PHP 手册。该库支持 MySQL、PostgreSQL 和 SQLite 数据库引擎,以及基于文件系统的存储。此外,需要 PEAR DB 才能使用数据库。

如果您使用的是基于文件系统的存储或 SQLite,请注意 open_basedir 有效。这意味着您的数据必须存储在以下位置之一:

'' 如果您使用的是文件系统存储,则您的数据目录必须可由 PHP 进程读写,并且不能在 Web 上使用。

HTTP 获取

此 PHP 安装支持 libcurl。好的。

获取网址失败!

您的 PHP 安装似乎支持 SSL,因此它将能够处理 HTTPS 身份 URL 和服务器 URL。

XML 支持

使用 Auth_Yadis_dom 接口提供 XML 解析支持。

查询损坏

您的 Web 服务器不会破坏查询。好的。

4

1 回答 1

0

抛出此错误是因为 curl_getinfo on 时 SSL 验证失败Auth_Yadis_ParanoidHTTPFetcher。要解决此问题,您应该通过添加此选项来禁用 SSL 验证:

curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);

Auth/Yadis/ParanoidHTTPFetcher.php第 93 行(在 之后$c = curl_init(););

希望这有帮助。

于 2014-01-09T10:50:25.970 回答