2015-11-19 83 views
0

我工作的组织使用Bugzilla安装进行问题解决和跟踪。我们正在从Bugzilla 3.2.3升级到5.0.1。一切都很顺利,直到我尝试在Bugzilla中使用importxml.pl脚本从旧安装的XML文件输出中导入错误。为Bugzilla安装运行importxml.pl时出现Perl Expat.xs.dll错误

我安装了Strawberry Perl(5.22.0)。数据库(如果它很重要)是Oracle 11g,并且该应用程序在Windows 2012 R2 VM上运行。

每当我试着运行该脚本,我得到以下错误:

Can't load 'C:/Strawberry/perl/vendor/lib/auto/XML/Parser/Expat/Expat.xs.dll' for module XML::Parser::Expat: load_file:The specified module could not be found at C:/Strawberry/perl/lib/DynaLoader.pm line 193.

at C:/Strawberry/perl/vendor/lib/XML/Parser.pm line 18.

Compilation failed in require at C:/Strawberry/perl/vendor/lib/XML/Parser.pm line 18.

BEGIN failed--compilation aborted at C:/Strawberry/perl/vendor/lib/XML/Parser.pm line 22.

Compilation failed in require at C:/Strawberry/perl/vendor/lib/XML/Twig.pm line 149.

BEGIN failed--compilation aborted at C:/Strawberry/perl/vendor/lib/XML/Twig.pm line 149.

Compilation failed in require at importxml.pl line 77.

BEGIN failed--compilation aborted at importxml.pl line 77.

我一直在追捕的答案了一整天,遇到许多那些没有帮助:

1)将IIS应用程序池“加载用户配置文件”设置为“True”。

2)从C:\ Strawberry \ c \ bin复制libexpat-1 __。dll到C:\ Strawberry \ perl \ bin。

3)用CPAN Client安装XML :: Parser和XML :: Parser :: Expat。这两个报告都是最新的,并没有安装更多的模块。

4)验证了我的路径变量。目前,包括以下路径:

C:\Strawberry\c\bin

C:\Strawberry\perl\site\bin

C:\Strawberry\perl\bin

C:\Strawberry\perl\vendor\bin

5)让“Everyone”完全控制\ Bugzilla和\ Strawberry文件夹。这没有帮助,所以我为了安全起见而撤销了这些特权。

6)把我的头撞在桌子上。这有助于我的压力,但不是情况。

有什么建议吗?

+1

重新(3),这只是一个版本检查。甚至没有加载模块。 – ikegami

+0

@ikegami,你的意思是说,运行“安装XML :: Parser :: Expat”实际上并没有试图安装它,它只是运行版本检查?难道它不会失败,并告诉我即使是这种情况,我的版本也不是最新的? – Kurazarrh

+0

您的版本是最新的。它是否正常工作是正交的。 – ikegami

回答

0

我有同样的问题,但没有与Bugzilla。 “set PATH =%PATH%; \ c \ bin”解决了我的问题。

安装完perl后,您是否启动了服务器? 系统环境变量中是“C:\ Strawberry \ perl \ vendor \ bin”吗? 您可以检查您的Bugzilla实例是否通过sysinternals套件的进程管理器继承了所有系统环境变量。

+0

我的PATH环境变量中包含.. \ c \ bin和.. \ vendor \ bin字符串。自从安装Perl以来,服务器已经重新启动(并且由于我一直在处理PATH环境变量,所以我又重新启动了它)。检查IIS的环境变量,它包含必要的PATH变量,但是......没有bean。 – Kurazarrh