0

私は pctnl_fork を使用して大きなタスクを複数のプロセスに分割していますが、1 つの厄介なことを除いてうまく機能しています。それの。

この問題の実際の例を次に示します。

<?php
  ob_start();
  $pid = pcntl_fork();
  if ($pid == -1) {
     die('could not fork');
  } else if ($pid) {
     // we are the parent
     pcntl_wait($status); //Protect against Zombie children
  } else {
     $fh=fopen('/var/www/html/test.txt','w');fwrite($fh, time());fclose($fh);        
     exit(0);
  }

  header_remove();
  ob_end_clean();
  echo " done";
?>

header_remove() を省略すると、出力されます

X-Powered-By: PHP/5.3.3 Content-type: text/html done

header_remote を使用すると、X-Powered-By ヘッダーが削除されますが、Content-type ヘッダーは残ります。

Content-type: text/html done

私はこれを無駄に修正しようとして髪を引っ張った。ob_end_clean() で確実に修正されると思いましたが、修正されません。誰かに何か提案があれば、私は永遠に感謝します.

4

1 に答える 1

0

pcntl_fork()Web サーバー環境 (mod_php など) 内から使用しないでください。ご覧のとおり、Web サーバー内で実行すると正しく機能しないため、新しいバージョンの PHP では CLI SAPI の外部では使用できません。

于 2012-06-07T02:31:43.650 に答える