0

Windows で wampserver を使用してページを作成し、ローカルで作業しています。データベース Ensemble にアクセスして、遺伝子の配列などの有用な情報を取得したいのですが、次の問題が発生しています。

ActivePerl と必要な API をインストールしました。私の bioperl スクリプトはコマンド プロンプトから完全に実行されます。

wampserver に関する限り、Apache の httpd.conf を変更して perl スクリプトを実行しました。シンプルな perl スクリプト (例: hello world) は、wamp を介して実行できます。(私はwwwにIDを保存し、localhost/hello.plに行きます)

シーケンスを取得するために wampserver でスクリプトを実行したい場合 (もちろんもっと複雑です)、次のエラーが発生します。

install_driver(mysql) が失敗しました: @INC で DBD/mysql.pm が見つかりません (@INC には次が含まれます: C:/wamp/bin/Perl/lib C:/wamp/bin/Perl/site/lib . C:/src /ensembl/modules) at (eval 8) line 3. DBD::mysql perl モジュールが完全にインストールされていないか、'mysql' の大文字化が正しくない可能性があります。利用可能なドライバー: DBM、ExampleP、File、Gofer、Proxy、Sponge。C:/src/ensembl/modules/Bio/EnsEMBL/Registry.pm 行 1594

コマンド プロンプト ウィンドウで、スクリプトが実行されます。どうすればそれを管理してwampserverで実行できますか??

事前にご協力いただきありがとうございます

4

1 に答える 1

0

この@INC配列には、モジュールを見つけるために Perl が参照するすべてのパスが含まれています。現在、WAMP Perl は次の場所を参照しています。

C:/wamp/bin/Perl/lib
C:/wamp/bin/Perl/site/lib
.
C:/src/ensembl/modules

これらのディレクトリには、サブディレクトリDBDが含まれておらず、サブディレクトリにはmysql.pm. (ファイルマネージャで確認してください)

このモジュールは ActivePerl と共にインストールされているようです。@INCその perlを印刷してみてください。ActivePerl@INCに WAMP perl に含まれていないパスが含まれている場合@INC(上記を参照)、ActivePerl モジュールを使用するように修正する必要があります。例えば

use lib 'C:/foo/bar/lib';

あなたのuse DBD::mysqlに。問題が解決する場合があります。

于 2012-09-20T00:40:02.163 に答える