Installation PHP_PThreads

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

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

Charger l’extension

Extra

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

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();
}