Я пытаюсь узнать о php, разветвлении, совместном использовании ресурсов и т. Д., Пытаясь понять их концепцию, у меня возникла бессмысленная проблема, я исправил (с удачей), но не понял ...
это может быть ошибка ..
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->set('name', 'anil');
$workerCount = 3;
for($c=0; $c<$workerCount; $c++){
$pid = pcntl_fork();
if($pid === 0){
/* Children */
$m->get('name');
$name = $m->get('name');
echo 'This is child number : ' . getmypid() . PHP_EOL;
echo 'And this is name value in memcache : ' . $name . ' : ' . $m->getResultCode() . PHP_EOL . PHP_EOL;
exit;
}else{
/* Parent */
pcntl_wait($status);
}
}
, как вы заметили, я вызываю $ m-> get дважды .. если нет, это не работает.
два результата вызова:
Это дочерний номер: 9684 И это микротайм в memcache: anil: 0
Это дочерний номер: 9685 И этоmicrotime в memcache: anil: 0
Это дочерний номер: 9686 И это microtime в memcache: anil: 0
один результат вызова:
Это дочерний номер: 9721 А это микротайм в memcache: anil: 0
Это дочерний номер: 9722 А это микротайм в memcache:: 19
Это дочерний номер: 9723 И это микротайм в memcache:: 19
ps: $ m-> getResultCode () -> 19 is: Memcached :: RES_SOME_ER* 1032 R или S *