Installation PHP_PThreads

1. Déterminer le dossier des extensions et la version 32/64

2. Télécharger et copier les fichiers

ATTENTION, C’EST GALÈRE DE TROUVER UNE VERSION FONCTIONNELLE

SOUS PHP 7.x pthreads ne fonctionne pas en CGI SAPI (interface web, http headers) mais strictement en CLI SAPI (ligne de commandes) : https://github.com/krakjoe/pthreads/issues/626#issuecomment-259657842

Pour PHP 5.x : http://windows.php.net/downloads/pecl/releases/pthreads/2.0.7/php_pthreads-2.0.7–5.6-ts-vc11-x64.zip

3. Charger l’extension

4. Extra

GitHub du développeur : https://github.com/krakjoe/pthreads

4.1. Example

<?php

class WorkerThreads extends Thread {
   private $workerId; 
   public function __construct($id) { $this->workerId = $id; }
   public function run() { sleep(rand(0, 3)); echo "Worker {$this->workerId} ran<br/>"; }
}

$workers = [];
foreach (range(0, 5) as $i) {
   $workers[$i] = new WorkerThreads($i);
   $workers[$i]->start();
}

foreach (range(0, 5) as $i) {
   $workers[$i]->join();
}