我正在尝试使用xampp在php中使用pthreads。我正在使用Windows。按照http://php.net/manual/en/class.thread.php中提供的步骤进行安装。
这是我正在尝试编译的示例代码:
class Task extends Threaded
{
public $response;
public function someWork()
{
$content = file_get_contents('http://google.com');
preg_match('~<title>(.+)</title>~', $content, $matches);
$this->response = $matches[1];
}
}
$task = new Task;
$thread = new class($task) extends Thread {
private $task;
public function __construct(Threaded $task)
{
$this->task = $task;
}
public function run()
{
$this->task->someWork();
}
};
$thread->start() && $thread->join();
var_dump($task->response);
//phpinfo();
这是我得到的错误:
致命错误:未找到类'Threaded' 第2行的C:\ xampp \ htdocs \ practice \ thread1.php。
我尝试了相同的解决方案 - &gt; PHP pthreads: Fatal error: Class 'Thread' not found
我尝试比较PHP Extension Build版本(VC14)和pthread版本(发现它们是相同的)。线程安全也已启用。我还尝试将pthread_VC2.dll
文件加载到httpd.conf
for Apache server。
但没有任何效果。请给我一个解决方案。
答案 0 :(得分:0)
该行
class Task extends Threaded
应改为
class Task extends Thread
如第一个例子所示
class workerThread extends Thread
PHP.net Site 上的