問題タブ [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.

0 投票する
1 に答える
697 参照

perl - MasonX :: Request::WithApacheSessionでApache::Session::Memcachedを使用する

HTML::MasonプロジェクトでApache::Session :: Memcachedを使用しようとしています。ここでは、 MasonX :: Request::WithApacheSessionを使用してセッションを処理しています。残念ながら、MySQLモジュールの代わりにMemcachedモジュールをプラグインすると、Apacheは起動しません。私のカスタムハンドラーは次のようになります(あちこちでいくつかの切り取り):

私が遭遇している問題は、session_*Memcachedに固有のパラメーターが、ドキュメントに記載されているようにApache :: Session::Memcachedに渡されていないことです。これにより、次のエラーが発生します。

今、私は3つの大文字の引数すべてを調べて小文字に交換しましたが、役に立ちませんでした。また、 Apache :: Session :: Memcachedのドキュメントには、大文字で記載されています。

助けてくれてありがとう。

0 投票する
2 に答える
334 参照

perl - PHP の ignore_user_abort() に相当する mod_perl2/Perl 5 はありますか?

長期実行プロセスのために mod_perl2 インスタンスに触れる必要がある内部サービスを作成しています。ジョブは HTTP POST から起動され、mod_perl ハンドラーがそれを取得して作業を行います。長い時間がかかる可能性があり、非同期で処理する準備ができているため、実行中に HTTP 接続を終了できることを望んでいました。

PHP には関数がありignore_user_abort()、適切なヘッダーと組み合わせると、プロセスを実行したまま HTTP 接続を早期に閉じることができます (この手法については、ここで SO で数回言及されています)。

Perlには同等のものがありますか? 私はまだ1つを見つけることができませんでした。

0 投票する
2 に答える
1068 参照

perl - mod_cgiとmod_perlの両方でエラーをキャッチする

よろしくお願いします。

私はエラー処理についていくつかの調査を行ってきましたが、何をすべきかをしっかりと理解しているとは思えません。

前文:私のコードはApacheにあり、ブラウザーで実行されます。私の目標にはコマンドラインの実行は含まれていません。

CGI :: Carp(fatalsToBrowser)の動作に、出力をキャプチャして自分のテンプレートページにスローしたり、電子メールで送信したりできるようにしたいのですが...fatalsToBrowserが機能しないことに気づきましたmod_perlを使用します。誰かが理由を知っていますか?Apache / mod_perlはどのように邪魔になっていますか?


最初の目標:コードがmod_perlまたはmod_cgiで実行されている場合に機能するものをまとめたいと思います。

2番目の目標:.NETのApplication_Error(global.asax内)およびPHPのset_exception_handler()およびset_error_handler()メソッドと同様のすべてのエラーをキャッチする高レベルのメソッドが必要です。これらを使用すると、厄介な/ gross try-catchステートメントでコードをラップすることなく、エラーが発生したときに制御を取得できます。


私が読んだ/レビューしたもの:

1.)PerlでのOO例外処理ですが、私が探していたものではありませんでした。私がキャッチしたいもののほとんどはdie()ingです。次のリンクにも、この記事は古く、廃止されていると書かれています。

2.)Perl:$ SIG {__ DIE __}、eval {}、およびスタックトレースですが、これは私の目標に関連してあまり得られませんでした。

3.)実用モードPerl(O'Reilly)、第21章「エラー処理とデバッグ」。ありがたいことに、私のperlコードはすべてstrictを使用しており、警告が有効になっています。第6章「mod_perlを使用したコーディング」で説明した最も重要なことはすでに実行されています。

4.)「LearningPerl」、「Perl Cookbook」、「Programming Perl」、「Higher Order Perl」の目次を調べましたが、目立つものは何も見つかりませんでした。私がそこで何かを逃したと思うなら、私に知らせてください。:)


どこにあるのか覚えていません(おそらく「Practicalmod_perl」にありますが、$SIG{__DIE__}をいじってはいけないことを読みました。

0 投票する
1 に答える
38 参照

mod-perl - mod_perl から入ってくるので、Apache ログの引数を変更しますか?

user=ryan&size=1234 などの引数を使用してインプレッションが表示されます。これらの引数が書き込まれる前にログ ファイルで直接変更する方法はありますか? 現在、notes() メソッドを使用して引数を追加していますが、ユーザー引数を書き込む前に user=ryantest に変更する必要があります。可能?

0 投票する
1 に答える
183 参照

perl - Modperl::perlrunリロードモジュール

アプリをmodperl::perlrunで実行するように変換しています。クロージャーを作成するレガシーモジュールがいくつかあります。Perlrunでリクエストごとにモジュール(.pmファイル)をリロードする方法はありますか?

0 投票する
4 に答える
172 参照

linux - 短いスクリプト、長いモジュール、または長いスクリプト、短いモジュール?

Perl で Web サービスを作成する場合、何がパフォーマンスに最適かを考えていました。

できるだけ短い .pl スクリプトを使用し、.pl スクリプトで使用されるモジュールにできるだけ多くのコードを配置するのが最善ですか、それともモジュールをまったく使用しない場合、パフォーマンスに影響しませんか?

mod_perlPerl 5.8.8 を搭載した CentOS Linux ボックスで使用しています。

0 投票する
3 に答える
1184 参照

perl - mod_perlとCGI::Applicationを使用して一時ファイルのダウンロードを提供するにはどうすればよいですか?

mod_perl私のWebアプリは、 CGI::Applicationを使用してApacheで実行されます。生成されたファイルのダウンロードを提供したい。以前(CGI :: Appを使用する前mod_perl)、生成されたとおりにcsvファイルをスプールしましたSTDOUT。今、私はもう少し洗練されたものを探しています-Spreadsheet :: WriteExcelを使用してExcelスプレッドシートを作成します-そして、ファイルハンドルからそれを印刷することができないようです。

出力は単なる空白の応答であり、警告も空白です。

スプレッドシートをファイルハンドルに書き込むために使用している方法は、ドキュメントからほとんど直接出ているので、問題は私の側のCGI ::Appnooberyが原因であると思います。ドキュメントで提案されているファイルハンドルの方法も、mod_perlかなり役に立たないことがわかりました。

私はWindowsで実行していることを言及する必要があると思います。現在の回避策は、ファイルを作成してユーザーにそのファイルへのリンクを提供することです。ただし、ディレクトリのクリアとそのタイミング、および生成されたファイルへのアクセスの認証に関しては、さらに問題が発生します。

提案?批判を傷つけますか?

0 投票する
3 に答える
1234 参照

perl - mod_perlにアプリケーションへの変更を認識させるにはどうすればよいですか?

開発サーバーでapache2/mod_perl2コンボを実行しています。

私が開発しているとき、私の変更は私が取り組んでいるウェブページに即座に反映されます。mod_perlは賢く、変更されたときにファイルをリロードしていると思いました。

しかし現在、別の開発者がシステムの別の部分で作業しており、それらの変更はmod_perlによって取得されません。彼は自分の変更を確認する前にapacheを再起動する必要があります。

開発サーバーでキャッシュを無効にする方法、またはmod_perlに変更を取得させる方法はありますか?

ありがとう。

編集:私はVIを使用して開発サーバーで直接ファイルを編集しています。他の開発者はsambaを介して開発ディレクトリをマウントし、Windowsでファイルを編集しています。これが、mod_perlが変更を取得できない違いのようです。