php從5.3開始支持多線程pthreads擴(kuò)展,并同時(shí)支持window和linux。
10年積累的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有寶安免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。pthreads可以實(shí)現(xiàn)多任務(wù)同步或異步執(zhí)行,它提供了創(chuàng)建多線程應(yīng)用所需的全套工具,默認(rèn)未安裝。
安裝
window系統(tǒng)下:http://windows.php.net/downloads/pecl/releases/pthreads/
安裝前需要確認(rèn)PHP版本及安裝位數(shù),可使用phpinfo(); Architecture即是當(dāng)前安裝位數(shù)。官方PHP在5.6及以前版本均為32位(兼容64位),所以PHP5可直接下載32位pthreads擴(kuò)展。
說(shuō)明:3.0版本及以上為PHP7專用,3.0版本以下為PHP5專用。
這里以PHP5.5(32位)為例安裝:
選擇2.0.9版本目錄
下載 php_pthreads-2.0.9-5.5-ts-vc11-x86.zip 包并解壓
注意:包名規(guī)則中已經(jīng)包含了pthreads的版本+php版本+底層編譯VC版本,所以下載時(shí)可以按這個(gè)規(guī)則去找。
復(fù)制php_pthreads.dll到PHP擴(kuò)展目錄中。復(fù)制pthreadVC2.dll到PHP安裝根目錄和apache安裝bin目錄下)
打開php.ini配置文件,增加擴(kuò)展 extension=php_pthreads.dll 保存并退出,重啟服務(wù)器
寫代碼測(cè)試。
沒有報(bào)錯(cuò)即安裝成功,如果有報(bào)錯(cuò)提示沒有擴(kuò)展可先phpinfo();查看下擴(kuò)展是否安裝或查看配置文件是否修改錯(cuò)。
linux系統(tǒng)下:http://pecl.php.net/package/pthreads
進(jìn)入PHP安裝bin目錄下執(zhí)行命令:
sudo ./pecl install pthread-2.0.9如果安裝失敗可嘗試安裝低版本,安裝成功后需要修改php.ini文件,增加 extension=pthreads.so ,以開啟pthreads擴(kuò)展。
測(cè)試與window類似。
應(yīng)用
在官方文檔中已經(jīng)有詳細(xì)的說(shuō)明,具體的可以查看文檔中 PHP手冊(cè) >> 函數(shù)參考 >> 進(jìn)程控制擴(kuò)展 >>pthreads
注意:PHP資源類型( PHP 中很多使用到 Resource 資源類型的擴(kuò)展或函數(shù)并未針對(duì)多線程場(chǎng)景進(jìn)行特殊設(shè)計(jì))在多線程中共享會(huì)存在很多問題,大部分資源類型無(wú)法共享如數(shù)據(jù)庫(kù)連接,文件資源等,只有socket,mysqli 等少量資源類型可以共享!
很多示例可以在github上查看:https://www.github.com/krakjoe/pthreads examples目錄中。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。