Совсем немного о многопроцессовости в PHP

Только ключевые моменты:

– магия происходит с помощью функции pcntl_fork.

– работает только в CGI и CLI-режимах

– немного кода

$pid = pcntl_fork();
// создался дочерний процесс, все просто
// но дальше основная магия: выполнение едет в 2 независимых потока
// и все что будет дальше выполнится 2 раза
// резонный вопрос: как нам определить основной потом и дочерний
// а вот так:
if ($pid == -1) {
    //функции не удалось создать поток - ошибка
} elseif ($pid) {
    //если идентификатор есть - это родительский поток
} else {
    //если нет - соответственно дочерний
}
i++; //а этот код будет выполнен обеими потоками

– теперь пример

$pid = pcntl_fork();
if ($pid == -1) {
     die('Error of pcntl_fork');
} elseif ($pid) {
    echo '[first]';
} else {
    echo '[second]';
}
echo '[both]';

Выполним через командную строку:

$ php fork.php
[first][both][second][both]

Вот такой вот порядок.