親pidにある配列要素を変更できるようにします。ここではいくつかのサンプルコードは、次のとおりです。このスクリプトが終了するときPHP pcntl変数の範囲
$arrayContainer = array(
array(
"id" => 1,
"name" => "Lenny"
),
array(
"id" => 2,
"name" => "Dudley"
),
array(
"id" => 3,
"name" => "Simon"
),
);
foreach ($arrayContainer as $key => $element) {
$pid = pcntl_fork();
if($pid == -1) {
// Something went wrong (handle errors here)
die("Could not fork!");
} elseif($pid == 0) {
$arrayContainer[$key]['size'] = 123;
$arrayContainer[$key]['fileName'] = 'somefile.txt';
// The child dies after a short while, becoming a zombie
exit();
} else {
// This part is only executed in the parent
}
}
は、だから私は子プロセスに書いた2つの要素は、foreachループの終わりでありません。私は子から親pidにある配列を変更することはできません。私は理由を理解していますが、私に可能な素晴らしい解決策は考えられません。あなたは何かを提案できますか?グローバルか何か?
うん、memcachedだ。 – gprime
@Marc B.ここに簡単な例を載せてもらえますか?興味ある! – Cesar