如何在 Windows 上的 PHP 中使用 Thread
How to use Thread in PHP on Windows
我想在 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();
?>
当我运行它显示的代码时
致命错误:Class 'Thread' 未在第 2 行的 D:\xampp\htdocs\my.php 中找到
提前致谢
您的系统似乎没有安装 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
然后通过在扩展部分添加 extension=php_pthreads.dll
来修改 php.ini
。
您发布的代码是一个基本示例,安装扩展后应该可以立即使用。
我想在 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();
?>
当我运行它显示的代码时
致命错误:Class 'Thread' 未在第 2 行的 D:\xampp\htdocs\my.php 中找到
提前致谢
您的系统似乎没有安装 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
然后通过在扩展部分添加 extension=php_pthreads.dll
来修改 php.ini
。
您发布的代码是一个基本示例,安装扩展后应该可以立即使用。