Heim > Backend-Entwicklung > PHP-Tutorial > PHP installiert Threads-Multithread-Erweiterung

PHP installiert Threads-Multithread-Erweiterung

WBOY
Freigeben: 2016-07-29 09:11:48
Original
915 Leute haben es durchsucht

php5.3 oder höher, und es ist eine Thread-sichere Version. Die von Apache und PHP verwendeten Compiler müssen konsistent sein.
Überprüfen Sie die Thread-Sicherheit über phpinfo(). Wenn diese Option aktiviert ist, handelt es sich um eine Thread-sichere Version.
Sie können den verwendeten Compiler ermitteln, indem Sie das Compiler-Element über phpinfo() anzeigen. Meins ist: MSVC9 (Visual C 2008).

1. Laden Sie die pthreads-Erweiterung herunter
Download-Adresse: http://windows.php.net/downloads/pecl/releases/pthreads

2. Installieren Sie die pthreads-Erweiterung
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. Arbeitsplatz--->rechte Maustaste--->Eigenschaften--->Erweitert--->Umgebungsvariablen--->Systemvariablen--->Suchen Sie den Namen Pfade --->Bearbeiten--->Fügen Sie den vollständigen Pfad von pthreadVC2.dll am Ende des Variablenwerts hinzu (meiner ist C:WINDOWSsystem32pthreadVC2.dll).

3. Thread-Klasse hinzufügen

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

4. Pthreads-Erweiterung testen

include('thread.php');<br />class AsyncOperation extends Thread {<br />    public function __construct($arg){<br />        $this->arg = $arg;<br>    }<br>    public function run(){<br>        if($this->arg){<br>            printf("Hello %s\n", $this->arg);<br>        }<br>    }<br>}<br>$thread = new AsyncOperation("World");<br>if($thread->start())<br>    $thread->join();<br>
Nach dem Login kopieren

Das Obige stellt die Installation der Thread-Multithread-Erweiterung in PHP vor, einschließlich des Inhalts auf meinem Computer. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

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 Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage