問題タブ [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 - Devel::Cover および ModPerl::Registry を使用したランタイムのカバレッジはありません
で実行Devel::Cover
すると、ブロックModPerl::Registry
以外のカバレッジ情報が得られません。BEGIN
コマンドラインから、またはCGIとして同じスクリプトを実行している場合Devel::Cover
、すべてが正常に機能します(明らかに)。
Devel::Cover
ランタイムで実行されているコードを「見る」にはどうすればよいですか?
これが私のDevel::Cover
関連するものですhttpd.conf
:
ここにありstartup.pl
ます:
(ご覧のとおりDevel::Cover
、startup.pl
は によって実行されている ため、 に対してモンキー パッチを作成しましたroot
が、ワーカー プロセスは別のユーザーで実行されているため、 によって作成されたディレクトリを読み取ることができませんでしたstartup.pl
。より良い解決策を知っている場合は、メモしてください。 .)
perl - mod_perl2 に Perl モジュールを見つけるように指示するにはどうすればよいですか?
Apache Server バージョンを実行する Oracle 64 ビット Linux5.4 でシステムをインストールしました: Apache/2.2.3 および mod_perl 2.
これで、Perl ライブラリを特定のパス /my/perl/libs に設定し、これを補うために httpd.conf を調整しました (以下を追加しました)。
SetEnv MY_LIBS /my/perl/libs
私のCGIプログラムでは、環境を補正するように設定しています:
lib($ENV{'MY_LIBS'}); を使用します。
Perl モジュールが /my/perl/libs のパスを認識してすべての関数を適切に呼び出す場合と、そうでない場合があるため、500 エラーが発生します。
Apache を再起動すると ( /etc/init.d/httpd restart
)、正常に動作しますが、500 エラーが発生します。
何かアイデアはありますか?何を見ればいいですか?
perl - mod_perl での '\' の奇妙な動作
mod_perlで実行されるスクリプトには次のものがあります
ログファイルに次を出力します。
$1 は null であることがわかっています。これは mod_perl2 のバグですか、それとも私が見逃しているものですか?
perl - mod_perl2 moose アプリケーションとの DB 接続が多すぎます
mysql データベースへの接続を必要とする mod_perl2 ベースの Web アプリがあります。moose ロールに SQL 接続の仕様を実装しました。
単純化すると、ロールは次のようになります。
次に、DB への接続を必要とするすべての moose クラスでこのロールを使用します。
声明。
これは少数のオブジェクトが作成される場合にはうまく機能しますが、多くのオブジェクトが作成されるとすぐに問題が発生します。たとえば、httpd ログでは、次のエラーが表示されます。
DBI connect('alcatelRSA;host=10.125.1.21;port=3306','tools',...) 失敗: C:/Perl/site/lib/DBIx/Connector.pm 行 30 での接続が多すぎます
DBIx::Connectors の "disconnect" 呼び出しを使用して毎回データベースへの接続を閉じることを考えましたが、必要に応じて接続を開いたり閉じたりすると、パフォーマンスへの影響が深刻なようです。
この問題に関する別の提案はありますか?
perl - mod_perl2 で POST リクエストを変更する
mod_perl2を使用してPOSTリクエストデータにアクセス/変更する方法を知っている人はいますか? IN GET メソッドでは、リクエストの QUERY 文字列を取得/設定できます。
POST メソッドでリクエスト QUERY 文字列を取得/設定する方法は?
perl - mod_perlはcgiとは異なる方法で包含パスを処理しますか?
私はperlで書かれ、CGIとして実行されるスクリプトを持っています。正常に動作します。最近、mod_perlモジュールをapacheにインストールし、PerlModule ModPerl::Registryディレクティブを使用しました。
これを使用して、cgiperlコードを変更する必要がないことを読みました。(私は常に厳密なプラグマを使用しているので、初期化されていないグローバル変数などについて心配する必要はありません)。
元のスクリプトは意図したとおりに機能しますが、require()関数に含めたファイルは解決できなくなります。
script.cgi:
script.perl
ディレクトリ構造は次のように機能します。
$ ls
script.cgiscript.perlには/が含まれます
$lsには/が含まれます
関数.cgifunctions.perl
mod-perl2 - Perl で正規表現を使用して文字列から特定の文字セットを削除する方法
1) 例:: $string ="abc hell_+o w343r2d -000 rebotin" があります。検索パターンと正規表現を使用して、PERL の文字列から -000 を削除または切り刻む方法はありますか。2)簡単な方法で例を使って正規表現の学習を開始したいのですが、どのチュートリアルから始めるのが最適ですか?
perl - mod_perl2 で HTTP スキームが https か http かを判断していますか?
入ってくるリクエストが mod_perl 環境で SSL を使用しているかどうかを調べる必要があります - どうすればこれを確実に行うことができますか?
perl - mod_perlのPerlChildInitHandlerとPerlResponseHandlerの間で共有変数がクリアされるのはなぜですか?
中に構成ファイルをハッシュにロードしてPerlChildInitHandler
から、からの値にアクセスしようとしていますPerlResponseHandler
。ただし、プロセス番号は同じですが、child_init()
呼び出し中に変更された変数は、呼び出されるとデフォルト値に戻るようですhandler()
。
基本的なシナリオは次のとおりです。
perl - ActivePerl と同じサーバーで Stratberry Perl をテストする
現在 ActivePerl 5.10 と mod_perl2 を使用している win2k3sp2 サーバーで Strawberry Perl 5.12 を試してみたいと思います。開発用に別の Apache サービスをセットアップしていますが、Windows 環境で Strawberry Perl 以外を指すすべての参照をクリアすることについて何かを見たことを覚えています。それを回避する方法はありますか?Strawberry をテストドライブしようとして ActivePerl システムを破壊するつもりですか? この方法で移行に成功した人はいますか?