gpt4 book ai didi

perl - 无法为模块 XML::LibXML 加载 'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll'

转载 作者:行者123 更新时间:2023-12-02 15:56:38 31 4
gpt4 key购买 nike

我已经下载了草莓 PERL 并在 Winxp sp3 上使用 CGI Perl Apache 编写了一个应用程序。我使用的库之一(由其他人编写)使用 XML::LibXML。当我加载页面时,它给出内部服务器错误。从 Apache 错误日志中我可以看到这个错误:
无法加载模块 XML::LibXML 的“C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll”:load_file:在 C:/strawberry 找不到指定的模块/perl/lib/DynaLoader.pm 第 190 行。
C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll 具有所有权限。该库也可以在 Linux 上正常运行。如果我删除所有需要 LibXML 的代码,我的应用程序也可以正常工作。
谁能告诉我这里什么时候可能出现问题。

最佳答案

如果您查看 DynaLoader 的源代码,您会发现

Many dynamic extension loading problems will appear to come from this section of code: XYZ failed at line 123 of DynaLoader.pm. Often these errors are actually occurring in the initialisation C code of the extension XS file. Perl reports the error as being in this perl code simply because this was the last perl code it executed.

您应该还收到(但可能没有注意到)以下对话框,其中提供了更准确的错误消息:

libxml2.dll is missing

问题不是 Perl 找不到 LibXML.dll;而是 Perl 找不到 LibXML.dll。是LibXML.dll找不到真正的libxml。 (前者只是为后者提供 Perl 绑定(bind)的包装器。)要解决此问题,您需要确保 Strawberry Perl 的 c\bin 文件夹位于您的 PATH 中。在您的情况下,这将是 C:\strawberry\c\bin

关于perl - 无法为模块 XML::LibXML 加载 'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468141/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com