【问题标题】:Testing LightOpenID in Localhost在 Localhost 中测试 LightOpenID
【发布时间】:2025-11-30 23:25:02
【问题描述】:

我正在使用 LightOpenID 在我的 PHP Web 应用程序中启用 Google 身份验证。

但是,当我在本地服务器上进行相同测试时,出现以下错误

( ! ) Fatal error: Uncaught exception 'ErrorException' with message 'You must have either https wrappers or curl enabled.' in C:\wamp\www\speakerdb\openid.php on line 94
( ! ) ErrorException: You must have either https wrappers or curl enabled. in C:\wamp\www\speakerdb\openid.php on line 94
Call Stack
#   Time    Memory  Function    Location
1   0.0006  366848  {main}( )   ..\index.php:0
2   0.0034  648640  LightOpenID->__construct( ) ..\index.php:4

这在我的远程服务器上运行良好。 我将在我的应用程序的每个页面中使用 LightOpenID 来检查用户是否已登录。我尝试将“localhost”作为域名但得到相同的错误。

我在我的 wamp 服务器上启用了 curl,但是当启用 curl 时,带有 LightOpenID 的页面无法运行。

【问题讨论】:

    标签: php openid wampserver lightopenid google-authentication


    【解决方案1】:

    在 apache 和 PHP 配置上启用 SSL 模块并检查是否有效:

    php.ini:

    extension=php_openssl.dll

    apache.conf:

    LoadModule ssl_module modules/mod_ssl.so

    【讨论】:

    • 一旦我在 PHP 中启用 SSL,页面就会停止加载。在 apache 中启用 ssl 不会造成任何伤害。
    • 终于用上面的方法和重启机器解决了这个错误。问题仍然存在,LightOpenID 不返回域为 Localhost 的用户信息
    • 是否有可能是程序的逻辑问题导致 LightOpenID 出现问题?为了清楚起见,问题上的原始“致命错误”消失了,对吗?
    • 是的,原来的致命错误现在已经消失了,所以我投票给了这个答案。非常感谢。但是 localhost 作为域名不起作用,当它从登录页面转到 login.php 时,它不会验证为 true。当我将文件上传到我的域名并更改我的域名时,相同的代码有效。我在关注文章[链接](qpleple.com/…)
    • 这成功了!人!像这样的时候,我觉得没有 SO 我该怎么办