ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルで ob_start およびその他の関数を使用して標準出力をインターセプトする方法
この記事ではphpのob_startなどの関数で標準出力をインターセプトする方法に関する関連情報を中心に紹介しますので、必要な方は参考にしてください
。最近、PHPを使用してcliでソフトウェアを開発していて、このような問題に遭遇しました。 PHP スクリプトから出力を収集したかったので、ob_start と ob_end_flush という 2 つの関数を使用しました。これらの関数は出力を収集するだけでなく、コンソール インターフェイスにも出力します。私が聞きたいのは、PHP がコンソールに情報を出力しないようにする方法があるかどうかです。原則として、このソフトウェアではコンソールに何も出力できません。
php-cli 自体は Web サーバーから独立してスクリプトを実行します。現在取得しているデータを、cli を介して php プログラムを実行して返される値から取得する方法がわかりません。 ob_get_clean() を使用してください
キャッシュされたコンテンツを取得した後、表示インターフェースを表示しないというあなたが言及した効果を達成するために、キャッシュ領域をクリアします
もちろん、バッファーの内容を取得してクリアし(コンソールに出力しないように制御)、その内容を処理のためにWebサーバーにフラッシュすることもできます
上記の方法で行います。この一連の機能は以前から使っていたのですが、長い間使っていなかったので忘れていました。
私たちが現在取り組んでいるのは、PHP ベースのマルチプロセス HTTP 動的サーバーです。卒論は単なる実験品であり、実用性はありません。
php-cgiプログラムの実行結果は標準入出力なので、出力結果をインターセプトするには標準入出力を取得するしかないはずですが、やり方がわかりません
。以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。