2014-03-12 146 views
0

嗨,大家好我有一個問題軟件錯誤的Perl執行腳本

當我執行的Perl腳本,這是錯誤:

Software error: 
CybOrg::Exception=HASH(0x1b65358)BEGIN failed--compilation aborted at CybOrg/DB.pm line 182. 
Compilation failed in require at /var/www/cyborg/cyborg.pl line 30. 
BEGIN failed--compilation aborted at /var/www/cyborg/cyborg.pl line 30. 

這裏是db.pm

對不起,我這個新手題。這不是我的代碼。

在此先感謝..

ADD

當我運行它在瀏覽器中

內部服務器錯誤

當我執行到終端

DB Error:db_connect 
Params:HASH(0x1996098) 

Status: 500 
Content-type: text/html 

<h1>Software error:</h1> 
<pre>CybOrg::Exception=HASH(0x198d378)BEGIN failed--compilation aborted at CybOrg/DB.pm line 182. 
Compilation failed in require at cyborg.pl line 30. 
BEGIN failed--compilation aborted at cyborg.pl line 30. 
</pre> 
<p> 
For help, please send mail to this site's webmaster, giving this error message 
and the time and date of the error. 

</p> 
[Wed Mar 12 17:30:44 2014] cyborg.pl: CybOrg::Exception=HASH(0x198d378)BEGIN failed--compilation aborted at CybOrg/DB.pm line 182. 
[Wed Mar 12 17:30:44 2014] cyborg.pl: Compilation failed in require at cyborg.pl line 30. 
[Wed Mar 12 17:30:44 2014] cyborg.pl: BEGIN failed--compilation aborted at cyborg.pl line 30. 

我不知道如何修復它。 我希望有人能幫助我.. 預先感謝

+0

目前還不清楚你問這裏。請發佈代碼重現問題的最小示例,不要使用外部站點(pastebin),併發布COMPLETE錯誤消息。見[問] –

+0

其實很清楚。他有一個錯誤,他在問這是什麼意思。他確實提供了他的全部錯誤信息。這不應該被關閉。 – ikegami

回答

2

_connect是無法連接到數據庫。確切的原因可以通過對CybOrb文件進行一些更改來獲得。

  1. 添加以下CybOrg/Exception.pm造成東西比CybOrg::Exception=HASH(0x1b65358)更有意義要發出:

    use Data::Dumper qw(); 
    
    use overload '""' => sub { 
        my ($self) = @_; 
        local $Data::Dumper::Useqq = 1; 
        local $Data::Dumper::Terse = 1; 
        local $Data::Dumper::Indent = 0; 
        return 
         "Error performing $self->{error_code} (" . 
         Data::Dumper::Dumper($self->{error_params}) . 
         ")"; 
    }; 
    
  2. 它仍然不是那麼有意義的,因爲事實證明,實際的錯誤郵件永遠不會放置在::在這種情況下的異常對象。要獲得,改變線CybOrg/DB.pm 62-64從

    _exception('db_connect', {'host' => "$database{'host'}", 
              'port' => "$database{'port'}", 
              'user' => "$database{'user'}"}); 
    

    _exception('db_connect', {'error' => [email protected], 
              'host' => "$database{'host'}", 
              'port' => "$database{'port'}", 
              'user' => "$database{'user'}"}); 
    
+0

更新了我的答案。 – ikegami

+0

喜@ikegami 對不起已故的答覆 但是這是完美的,我知道的錯誤 現在 非常感謝你.... 謝謝你.. – user3367242