問題タブ [cgi-application]

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 投票する
2 に答える
1087 参照

perl - CGI::Application アプリの nginx fastcgi 設定

C::A アプリを nginx fastcgi 環境 (debian 6.0) で動作させ、spawn-fcgi を使用しようとしています。

C::ルートは次を使用して構成されます$self->mode_param( path_info=> 1, param => 'rm' );

example.com/cities問題は、example.com/profile/99私が要求しているC::A アプリの URL ( など) が何であれ、それが常にホームページを表示することexample.com/index.plです。

私のnginxのセットアップは

同様の方法でいくつかのphpアプリを正常にセットアップしました。

fastcgi_paramただし、この場合、必要な C::A にエッセンシャルを渡していないのではないかと思います。

あなたの考えは何ですか?

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

perl - Perl CGI::Session save_param はすべてのパラメータを配列として 1 つのキーの下に保存します

CGI::Sessionセッションデータを保存するために使用していますCGI::Application(具体的CGI::Sessionには、モジュールを介して使用していCGI::Application::Plugin::Sessionます)。アプリケーション モードの 1 つで、次のようにします。

パラメータをセッション データに保存するには、パラメータを使用して取得すると、他のパラメータがサーバー側に送信され、セッションから取得されたユーザ パラメータ$self->session->param('user')を介してアクセスできる場合でも、データが含まれているのはユーザ パラメータだけであることがわかります。パラメータの配列です。$q->param()ただし$self->session->param('user')、パラメーター「ユーザー」の内容を含む単一の文字列が返されると思います。
この動作は予期されたものですか?
もしそうなら、なぜですか?

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

perl - Perl nginx REST CGI::アプリケーション

シンプルな CGI::Application::Dispatch ベースの REST アプリケーションを Apache サーバーから Nginx に変換しようとしています。アプリケーションは Apache の下で問題なく動作しますが、Nginx の下で実行すると、Dispatch リクエストのルート レイヤー (/app) のみが機能します。パスに /app/doit などの追加部分があると、呼び出しが Forbidden で失敗します。

URL を fastcgi に渡す方法を変更する必要があると思われますが、URL を分割する方法が明確ではありません。私が見つけたほとんどの例は、dispatcher.cgi タイプのスクリプトがある場合の分割用ですが、C:A:D は /app として呼び出されることを想定し、URL の /doit 部分を参照することを想定しているため、それを達成する方法がわかりません。

現在のロケーション ブロックは次のとおりです。

Apache でのセットアップは非常に簡単でした。

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

perl - Perl - CGI::Application - データベースからセッション変数を作成する

データベース内に一連の構成変数が保存されており、次のクエリを介してキーと値のペアにアクセスできます。

これらのキーと値のペアを CGI::Applicaiton セッションにロードしたいと考えています。現時点では、これは手動で行われます (データベースからではなく、ハードコードされています)。

キーと値のペアの束。DBI とループのいくつかの形式でこれを行うより賢明な方法はありますか?

ありがとう

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

perl - CGI::Application param() が設定されていません

をベースとして使用するコードがありますCGI::Applicationが、何かが正しく機能していません。

何かを設定しようとすると$Template->param()、一見設定されません。 $Templateに等しい$self->load_tmpl($template);

そして、私が保存したい作品は次のとおりです。

\%a_hash_ref期待値が含まれていることはわかっています。同様の形式があります。

また、もしそうなら

保存されませんが、

は、$Paginationhash_ref でもあります。

すべての値が本来あるべきものであることはわかっています。また、機能するはずの単純な文字列でも試してみましたが、設定されていません。私が実行するとき、私はこれを知っています:

設定する必要があるすべての変数を出力しますが、期待される変数 ('Hey!xD'文字列を含む) がありません。また、このダイ ダンパーは値を設定しようとした後であるため、実際にコードが実行されることもわかっています。

テンプレート ファイルには、次のコードが含まれています。

$(document).ready(function () { mainFunction('[%symbol%]'); });

どんな助けでも大歓迎です。

編集:

これは、パラメータに与えられているものです:

[ { 'date' => '2006-07-05', 'avg_gain' => undef, 'bollinger_mid' => '32.80000', 'symbol' => 'BBQ' }, { 'date' => '2006- 04-04', 'avg_gain' => undef, 'bollinger_mid' => '34.55656', 'symbol' => 'AAPL' } ... ]

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

perl - Perl CGI::Fast はデータを送信せずに接続を閉じます

CGI::ApplicationFastCGI を使用して Nginx 間で通信する Perl アプリケーションをデプロイしようとしています。

Nginx は「502 Bad Gateway」を返し続け、エラー ログには次の情報が記録されます。

2015/02/03 12:40:03 [エラー] 11209#0: *2 アップストリームからの応答ヘッダーの読み取り中に接続が途中で閉じられました, クライアント: 10.1.1.23, サーバー: www.example.com, リクエスト: "GET /test .fcgi HTTP/1.1"、アップストリーム: " http://127.0.0.1:5001/test.fcgi "、ホスト: "www.example.com"

Nginx サイトの構成は次のとおりです。

CGI::Fast問題が Perl アプリケーション自体にあるかどうかを確認するために、ドキュメントにあるテスト コードに基づいて新しい fcgi アプリケーションを作成しました。

を実行する./test.fcgiと、ポート 5001 にバインドされていることがわかりnetstatます。ブラウザで URL にアクセスすると、この非常にシンプルなアプリでも 502 が返されます。Carp書き込み中のエラー ログには何もありません。

アプリケーションの起動時間が長いため、プレーン CGI (ラッパー スクリプト経由)を使用したくありません。また、アプリケーション全体を Plack/PSGI に変換することもできません。

CGI::Fastドキュメントの単純な例であっても、Nginx が Perl と通信しない理由をどのように理解できますか?