2016-08-18 7 views
0

HTTPリクエストを受け入れてクライアントに応答を送信する独自​​のWebサーバーを作成する必要があります。自分のWebサーバーでPHPスクリプトを実行するにはどうすればよいですか?

私はCLIインターフェイスでPHPスクリプトを呼び出すことを考えていますが、CLIモードでPHPスクリプトを実行します。自分のサーバー(CLIモードではない)でコールスクリプトに必要なことは何ですか? CLIモードでは、一部のPHP機能が無効になっているためです。たぶん私は自分のPHP SAPIを書く必要がありますか?

ご協力をお願いします。

おかげ

+0

CLIモードではどのような機能が無効になっていますか? CLI php.iniでそれらを有効にできませんか? – Barmar

+1

セッションや '$ _GET'のようなものは、Webクライアントなしでは意味をなさないため、CLIモードでは動作しません。 – Barmar

+1

質問の範囲はかなり広いです。私は、より具体的なものに範囲を縮小するために質問を編集することを強くお勧めします。さもなければ、私はあまりにも広すぎるとして閉じるように投票する – Sherif

答えて

1

はありません、あなたはすでに、Webサーバとのインタフェースのために特別に書かれたものがあったように、あなた自身のPHP SAPIを記述する必要はありません。それはFastCGIと呼ばれます。

PHPは、拡張性と組み込みの両方が重要であることに注意してください。したがって、Apache 2.0 Handler(a.k.a mod_php)のようないくつかのSAPIはhttpdサーバに直接組み込まれているかもしれませんが、通常はWebサーバとPHPとの通信を行うためには必要ありません。

違いは、基本的なPHPインタープリタを管理し、ワーカーのリサイクルやWebサーバとの通話可能なワーカープロセスの管理などの処理が必要な点です。たとえば、php-fpmはこれをうまく実行し、多くの人がphp-fpmを使用してPHPワーカーを管理し、fastcgiプロトコルを使用してnginxやhttpdなどのWebサーバーに結び付けます。 php-fpmによってforkされたPHPワーカーはfastcgiソケットを待ち受け、WebサーバーはPHPとの間で自由に情報を送受信できます。

+0

自分のサーバーでCGIでPHPを呼び出す方法を教えてください。私はそれのために何をすべきですか? –

+0

さて、それはかなり読み込まれた質問です。 CGIを話す方法を学ぶには、CGIの仕様を読む必要があります。 – Sherif

+0

ありがとうございました。私はCGIが何であるか知っていますが、自分のサーバーでCGIを使ってPHPを呼び出す方法がわかりません。通常、私はPHPクライアントまたはCLIモードで実行します。自分のサーバーを使ってPHPスクリプトを呼び出す方法についての情報が必要ですか?たとえば、CLIではphp -f filename.phpでブラウザを呼び出すか、CURLでWebアドレスを書きます。私はこの状況で何をする必要がありますか? –

関連する問題