ホームページ  >  記事  >  バックエンド開発  >  ob_start および php の他の関数による標準出力をインターセプトする方法、phpob_start_PHP チュートリアル

ob_start および php の他の関数による標準出力をインターセプトする方法、phpob_start_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:49:07736ブラウズ

phpのob_start、phpob_startなどの関数で標準出力をインターセプトする方法

最近PHPを使ってcliでソフトウェアを開発していたのですが、このような問題に遭遇しました。 PHP スクリプトから出力を収集したかったので、ob_start と ob_end_flush という 2 つの関数を使用しました。これらの関数は出力を収集するだけでなく、コンソール インターフェイスにも出力します。私が聞きたいのは、PHP がコンソールに情報を出力しないようにする方法があるかどうかです。原則として、このソフトウェアではコンソールに何も出力できません。

php-cli 自体は Web サーバーとは独立してスクリプトを実行します。現在取得しているデータをどのように取得したのかわかりません。 cli 経由で php プログラムを実行して返された値を取得できない場合は、ob_get_clean() を使用できます

キャッシュされたコンテンツを取得した後、キャッシュ領域をクリアして、表示インターフェイスを表示しないという前述の効果を実現します

もちろん、バッファーの内容を取得してクリアし(コンソールに出力しないように制御)、その内容を処理のためにWebサーバーにフラッシュすることもできます

上記の方法で完成です。この一連の機能は以前から使っていたのですが、長い間使っていなかったので忘れていました。

私たちが現在取り組んでいるのは、PHP ベースのマルチプロセス HTTP 動的サーバーです。卒論は単なる実験品であり、実用性はありません。

php-cgiプログラムの実行結果は標準入出力なので、出力結果をインターセプトするには標準入出力を取得するしかないはずですが、やり方がわかりません

以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1020536.html技術記事 php の ob_start などの関数で標準出力をインターセプトする方法 phpob_start 最近 PHP を使用して cli でソフトウェアを開発したのですが、このような問題に遭遇しました。 PHP スクリプトからの出力を収集したいのですが...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。