2

PHP で独自の FastCGI インターフェイスを構築するにはどうすればよいですか?

彼らが Perl でやっていることと似たようなことを、PHP でやりたいと思っています。それは可能ですか?それはより速いでしょうか?

(つまり、Web アプリ フレームワークを一度メモリにロードし、すべてのリクエストに対して提供するメソッドを FastCGI に呼び出させることができるようにしたいと考えています。 「デフォルト」の PHP FastCGI セットアップ。)

乾杯!

(編集: Mongrel と RoR もこれを行っていませんか?)

わかりました、私は今おかしな図を作りました:)

代替テキスト

4

3 に答える 3

1

私が間違っているかもしれませんが (遅くなりました)、何らかの形でキャッシングをしようとしているだけではありませんか? とにかく、FastCGI インターフェイスはかなり明確に定義されているようです。したがって、かなり簡単に、やりたいことが何でもできるはずです。

于 2009-06-01T15:04:21.150 に答える
0

PHPであると本当に決心している場合は、理論的には、cでphpモジュールを作成し、cでfastCGIのブリッジを形成することができます。

その後、推測すると、スタンドアロンプ​​ログラムとしてfastCGIにアクセスし、ループを実行して要求を受け入れるPHPスクリプトを実行します。PHPを「永続的な仮想マシン」として使用している場合(より適切な用語は見つかりませんでした)、fastCGIを介して通信します。

いくつかの依存関係ライブラリなどのリロードは、非常に簡単に見過ごされがちなパフォーマンスの低下であることに同意します。ただし、PHP開発サイクルを簡素化するための意図的な設計である可能性があります。永続的な環境で、経験の浅いユーザーが行うグローバル変数の混乱について考えてみてください。ほとんどのfastCGIセットアップは、負荷に応じて複数のコピー/スレッドを初期化するという事実を捨てます。その小さなワームの缶。リクエストごとに空白の新しいスレートを開始すると、簡単になります。

ただし、正直なところ...パフォーマンスに関心がある場合は、代わりにfastCGI C ++/node.jsを検討することをお勧めします...JavaScript/ PHP / C ++用に開発したので、あなたのアイデアは間違いなく可能です...しかしそれは本当に費用対効果に要約されます...それは努力する価値がありますか?など。

PS:ヒップホップを介してPHPサイトをコンパイルすることも検討できます。

于 2012-07-12T05:31:49.190 に答える
0

PHPでPHP使用することはできません。C でcgi-sapiを使用することはできますが、代わりにAPCを使用することをお勧めします。

于 2009-07-10T04:06:13.970 に答える