国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

PHP安裝threads多線程擴展基礎教程

2024-04-25 20:16:37
字體:
來源:轉載
供稿:網友

php5.3或以上,且為線程安全版本。apache和php使用的編譯器必須一致,通過phpinfo()查看Thread Safety為enabled則為線程安全版,通過phpinfo()查看Compiler項可以知道使用的編譯器,本文給大家介紹PHP安裝threads多線程擴展基礎教程,需要的朋友參考下

一、下載pthreads擴展

下載地址:http://windows.php.net/downloads/pecl/releases/pthreads

二、判斷PHP是ts還是nts版

通過phpinfo(); 查看其中的 Thread Safety 項,這個項目就是查看是否是線程安全,如果是:enabled,一般來說應該是ts版,否則是nts版。

三、根據PHP ts/nts版選擇對應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 compiler編譯器編譯的,最后的x86代表的是32位的版本。

四、下載pthreads擴展

下載地址:http://windows.php.net/downloads/pecl/releases/pthreads

五、安裝pthreads擴展

復制php_pthreads.dll 到目錄 bin/php/ext/ 下面。

復制pthreadVC2.dll 到目錄 bin/php/ 下面。

復制pthreadVC2.dll 到目錄 C:/windows/system32 下面。

打開php配置文件php.ini。在后面加上extension=php_pthreads.dll

提示!Windows系統需要將 pthreadVC2.dll 所在路徑加入到 PATH 環境變量中。我的電腦--->鼠標右鍵--->屬性--->高級--->環境變量--->系統變量--->找到名稱為Path的--->編輯--->在變量值最后面加上pthreadVC2.dll的完整路徑(本人的為C:/WINDOWS/system32/pthreadVC2.dll)。

六、添加thread類

  1. <?php 
  2. class Thread 
  3.   var $hooks = array(); 
  4.   var $args = array(); 
  5.   function thread() 
  6.   { 
  7.   } 
  8.   function addthread($func
  9.   { 
  10.     $args = array_slice(func_get_args(), 1); 
  11.     $this->hooks[] = $func
  12.     $this->args[] = $args
  13.     return true; 
  14.   } 
  15.   function runthread() 
  16.   { 
  17.     if(isset($_GET['flag'])) 
  18.     { 
  19.       $flag = intval($_GET['flag']); 
  20.     } 
  21.     if($flag || $flag === 0) 
  22.     { 
  23.       call_user_func_array($this->hooks[$flag], $this->args[$flag]); 
  24.     } 
  25.     else 
  26.     { 
  27.       for($i = 0, $size = count($this->hooks); $i < $size$i++) 
  28.       { 
  29.         $fp=fsockopen($_SERVER['HTTP_HOST'],$_SERVER['SERVER_PORT']); 
  30.         if($fp
  31.         { 
  32.           $out = "GET {$_SERVER['PHP_SELF']}?flag=$i HTTP/1.1rn"
  33.           $out .= "Host: {$_SERVER['HTTP_HOST']}rn"
  34.           $out .= "Connection: Closernrn"
  35.           fputs($fp,$out); 
  36.           fclose($fp); 
  37.         } 
  38.       } 
  39.     } 
  40.   } 

七、測試pthreads擴展

  1. include('thread.php'); 
  2. class AsyncOperation extends Thread { 
  3.   public function __construct($arg){ 
  4.     $this->arg = $arg
  5.   } 
  6.   public function run(){ 
  7.     if($this->arg){ 
  8.       printf("Hello %s/n"$this->arg); 
  9.     } 
  10.   } 
  11. $thread = new AsyncOperation("World"); 
  12. if($thread->start()) 
  13.   $thread->join(); 

以上內容給大家介紹了PHP安裝threads多線程擴展基礎教程,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿勒泰市| 乐东| 苏尼特左旗| 桐城市| 泉州市| 台北县| 河曲县| 太康县| 屯留县| 勃利县| 昌平区| 张北县| 溧水县| 红原县| 托里县| 青神县| 永春县| 万州区| 柘荣县| 乌鲁木齐市| 嘉善县| 遵义县| 舞钢市| 西城区| 白山市| 桐庐县| 仁怀市| 镇雄县| 延安市| 东城区| 察哈| 前郭尔| 汝南县| 长垣县| 喀喇沁旗| 维西| 牙克石市| 仙居县| 遂川县| 阳西县| 湘乡市|