я знаю, что, когда я разветвляю процесс, дочерний процесс получает новую копию памяти, я могу получить доступ к родительским переменным, но не могу изменить.
<?php
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
$b = "XXX";
// we are the parent
} else {
// we are the child
echo $b; // prints XXX
$b = "YYY"; // only changes $b in the child, $b in parent isn't affected
}
?>
как я могу отправить сообщение от ребенка к родителю? мне нужно отправить структуру массива
Поскольку это два отдельных процесса, прямого способа общения не существует. Вы можете попросить ребенка сохранить информацию в общедоступном месте, и при этом родительский элемент будет оттуда извлечен. (Например, с помощью базы данных или файла)
Конечно, это приведет вас вглубь территории многопоточного программирования со всеми связанными с этим проблемами.
Других решений пока нет …