>  기사  >  php教程  >  PHP에서 스레드 다중 스레드 확장 설치에 ​​대한 기본 튜토리얼

PHP에서 스레드 다중 스레드 확장 설치에 ​​대한 기본 튜토리얼

高洛峰
高洛峰원래의
2016-12-21 11:54:291399검색

1. pthread 확장 프로그램 다운로드

다운로드 주소: http://windows.php.net/downloads/pecl/releases/pthreads

2. PHP가 ts 버전인지 nts 버전인지 확인하세요.

phpinfo();를 통해 Thread Safety 항목을 확인합니다. 이 항목은 thread safe한지 확인하는 것입니다. 활성화된 경우 일반적으로 ts 버전이어야 하며, 그렇지 않으면 nts 버전입니다.

3. PHP tsnts 버전에 따라 해당 pthreads 버전을 선택합니다

제 PHP 버전은 5.4.17이므로 php_pthreads-0.1.0-5.4-ts-vc9-x86을 다운로드합니다. zip 파일 패키지, 여기서 0.1.0은 현재 pthreads 버전 번호를 나타내고, 5.4는 PHP 버전 번호를 나타내며, ts는 이전에 PHP에 해당한다고 판단된 ts 및 nts 버전을 나타내고, vs9는 Visual Studio 2008 컴파일러로 컴파일된 버전을 나타냅니다. 마지막 x86은 32비트 버전을 나타냅니다.

4. pthreads 확장 다운로드

다운로드 주소: http://windows.php.net/downloads/pecl/releases/pthreads

5. >

php_pthreads.dll을 binphpext 디렉터리에 복사합니다.

pthreadVC2.dll을 binphp 디렉터리에 복사합니다.
pthreadVC2.dll을 C:windowssystem32 디렉터리에 복사합니다.
php 구성 파일 php.ini를 엽니다. 마지막에 Extension=php_pthreads.dll
프롬프트를 추가하세요! Windows 시스템은 PATH 환경 변수에 pthreadVC2.dll 경로를 추가해야 합니다. 내 컴퓨터--->마우스 오른쪽 버튼--->속성--->고급--->환경 변수--->시스템 변수--->Path라는 경로 찾기---> ;편집--->변수 값 끝에 pthreadVC2.dll의 전체 경로를 추가합니다(내 경로는 C:WINDOWSsystem32pthreadVC2.dll입니다).

6. 스레드 클래스 추가

<?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. pthread 확장

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();
테스트 및 위 내용은 PHP에서 스레드 다중 스레드 확장 설치에 ​​대한 기본 튜토리얼을 소개합니다. 마음에 드셨으면 좋겠습니다.

PHP 설치 스레드 멀티 스레드 확장 기본 튜토리얼과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.