Рейтинг:
4
Thomas Daniels
К несчастью, страница установки pcntl[^] скажет:
Цитата:
В настоящее время этот модуль не будет функционировать на платформах, отличных от Unix (Windows).
Kepiting Bula
Я имею в виду решение на этом форуме, но это как unix и из ОС windows, больше никаких предложений
Thomas Daniels
Это все, что я могу найти.:
https://stackoverflow.com/questions/2458005/forking-in-php-on-windows
Kepiting Bula
Эти решения запускают исполняемые файлы windows внутри php-файлов, любое предложение
Thomas Daniels
Суть в том, что вы имитируете вилку, запустив тот же процесс, что и текущий. Но у меня самого нет опыта в этом деле.
Kepiting Bula
Я вижу, вы говорите, что это не работает с ОС windows, и запущенный процесс-это один или тот же процесс, но список кода не тот же самый
Thomas Daniels
Да, понятие "разветвление" на самом деле не существует в Windows.
Kepiting Bula
любое предложение,
Thomas Daniels
Больше нет, я дал вам ссылку, которая могла бы помочь найти ближайшую возможную альтернативу, но других ресурсов я не нашел.
Я также не знаю, что хочет сделать ваш код, возможно, есть альтернатива разветвлению, и вам вообще не нужно разветвляться. Но я ничего не могу сказать об этом, если не знаю вашего варианта использования.
Kepiting Bula
мой вариант использования
$pid = pcntl_fork();
if ($pid == -1) {
die("ERROR");
}
else if ($pid == 0) {
head($argv[2]);
exit(0);
}
else {
$pids[] = $pid;
}
}
foreach ($pids as $pid) {
pcntl_waitpid($pid, $status);
}
}
Я пытаюсь измениться:
else if ($pid == 0) {
head($argv[2]);
if ($pid == 0)
head($argv[1]);
exit(0);
Thomas Daniels
Я не думаю, что знаю достаточно о pcntl_fork, чтобы знать, что именно делает этот скрипт, не говоря уже о том, чтобы предложить альтернативу... так что извините, я не думаю, что смогу вам помочь дальше.
Kepiting Bula
не забывай и учись вместе
Kepiting Bula
Спасибо за справку