Heim  >  Artikel  >  php教程  >  Grundlegendes Tutorial zur Installation der Threads-Multithread-Erweiterung in PHP

Grundlegendes Tutorial zur Installation der Threads-Multithread-Erweiterung in PHP

高洛峰
高洛峰Original
2016-12-21 11:54:291376Durchsuche

1. pthreads-Erweiterung herunterladen

Download-Adresse: http://windows.php.net/downloads/pecl/releases/pthreads

2. Bestimmen Sie, ob es sich bei PHP um eine ts- oder nts-Version handelt

Überprüfen Sie das Thread-Sicherheitselement über phpinfo();. Mit diesem Element wird überprüft, ob es Thread-sicher ist. Im Allgemeinen sollte es sich um die ts-Version handeln.

3. Wählen Sie die entsprechende pthreads-Version entsprechend der PHP-tsnts-Version

Meine PHP-Version ist 5.4.17, also laden Sie php_pthreads-0.1.0-5.4-ts-vc9-x86 herunter. ZIP-Dateipaket, wobei 0.1.0 die aktuelle pthreads-Versionsnummer darstellt, 5.4 die PHP-Versionsnummer darstellt, ts die ts- und nts-Versionen sind, die zuvor als mit PHP übereinstimmend beurteilt wurden, vs9 die vom Visual Studio 2008-Compiler kompilierte Version darstellt, und das letzte x86 stellt eine 32-Bit-Version dar.

4. pthreads-Erweiterung herunterladen

Download-Adresse: http://windows.php.net/downloads/pecl/releases/pthreads

5. pthreads-Erweiterung installieren

Kopieren Sie php_pthreads.dll in das Verzeichnis binphpext.
Kopieren Sie pthreadVC2.dll in das Verzeichnis binphp.
Kopieren Sie pthreadVC2.dll in das Verzeichnis C:windowssystem32.
Öffnen Sie die PHP-Konfigurationsdatei php.ini. Fügen Sie am Ende die Eingabeaufforderung extension=php_pthreads.dll
hinzu! Windows-Systeme müssen den Pfad von pthreadVC2.dll zur Umgebungsvariablen PATH hinzufügen. Mein Computer--->rechte Maustaste--->Eigenschaften--->Erweitert--->Umgebungsvariablen--->Systemvariablen--->Suchen Sie den Pfad mit dem Namen Path---> ;Bearbeiten--->Fügen Sie den vollständigen Pfad von pthreadVC2.dll am Ende des Variablenwerts hinzu (meiner ist C:WINDOWSsystem32pthreadVC2.dll).

6. Thread-Klasse hinzufügen

<?php
class Thread
{
  var $hooks = array();
  var $args = array();
  function thread()
  {
  }
  function addthread($func)
  {
    $args = array_slice(func_get_args(), 1);
    $this->hooks[] = $func;
    $this->args[] = $args;
    return true;
  }
  function runthread()
  {
    if(isset($_GET[&#39;flag&#39;]))
    {
      $flag = intval($_GET[&#39;flag&#39;]);
    }
    if($flag || $flag === 0)
    {
      call_user_func_array($this->hooks[$flag], $this->args[$flag]);
    }
    else
    {
      for($i = 0, $size = count($this->hooks); $i < $size; $i++)
      {
        $fp=fsockopen($_SERVER[&#39;HTTP_HOST&#39;],$_SERVER[&#39;SERVER_PORT&#39;]);
        if($fp)
        {
          $out = "GET {$_SERVER[&#39;PHP_SELF&#39;]}?flag=$i HTTP/1.1rn";
          $out .= "Host: {$_SERVER[&#39;HTTP_HOST&#39;]}rn";
          $out .= "Connection: Closernrn";
          fputs($fp,$out);
          fclose($fp);
        }
      }
    }
  }
}


7. Pthreads-Erweiterung testen

include(&#39;thread.php&#39;);
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();

und Der obige Inhalt führt Sie in das grundlegende Tutorial zur Installation der Threads-Multithread-Erweiterung in PHP ein. Ich hoffe, es gefällt Ihnen.

Weitere Artikel zum grundlegenden Tutorial zu PHP-Installationsthreads und Multithread-Erweiterungen finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn