2012-03-06 13 views
0

私はBugzilla REST api (bzapi)を設定しようとしていますが、私はロードブロッキングを打ちました。私は、ApacheのバーチャルホストでFastCGIのプロスペクトとして設定しています。 ./script/bugzilla_api_fastcgi.plを実行して/var/www/bzapiからスクリプトを実行できますが、./bugzilla_api_fastcgi.plを使用して/var/www/bzapi/scriptを使用すると、apacheと同じエラーが発生します。Apache FastCgi Catalyst Bugzilla REST APIの@INCの問題

apacheのエラー:

[Tue Mar 06 15:04:49 2012] [warn] FastCGI: server "/var/www/bzapi/script/bugzilla_api_fastcgi.pl" started (pid 13329) 
Can't locate Bugzilla/API.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/local/share/perl/5.10.1/Module/Runtime.pm line 317. 
at /usr/local/share/perl/5.10.1/Catalyst/ScriptRunner.pm line 50 
[Tue Mar 06 15:04:50 2012] [warn] FastCGI: server "/var/www/bzapi/script/bugzilla_api_fastcgi.pl" (pid 13329) terminated by calling exit with status '2' 

Apache設定:

FastCgiServer /var/www/bzapi/script/bugzilla_api_fastcgi.pl -processes 10 -idle-timeout 180 
Alias /bzapi /var/www/bzapi/script/bugzilla_api_fastcgi.pl/ 

スクリプト:

#!/usr/bin/env perl 

use Catalyst::ScriptRunner; 
Catalyst::ScriptRunner->run('Bugzilla::API', 'FastCGI'); 

1; 

何この問題を解決するきれいな方法?

答えて

1

スクリプトにuse lib行を追加します。 Api.pmファイルを探し、その行をスクリプトに追加します。たぶんこれはうまくいくでしょう。

#!/usr/bin/env perl 

use lib '/var/www/bzapi'; 

use Catalyst::ScriptRunner; 
Catalyst::ScriptRunner->run('Bugzilla::API', 'FastCGI'); 

1; 
+0

これは私のスクリプトではありません。mozilla.orgから分かりましたので、変更することをお勧めします。 –

+0

あなたの修正を試みましたが、それは直ちにエラーを解決しましたが、設定ファイルを読まなかった –

+0

あなたはどこかでそれを指定しなければなりません。 find_script_classまたはfind_script_traitsを試してみましたか? – user1126070

関連する問題