2

CLI (PHP の php_sapi_name 関数など) で実行しているか、HTTP 要求を処理しているかを判断するための Ruby 規則は何ですか?

リクエストが定義されているかどうか、またはその他の推論方法をテストできると考えていましたが、従うべき規則が必要です。

4

1 に答える 1

1

Ruby はスクリプト言語であり、Web サーバー プロセスに組み込まれる場合と組み込まれない場合があるため、標準化された方法はありません。必ずしも Web 向けであるとは限りませんが、切断されたバックグラウンド プロセスとしても実行されている可能性があります。

ENV['SERVER_NAME']HTTP 環境では、通常、CGI 仕様のように変数が定義されています。これらは、コマンドライン環境には存在しません。

通常、Rack または Rails 内で実行しているかどうか、または HTTP 層とのインターフェイスに特定の Web フレームワークが使用されているかどうかをテストすることをお勧めします。たとえば、 Rails がロードされているかどうかを示しますが、これはタスクとタイプの使用法defined?(Rails)にも当てはまります。rakerails console

于 2013-01-14T16:10:20.040 に答える