問題タブ [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 - PHP の ignore_user_abort() に相当する mod_perl2/Perl 5 はありますか?
長期実行プロセスのために mod_perl2 インスタンスに触れる必要がある内部サービスを作成しています。ジョブは HTTP POST から起動され、mod_perl ハンドラーがそれを取得して作業を行います。長い時間がかかる可能性があり、非同期で処理する準備ができているため、実行中に HTTP 接続を終了できることを望んでいました。
PHP には関数がありignore_user_abort()
、適切なヘッダーと組み合わせると、プロセスを実行したまま HTTP 接続を早期に閉じることができます (この手法については、ここで SO で数回言及されています)。
Perlには同等のものがありますか? 私はまだ1つを見つけることができませんでした。
perl - mod_perl2 で PerlSections を設定するにはどうすればよいですか?
[PerlSection][1]
を使用してサーバー名を取得し、それを使用していくつかのペアやその他のものを構成RewriteCond
しよRewriteRule
うとしています。なかなか行けないようです。それはあなたがこれを行うことができると言います:
しかし、Apache を起動しようとすると、次の構文エラーが発生します。
次に、ドキュメントはディストリビューションにあると思われるこれら2つのファイル、eg/httpd.conf.plとeg/perl_sections.txtを参照しますが、mod_perl2ディストリビューションにはegディレクトリさえなく、元のmod_perlのegディレクトリにはありませんこれらのファイルもありません。
「あなたの検索 - perl_sections.txt サイト: http://perl.apache.org/dist/ - どのドキュメントとも一致しませんでした」という理由で、Google も助けにはなりませんでした。回答なしでコピーされたこれらのファイルについて尋ねる投稿。
<Perl> セクションを実際に使用する方法に関するリソースはありますか?
apache2 - Apache2.2APRロードエラー
サーバーは文句なしに起動しますが、Apache2 :: CookieのようなApache2モジュールを必要とするページにアクセスするとすぐに、サーバーは停止します。
perl - コマンドライン perl スクリプトの出力を mod_perl 経由でブラウザーに送信する
を介してコマンドラインから実行できるプレーンな perl スクリプトがありますperl -w test.pl
。次に、Web ブラウザーからアクセスできる mod_perl2 スクリプトを作成します。後者で前者を呼び出し、出力をブラウザーに送信して、フラッシュするようにしたいと考えています。
mp2 スクリプトには、mod_perl であるためシバン行がありませんperl
。また、呼び出すとsystem('perl -w c:\\path\\to\\test.pl')
次のエラーが発生します。
パス変数にあるため、何らかの理由でわかりません。おそらく、Apache が実行されているアカウントには当てはまりません。
経由で perl 実行可能ファイルを呼び出さずに、スクリプトを実行してその出力をキャプチャする方法はありますsystem()
か? つまり、既にロードされているインタープリターを使用するものですか?
mysql - mod_perl アプリケーションで奇妙な断続的な mysql ドライバーの問題が発生する
mod_perl スクリプトがまったくランダムなタイミングでクラッシュし、認識できる理由もなく、次のようなエラーが表示されます。
[error] install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.\nCompilation failed in require at (eval 20) line 3.\n\n at
しかし、それが良くなるのを待ってください。時々それは代わりにこれです:
[error] install_driver(mysql) failed: Can't load '/usr/lib/perl5/auto/DBD/mysql/mysql.so' for module DBD::mysql: /usr/lib/perl5/auto/DBD/mysql/mysql.so: failed to map segment from shared object: Cannot allocate memory at /usr/lib/perl/5.10/DynaLoader.pm line 196.\n at (eval 17) line 3\nCompilation failed in require at (eval 17) line 3.\nPerhaps a required shared library or dll isn't installed where expected\n at
私は開発モードの atm にいるため、このアプリにアクセスしたのは私だけであるため、同時実行の問題ではないことに注意してください。
それ以外の場合は、すべてが非常にうまく機能します。奇妙です。Debian 5.0 と apache 2 および mysql 5.0.51a-24+lenny2 を実行している VPS を使用しています。
助けてくれてありがとう!
perl - どの Perl RESTful フレームワークをお勧めしますか?
こんにちは、次のことが必要な Perl RESTful フレームワークを探しています。
- apache2/mod_perl2 で動作
- シンプルに
- 優雅であること
- 軽い
- 柔軟です
私はただ夢を見ているだけなのですか、それとも「独自のロール」アプローチを避けることができますか?
どのフレームワークをお勧めしますか?
perl - mod_perl でデフォルトの Apache エラー ドキュメントを抑制するにはどうすればよいですか?
私は RESTful API を開発しており、リクエストを処理する mod_perl2 ハンドラーを作成しました。
$r->status($http_code)
私のハンドラーは、設定してエラーコードを処理しますreturn $http_code;
少し問題を除いて、すべて問題ありません。私の http_code が 200 と異なる場合 (たとえば 404)、apache はデフォルトの HTML エラー ドキュメントを私自身が生成した応答に追加します。
例えば:
与えます:
このApacheで生成されたHTMLを取り除くにはどうすればよいですか?
更新: 私のせいです。私の mod_perl2 ハンドラは、Apache2::Const::OK ではなく HTTP_* コードを返していました。
browser - ブラウザ キャッシュ コントロール、動的コンテンツ
問題:動的サーバーから送信された画像を FireFox にキャッシュさせることができないようです
セットアップ:バックエンドで動的サーバー (mod_perl2) へのリバース プロキシを使用する静的 Apache サーバー。
サーバーのリクエスト URL は次のとおりです。これは動的サーバーに送信され、そこで Cookie を使用して画像へのアクセスが検証されます。
リクエスト ヘッダー
動的サーバーは画像をサーバーにストリーミングし、次の応答を返します。
応答ヘッダー
今のところ、とても良いです(私はそう思います)。ただし、ページをリロードすると、画像がキャッシュされたように見えず、リクエストが再度送信されます。
リクエスト ヘッダー
ブラウザが画像をキャッシュする必要があるため、リクエストは発生しないようです。このままでは、最初と同じように 200 応答が受信され、画像が再取得されたように見えます (ただし、ブラウザーはキャッシュされた画像を使用しているように見えます)。
この問題は、上記のリロード リクエスト ヘッダーの Cache-Control: max-age=0 によって示唆されているようです。
なぜこれが起こっているのか誰にも分かりますか?おそらく、問題を引き起こしているのは応答のViaヘッダーでしょうか?
perl - Apache 2 および Perl での認証モジュールの問題
Perl モジュールを Subversion で動作させようとしている SharePoint 開発者ですが、構文に問題があると思います。ユーザー名とパスワードを取得して Web サービスに渡し、true/false を取得して、その情報に基づいて認証するだけです。Perl でのモジュールのコードは次のとおりです。
誰か提案があれば教えてください。Apache Config ファイルで次のようなエラーが表示されます: Can't call method "value" on an undefined value at C:/usr/site/lib/Apache2/AuthGetUser.pm line 30. ありがとうございます。これが機能するようになったら、ブログ記事を近日中に投稿する予定です。
perl - IPC::Open3 が Apache での実行に失敗する
IPC::Open3 (または IPC::Open2、どちらもこの問題を示す) を使用して外部バイナリ (この場合は bogofilter) を呼び出し、子入力ファイルハンドルを介して入力をフィードし、結果を読み取るモジュールがあります。子出力ハンドル。ほとんどの環境で実行すると、コードは正常に機能します。ただし、このモジュールの主な用途は、Apache 2.2.6 で実行される Web サービスです。そして、その環境下では、エラーが発生します:
STDOUT を fdopen できません: 引数が無効です
これは、コードが Apache で実行されている場合にのみ発生します。以前のコードは、入力用のヒアドキュメントを含む非常に複雑なコマンドを作成し、バックティックを使用して実行していました。それは機能しましたが、非常に遅く、独特で複雑な方法で壊れる傾向がありました. 古いバージョンに戻す必要はありませんが、これをクラックすることはできません。