Как использовать Thread в PHP на Windows

0

Я хочу использовать поток в PHP. Я использую окна. Что нужно сделать для этого. Вот код, который я запускаю.

<?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' не найден в D:\xampp\htdocs\my.php в строке 2

заранее спасибо

Теги:
installation
multithreading

1 ответ

2
Лучший ответ

Похоже, что расширение pthreads не установлено в вашей системе. Это пользовательское расширение PHP не по умолчанию, установленное с XAMPP. Иди сюда.

Вы найдете версии pthread для Windows по адресу http://windows.php.net/downloads/pecl/releases/pthreads/

Добавьте pthreadVC2.dll в тот же каталог, что и php.exe, например C:\xampp\php Добавьте php_pthreads.dll в папку расширения PHP, например. C:\xampp\php\ext

Затем измените php.ini, добавив extension=php_pthreads.dll в раздел расширения.

Выведенный вами код является основным примером, который должен работать прямо из коробки при установке расширения.


И положительный результат: Видео Джо Уоткинса, объясняющее "Параллельный PHP",

  • 1
    Я просто сделал то, что вы сказали мне сделать. но все равно показывает ту же ошибку. Есть ли что-то еще, что мне нужно установить? Я использую XAMPP 5.6.3 и скачал php_pthreads-2.0.9-5.6-ts-vc11-x86.zip и вставил два указанных файла в определенную папку.
  • 1
    Да. Вам нужно изменить php.ini - раздел расширений и включить туда php_ptreads.dll. Просто найдите ".dll" в php.ini. и добавить его внизу.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню