如何在 Windows 上的 PHP 中使用线程

moi*_*l15 3 php installation multithreading

我想在 PHP 中使用线程。我正在使用 windows 。需要做什么才能做到这一点。这是我正在运行的代码。

<?php
class AsyncOperation extends Thread {
  public function __construct($arg){
    $this->arg = $arg;
  }

  public function run(){
    if($this->arg){
      printf("Hello %s\n", $this->arg);
    }
  }
}
$thread = new AsyncOperation("World");
if($thread->start())
  $thread->join();
?>
Run Code Online (Sandbox Code Playgroud)

当我运行它显示的代码时

致命错误:在第 2 行的 D:\xampp\htdocs\my.php 中找不到“线程”类

提前致谢

Jen*_*och 5

您的系统上似乎没有安装 pthreads 扩展。它是一个自定义的 PHP 扩展,默认情况下不随 XAMPP 一起安装。去取吧

您可以在http://windows.php.net/downloads/pecl/releases/pthreads/找到适用于 Windows 的 pthread 版本

添加pthreadVC2.dll到与 相同的目录php.exe,例如C:\xampp\php 添加php_pthreads.dll到 PHP 扩展文件夹,例如。C:\xampp\php\ext

然后php.ini通过添加extension=php_pthreads.dll扩展部分进行修改。

您发布的代码是一个基本示例,安装扩展程序后,它应该可以立即使用。


还有一个好东西: Joe Watkins 解释“并行 PHP”的视频