There are situations when we need to make our one-process task into a multi-process task so that we can take advantage of the operating system’s multitasking capabilities.
The basic conceptual difference between multiprocessing and multithreading– A process, is a unique instance of a program with its own memory space, own process ID number etc. Whereas a thread can be thought of as a virtual process, it does not have its own process ID, does not have its own memory space, but is still able to take advantage of multitasking.
I do agree that PHP is not that good for parallel computing, and PHP is not designed to do that actually. We can do better job using some other languages or technologies.
But the basic point is- there is a simple way to use PHP to handle multiprocessing at the basic level; In Unix, forking a process is quite fast and easier to handle, and PHP is able to fork processes at the run time, hence it can be used at the basic level at least.
A very simple use case of the same-
$ time php ImageResizerSingleProcess.php
$ time php ImageResizerMultiProcess.php
Interesting, see the difference.