5

ウェブサーバーを介してスクリプトとやり取りしないプログラムから PHP コードを実行することは可能ですか? 最初は、CLI PHP インタープリターを考えましたが、それには、Web サイトの要求に共通する $_SERVER または $_REQUEST 変数が含まれていません。

では、エミュレートできるのであれば、どのように蓄積できるのでしょうか? プラットフォームに依存しないWebサーバーとphpの間に共通のインターフェースがあると確信しているため、特定のプログラミング言語で考えているわけではありません。

この質問の目的は、Web サーバーとして動作できる Node.JS アプリケーションを構築し、(必要に応じて) PHP スクリプトを (特定の入力を使用して) 実行し、応答をフェッチし、必要に応じて出力に追加の処理を行うことです。それをクライアントに書きます。

4

1 に答える 1

3

Node.JS 用の PHP モジュールを構築したくない場合は、CLI が唯一の選択肢だと思います。必要な変数をコマンド ラインから渡すことができます。スクリプト内でそれらを再構築することに反対するものは何もないと思います。

php -f myscript.php /websites/myscript domain.com 1.2.3.4.5

理想的な方法は、これらの引数を取得して、スクリプトで使用する変数に書き込むことです。

を利用する既存のスクリプトがあり、$_SERVERそれを書き直したくない場合、これは機能するが洗練されていない回避策になります。$_SERVER(通常、などに書き込むことは想定されていないため、エレガントではありません$_GET。)

$_SERVER["REQUEST_URI"] = $argv[1];
$_SERVER["SERVER_NAME"] = $argv[2];
$_SERVER["REMOTE_ADDR"] = $argv[3];

CLI: コマンド ラインの使用法

(このようにサーバー変数を上書きすることがコーシャかどうかはよくわかりませんが、少し間違っているように感じます。しかし、標準のセットアップでは間違いなく機能します。PHPチャットの人たちにどう思うか聞いてみます...編集:誰も本当に気に入っていますが、大きな欠点はないようです)

于 2013-01-24T12:32:18.577 に答える