2015-11-19 85 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