問題タブ [mod-perl2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - mod_perl2 を使用した Strawberry Perl: CPAN から Apache2 モジュールを構築する
mod_perl メーリング リストの手順に従って、Strawberry Perl 5.10 と mod_perl2を問題なくインストールしました。Apache2::
ただし、スクリプトが使用するさまざまなモジュールをインストールしようとすると、エラーが発生します。1 つ ( Apache2::Reload
) これにもかかわらず、インストールできました。
...いくつかの .pm ファイルを にコピーするだけですsite/lib
。ただし、他のものについてはあまりよくわかりません。たとえばApache2::RequestRec
、次のエラーが表示されます。
Apache2::
Strawberry Perl でモジュールをコンパイルするコツはありますか? 自分の Apache バイナリもコンパイルする必要がありますか? (もしそうなら、Strawberry に付属の make ツールでそれを行うことはできますか?)
perl - Strawberry Perl および mod_perl2 での奇妙な Apache2::Cookie エラー
ActivePerl 5.10 で実行される一連のスクリプトがあります。ただし、Strawberry Perl 5.10 では、奇妙なエラー メッセージが表示されます。
ただし、MyCookie
これは Cookie 自体の名前であり、Perl パッケージではありません。
Cookie.pm の 41 行目をコメント アウトすると、スクリプトは実行されますが、Cookie を正常に取得または設定できなくなります。
どちらも見つからないという点で、エラーメッセージは多少正しいようですcookie_class
(POD ファイルで言及されている場所を除く)。
入っていると思いますC:\strawberry\perl\site\lib\auto\APR\Request\Request.dll
が、Strawberry では見つからないのに、ActivePerl では見つかるのはなぜですか?
perl - PerlInputFilterHandlerは自分自身を何度も呼び出しています
これはmod_perlに関連しています。
ロケーションタグで指定されたフィルターが1つだけです。
ここで、ブラウザでhttp:// localhost / testproj /AServletURLを押したとき。ハングするだけです。Test3フィルターは何度も自分自身を呼び出しています。Test3フィルターを1回だけ実行し、「AServlet」リソースに制御を渡したい。
何をすればよいでしょうか?
ありがとう。
perl - mod_perl を使用してポスト リクエストのコンテンツを変更する方法
mod_perl のフィルター/ハンドラーを使用してポスト リクエストの内容を変更するには?
PerlResponseHandler でリクエスト コンテンツを読み取ることはできますが、変更されたコンテンツをリクエストに戻すにはどうすればよいですか?
また、要求されたリソースで応答生成部分を処理する必要があるため、PerlResponseHandler でこれを実行したくありません。
どんな助けでも大歓迎です。
ありがとう。
perl - Windows に CPAN モジュールをインストールする
Windows 7 に CPAN モジュールをインストールしようとしています。Active Perl がないため、PPM パッケージを使用できません。
すべてのサイトに記載されている手順には、make、make test、および make install の 3 つの手順が含まれます。make は UNIX コマンドであり、Windows では実行できないことを知っています。
インストールを完了するために Windows で実行するコマンドは何ですか?
サイトの1つで言及されているように、CPANのサイトからdmakeをダウンロードしましたが、実行すると次のエラーが発生します-
D:\Parse-RecDescent-1.965001.tar\Parse-RecDescent-1.965001>D:\dmake\dmake\dmake dmake: エラー: -- `D:\indigoampp\perl-5.12.1\libConfig.pm' が見つかりません。そして作れない
これらの手順を完了する方法を教えてください。ありがとう!
PS: 繰り返しますが、PPM はオプションではありません。
みんな、ありがとう。
indigoampp\perl-5.12.1\lib の場所に Config_heavy.pl というファイルがあります。make='nmake' という行がありました。dmake コマンドを使用しているため、これを make='dmake' に変更しました。
これで、各モジュールの Makefile の DIRFILESEP を変更する必要がなくなりました。上記のリンクで述べたように、現在 \\ を生成しています。
これで、dmake、dmake test、および dmake install を実行できるようになりました。ただし、何もしません。pmファイル/ファイルをそれぞれの場所にコピーしませんでした。なんでそうなの??
とにかく、すべてがうまくいくことを期待して、手動で pm ファイルをコピーしました。しかし、私は以前にもできました。makefile.pl と dmake コマンドを実行したのはなぜですか??
また、私の目的は Apache2::Request モジュールをインストールすることでした。複数のモジュールに依存していることがわかりました。これらのモジュールをダウンロードし、上記のコマンドを実行しました-エラーはありません。最後に、Apache2::Request モジュールに対してこれらの手順を実行すると、dmake コマンドで次のエラーが発生します。
libapreq2-2.12.tar\libapreq2-2.12 フォルダーの下の Makefile に疑わしいものは見つかりません。Makefile の部分的な内容 (エラー行周辺) は次のとおりです。
この質問と上記の質問を手伝ってくれる人はいますか (なぜ pm ファイルを自動的にコピーしなかったのですか)? 御時間ありがとうございます!
perl - PerlInputFilterHandler からの応答生成エラー
httpd.conf の場所タグにフィルターを 1 つだけ設定します。
Test は PerlInputFilterHandler です。
このフィルターで次のコードを使用した場合:
応答を生成します。つまり、「ようこそ!!!」を送信します。ブラウザへ。
ただし、次のコードを使用している場合 (コメント化されたコードを有効にします):
これはうまくいきません。「ようこそ!!!」ブラウザには行きません - '404' は行きます。
ここで何か提案できますか?
どうもありがとう!
perl - フィルタが期待どおりに機能していません
mod_perl2フィルターについてです。
理想的には、フィルターの仕事は、入力データで何かを行い、そのデータを次のフィルターまたは実際に要求されたリソースに渡すことです。
私の場合、URLパターンに対してPerlInputFilterHandlerを定義しました。以下のロケーションタグを参照してください。
このフィルタ(Test10)は、要求データを変更し、制御をAServlet(WebLogic Serverにデプロイされたサーブレット)に渡すことになっています。
ただし、このフィルターは呼び出されていますが、フィルターに何を書き込んでも、AServletに制御を渡していません。なぜそうなのか?
ありがとう。
mysql - Apache::DBI で ping を無効にするにはどうすればよいですか?
で接続の検証を無効にする際に問題がありますApache::DBI
。perldoc
から:
Apache::DBI->setPingTimeOut($data_source, $timeout)
これにより、接続を検証するための ping メソッドの使用が構成されます。タイムアウトを 0 に設定すると、常に ping メソッド (デフォルト) を使用してデータベース接続が検証されます。タイムアウトを 0 未満に設定すると、データベース ハンドルの検証が無効になります。
setPingTimeOut
と同じ $data_source で呼び出してみましたconnect()
が、うまくいきませんでした。ping を無効にできた人はいますか?
apache - Apache mod_perl2 移行の問題
/etc/init.d/apache2/conf.d/ の下に、Perl セクションを使用する apache2 構成ファイルがあります。
モジュールがロードされているかどうかをテストし、必要に応じてApacheを構成しようとしています。
これは、再起動時に表示されるエラーです。Apache2->メソッドも試しましたが、同じエラーが発生します。
# /etc/init.d/apache2 restart Web サーバーを再起動しています: apache2Building Appliance configuration for Debian 5.0.7 /etc/apache2/conf.d/foobar.conf の 73 行目の構文エラー: \t(クリーンアップ中) できません/etc/apache2/conf.d/foobar.conf 行 357 で、パッケージ "Apache" を介してオブジェクト メソッド "module" を見つけます (おそらく "Apache" をロードするのを忘れていましたか?)。\n 失敗しました!
@INC の問題ではないと思います...そして、apache と libapache2-mod-perl2 の両方のパッケージがインストールされています。実際、その行をコメントアウトすると、残りの perl は実際には問題なく動作します。
また、Apache::compat と "Apache2->module" を使用してみました。
問題は startup.pl に何かが欠けていることだと思いますが、私はグーグルで mod perl のドキュメントを読み、ぐるぐる回っています。任意の提案スタックオーバーフロー???
ところで-私のstartup.pl:
perl - ModPerl::RegistryPrefork は私の古い cgi を動作させるはずですが、
CGI.pm で Web アプリを開発しました。mod_perl2 に切り替えたいです。私の webapp は CGI で動作しましたが、mod を変更しようとすると、mod_perl で実行する apache conf ファイルを除いて、webapp で何も変更していないのに動作しなくなりました。
mod-perl2 をインストールし、VirtualHost を次のように構成しました。
私のスクリプトは次のようになります。彼は /v6/cgi-bin/lib/ でいくつかのモジュールを使用します
Apache2 はログにエラーを書き込みます:
[Thu Feb 3 17:35:13 2011] -e: DBI connect(':','',...) failed: アクセスがユーザー 'www-data'@'localhost' (使用パスワード: NO) に対して拒否されましたlib/Connexion.pm 134行目
私が持っているブラウザで:
lib/Search.pm の 51 行目で未定義の値に対してメソッド "prepare" を呼び出せません。
スクリプトがデータベースに接続できないことは理解していますが、なぜですか? mod_cgi で動作していました。誰かがアイデアを持っている場合:'(ありがとう。