問題タブ [mod-perl]
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 - Template::Toolkit の INCLUDE_PATH をオンザフライで変更する方法
たとえば、mod_perl 環境でプリロードされた Template::Toolkit オブジェクトがある場合、オブジェクトを再作成せずに INCLUDE_PATH 配列を変更する方法はありますか?
perl - メイソンの応答の前後のこれらの数値は何を意味しますか?
Ubuntu 10.10 (x86) (apt の標準パッケージ) で mod_perl 2、mason、および apache 2.2 を使用しています。サーバーに HTTP リクエストを送信すると、次のようになります。
私はこれについて少し興味があります。これらの数字 (38 と 0) はどういう意味ですか? ログを調べましたが、意味のあるものは何も表示されず、Google に最適な検索フレーズを見つけられないようです (ドキュメントから明らかな何かが欠落している場合は申し訳ありません)。telnet から同じ結果が得られます (ただし、Firefox ではエラーは発生しないようです)。
これが私のリクエストの内容です(最後の空白を省略しています):
と私のスクリプト(test.html):
前もって感謝します!
perl - CGI.pmオブジェクトの一部のヘッダー情報が保持され、別のヘッダー情報が保持されないのはなぜですか?
私の同僚と私は、を介して機能するPerlWebプロジェクトを保守および開発していmod_perl
ます。
現在、ある種のMVCパターンを実装した主要なレガシーコードリファクタリングを行っています。
特に、私のタスクは、すべてのHTTP応答ヘッダーが処理され、メインコントローラー内のブラウザーに返送されることを確認することです。たとえば、リダイレクトが必要な場合、ページハンドラーは例外をスローし、メインコントローラーはそれをキャッチして対応するヘッダーを生成します。
私がクッキー処理を実装し始めるまで、それはすべてうまく見えました。その前は、次のように、コードは必要なときに出力するCookieヘッダーを出力していました。
$response
そして今、オブジェクトにその情報を保存させたいので、後ですべてのヘッダーを一緒に送信できます。私はそれがそのようなものになるだろうと思いました:
しかし、クラスオブジェクトは、メソッドCGI
で作成したすべてのヘッダーを格納しているわけではないようです。header
一部のヘッダーは存続しているように見えますが、他のヘッダーは存続していないようですre.pl
。
最後の出力は前の出力と同じか、ヘッダーをまだ設定していない最初の出力と同じであると予想しました。部分的に変わるとは思っていませんでした。
そのため、私は質問をします。CGI.pmオブジェクトの一部のヘッダー情報が保持されるのに、別のヘッダー情報は保持されないのはなぜですか。
オブジェクトを間違って使用していますか?意図したとおりに使用できる方法はありますか?
PS:長い質問で申し訳ありませんが、私がやりたいことをあなたに理解してもらいたいと思いました。
PPS:また、このあたりの多くの人がCGIから離れてCatalystを使用することを推奨していることを私は知っています。これは、残念ながら、現時点ではオプションではありません。レガシーコードが多すぎて、mod_perlから完全に離れることを望んでいるからです。これは、特定の機能にのみ必要です。
ajax - javascriptを使用したクライアント側の処理とmod_perlを使用したサーバー側の処理
文字列をbase64、ASCII、hex(両方の方法)などのさまざまなエンコーディングに変換するperlスクリプトがあります。今、私はそれのためにajaxフロントエンドを書いています、そして私の質問は; 送信された文字列のエンコーディングの検出を自動化したい場合は、サーバーに送信する前にjavascriptで送信された文字列に対して正規表現検索を実行する方が効率的ですか、それともperlスクリプトが把握できるようにする方が高速です。どんな種類の文字列を出しますか?
明確にするために、私はこれら2つのどちらが優れているかを尋ねています。
- 送信された文字列
- Javascriptがエンコーディングを検出します
- AJAXはエンコーディングと文字列をperlスクリプトに送信します
- Perlスクリプトはデコードされた文字列を返します
また
- 送信された文字列
- AJAXは文字列をperlスクリプトに送信します
- Perlスクリプトはエンコーディングを検出し、デコードされた文字列を返します
このタイプの処理を実行する必要がある特定の経験則はありますか?また、より良い(より速い)実装は何だと思いますか?
apache - 基本的な mod_perl の質問
私はPerlの初心者です。
非常に単純な Perl プログラム (スクリプト) を作成しました。
コマンド プロンプトで実行すると (コマンド - perl first.pl を使用)、動作します。
しかし、Apache の「フィルター」で同じ Perl コードを使用すると、機能しません。詳細を提供するために、httpd.conf ファイルで次の構成を使用して、Apache Http サーバーで URL のフィルターを呼び出しています。
FirstPerlProg.pm ファイル (indigoampp\perl-5.12.1\site\lib\MyApache2 の場所) には、first.pl と同じコードが含まれています。
index.html ページ (最初のページ) には、something.do にリクエストを送信するフォームがあり、このフィルターが呼び出されます。
問題は、このフィルターの出力をどこでどのように見るかです (こんにちは)。
私の質問が明確であることを願っています。
このフィルター コードでブラウザーに送信する HTTP 応答を作成していないことがわかっているため、送信後に「ページを表示できません」というメッセージが表示されます。しかし、私は何をすべきか、私にはわかりません。
ありがとう。
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 - mod_perl2でのUTF-8リクエストパラメータ文字列の取得
Webサイトにmod_perl2を使用しており、CGI :: Apache2 :: Wrapperを使用してページのリクエストパラメーター(投稿データなど)を取得しています。$ req-> param( "parameter")関数が返す文字列がUTF-8ではないことに気づきました。文字列をそのまま使用すると、結果が文字化けする可能性があるため、Encode :: decode_utf8()を使用してデコードする必要があります。パラメータをすでにUTF-8文字列にデコードするか、パラメータをループして安全にデコードする方法はありますか?
perl - PerlInputFilterHandler からの応答生成エラー
httpd.conf の場所タグにフィルターを 1 つだけ設定します。
Test は PerlInputFilterHandler です。
このフィルターで次のコードを使用した場合:
応答を生成します。つまり、「ようこそ!!!」を送信します。ブラウザへ。
ただし、次のコードを使用している場合 (コメント化されたコードを有効にします):
これはうまくいきません。「ようこそ!!!」ブラウザには行きません - '404' は行きます。
ここで何か提案できますか?
どうもありがとう!