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

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

高洛峰
Freigeben: 2016-12-21 11:54:29
Original
1406 Leute haben es durchsucht

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);
        }
      }
    }
  }
}
Nach dem Login kopieren


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();
Nach dem Login kopieren

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!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage