ここは PHP 4.4.2と 4.3.0 を見比べて書いてるのでそのつもりで〜 PHPストリーム PHPはHTTPリクエスト・レスポンスを除くほとんどの入出力処理をPHPストリームという機構で処理する。 C実装メモ /ext/standard/file.c PHP_FUNCTION(f*) にあるPHP組み込み関数から、 /main/stream.c _php_stream_*() をインターフェース・共通部分として呼ぶ。 依存部分はstream->ops->*() として呼び出され、実装はSTDIOならphp_stdiop_* 関数などに書かれる。 基本的に、ストリームの共有部分は次の付加的な機能を持っている。 先読みバッファ (4.4 より前は存在しなかった?) 読み書きの分割 (機能なのか制限なのか?) 透過的フィルタ フィルタは4.3.0以降で使えるようだが、先読みバッファと関
あいかわらずphpでやんなくていいじゃんな話、なのかな。そうでもないかも。 php.net の proc_open の例にあるように、 proc_open() で子プロセスを起動してstream_get_contents() すると、場合によっては固まったまま動かなくなったりします。「デッドロックを避けるため…」という件がコメントに入ってますが、こういう話が得意でない人にとってはそんなとこ以上にハマりどころがありました。 stdoutとstderrに交互に出力 たとえば次のようなシェルスクリプト test.sh を考えます。 #!/bin/sh for i in `seq 1 10000`; do echo "stdout: $i" >&1 echo "stderr: $i" >&2 done 単に標準出力と標準エラーに交互に数字を吐き出すだけです。 これをphpから実行するときに、php
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く