无法加载模块/mod_auth_openidc.so:找不到指定的模块

Posted

技术标签:

【中文标题】无法加载模块/mod_auth_openidc.so:找不到指定的模块【英文标题】:Can not load modules/mod_auth_openidc.so : The specified module could not be found 【发布时间】:2017-10-17 08:05:06 【问题描述】:

我希望在我的应用程序中实现 OIDC 以进行 SSO 集成,但在尝试执行 httpd.exe 时出现错误。 我正在使用 Windows Server 2008 64 位。 Apache 服务器 2.4.2 64 位。

我已经下载了从这里下载的 64 位 mod_auth_openidc.so - click here。

我已经执行了这些步骤:

步骤 1.从这里下载 apache 64 位 -apache_2.4.2-x64-no-ssl.msi。

步骤 2.从 Git 中心下载 mod_auth_openidc-2.2.0-apache-2.4.x-win64.zip - click here

步骤 3. 解压缩文件并将文件分别复制到我的 apache 服务器的 bin 和 modules 位置。

步骤 4. 在 apache 的 conf 文件夹中的 httpd.conf 文件中添加 LoadModule auth_openidc_module modules/mod_auth_openidc.so。

第 5 步。现在,当我尝试运行 apache 服务器(httpd.exe)时,它给了我一个错误。 错误截图在这里 -.

来自 conf 文件夹的 httd.conf 文件的错误行 -。

请帮忙! 提前致谢。

如果我能回答您的任何问题,请告诉我。

【问题讨论】:

我相信 mod_auth_openidc.so 是 windows 的付费版本。毫不奇怪,免费的 on 不能从头开始工作 mod_auth_openidc.so for windows 可能是商业的,如建议here 【参考方案1】:

LoadModule 使用路径来加载模块,如果 路径是相对的,如您的情况,它将是 相对于 ServerRoot 指令中的值。

由于您手动安装了此第三方模块,可能应该定义完整的文件系统路径

既然你说你已经在那里复制了,请确保你指向正确的安装。

【讨论】:

为什么只有 mod_auth_openidc.so 库的路径应该是错误的? @user1767316 因为模块没有被复制到那里,很明显。 no @ezra-s 我有同样的信息,尽管 lib 和 *.conf 文件中引用的所有其他库都有效地在这里。 那么,显示 ServerRoot 指令,以及该目录的内容和其中的子目录模块。【参考方案2】:

可能是编译器问题;我使用的二进制文件来自:https://www.apachehaus.com/cgi-bin/download.plx

也可能是msvcr120.dll的版本问题:

mod_auth_openidc 库需要更新的 msvcr120.dll 微软 VC++ 版本。它寻找这个文件。我们使用了依赖 walker 软件查看树以及需要哪些文件 mod_auth_openidc.iso。它显示缺少 msvcr120.dll 文件。我们有 更新在 windows\System32 文件夹。我们可以重新启动服务器。

见: https://github.com/pingidentity/mod_auth_openidc/issues/275#issuecomment-305302587

【讨论】:

以上是关于无法加载模块/mod_auth_openidc.so:找不到指定的模块的主要内容,如果未能解决你的问题,请参考以下文章

无法将反应模块加载为节点模块

Webpack:无法解析模块“文件加载器”

无法使用 RequireJs 加载 Dojo 模块

Angular - 无法加载模块脚本:

无法使用 pickle 和多个模块加载文件

nvme 模块无法正确加载