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

问题描述 投票:3回答:3

我已经下载草莓Perl和写作与CGI Perl的Apache在WinXP SP3的一个应用程序)。其中一个库,我用使用XML ::的libxml(别人写的)。当我加载网页它给内部服务器错误。从Apache的错误日志中我可以看到这个错误: 无法加载 'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll' 的模块XML ::的libxml:LOAD_FILE:指定的模块不能位于C:/草莓/ perl的/ LIB / DynaLoader.pm线190。 C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll存在的所有权限。另外这个库正常工作在Linux上。如果我删除需要的libxml所有代码我的应用程序也能正常工作。 谁能告诉我这里的时候,可以有可能的问题。

perl perl-module cgi-bin windows-xp-sp3 xml-libxml
3个回答
7
投票

如果你不期而遇的源动态加载,你会发现

许多动态扩展加载问题会出现来自这部分代码:XYZ未能在DynaLoader.pm的123线。通常,这些错误实际发生在扩展XS文件的初始化C代码。 Perl的报告错误在此Perl代码是简单,因为这是它执行的最后一个Perl代码。

你应该也得到了(但可能没有注意到),下面的对话框,它提供了一个更准确的错误信息:

这个问题是不是perl的找不到LibXML.dll;它是LibXML.dll不能找到真正的libxml。 (前者仅仅是提供Perl绑定后者的包装)。为了解决这个问题,你需要确保草莓Perl的c\bin文件夹是在路径中。在你的情况,这将是C:\strawberry\c\bin


1
投票

您可能需要检查环境变量设置在Windows中,确保模块的安装路径是存在于PATH变量。它工作在Linux的原因是,使文件通常设置环境变量在Linux中它可能没有正确设置窗口。对于如;进入控制面板\系统和安全\ SYSTEM点击更改设置在用户变量部分,然后高级选项卡看是否有一个名为PERL5LIB变量。如果不创建一个新的变量PERL5LIB和添加库的路径(usuall C:\ Perl的\ site \ lib文件,但在你的情况可能会有所不同)


0
投票

我不得不安装Perl的草莓后,同样的问题。这是工作正常,当我从服务器上运行脚本,而不是远离一个自动化工具。这个问题是因为环境变量的时候,我们远程运行它没有更新的。所以,我没有重新启动服务器,从而解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.