我已经下载草莓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所有代码我的应用程序也能正常工作。
谁能告诉我这里的时候,可以有可能的问题。
Answer 1:
如果你不期而遇的源动态加载,你会发现
许多动态扩展加载问题会出现来自这部分代码:XYZ未能在DynaLoader.pm的123线。 通常,这些错误实际发生在扩展XS文件的初始化C代码。 Perl的报告错误在此Perl代码是简单,因为这是它执行的最后一个Perl代码。
你应该也得到了(但可能没有注意到),下面的对话框,它提供了一个更准确的错误信息:
这个问题是不是perl的找不到LibXML.dll; 它是LibXML.dll不能找到真正的libxml。 (前者仅仅是提供Perl绑定后者的包装)。为了解决这个问题,你需要确保草莓Perl的c\bin
文件夹路径中。 在你的情况,这将是C:\strawberry\c\bin
。
Answer 2:
您可能需要检查环境变量设置在Windows中,确保模块的安装路径是存在于PATH变量。 它工作在Linux的原因是,使文件通常设置环境变量在Linux中它可能没有正确设置窗口。 对于如; 进入控制面板\系统和安全\ SYSTEM点击更改设置在用户变量部分,然后高级选项卡看是否有一个名为PERL5LIB变量。 如果不创建一个新的变量PERL5LIB和添加库的路径(usuall C:\ Perl的\ site \ lib文件,但在你的情况可能会有所不同)
Answer 3:
我不得不安装Perl的草莓后,同样的问题。 这是工作正常,当我从服务器上运行脚本,而不是远离一个自动化工具。 这个问题是因为环境变量的时候,我们远程运行它没有更新的。 所以,我没有重新启动服务器,从而解决了这个问题。
文章来源: Can't load 'C:/strawberry/perl/site/lib/auto/XML/LibXML/LibXML.dll' for module XML::LibXML