摘要:簡(jiǎn)介是一組允許用戶在中使用多線程技術(shù)的面向?qū)ο蟮?。它提供了?chuàng)建多線程應(yīng)用所需的全套工具,無論是應(yīng)用還是控制臺(tái)應(yīng)用。通過使用,以及對(duì)象,應(yīng)用可以創(chuàng)建讀取寫入以及執(zhí)行多線程應(yīng)用,并可以在多個(gè)線程之間進(jìn)行同步控制。
簡(jiǎn)介
pthreads 是一組允許用戶在 PHP 中使用多線程技術(shù)的面向?qū)ο蟮?API。 它提供了創(chuàng)建多線程應(yīng)用所需的全套工具,無論是 Web 應(yīng)用還是控制臺(tái)應(yīng)用。 通過使用 Thread, Worker 以及 Threaded 對(duì)象,PHP 應(yīng)用可以創(chuàng)建、讀取、寫入以及執(zhí)行多線程應(yīng)用,并可以在多個(gè)線程之間進(jìn)行同步控制。
安裝Mac下安裝軟件可以通過homebrew命令來執(zhí)行,如果沒有brew需要先安裝.php安裝pthreads擴(kuò)展需要先保證thread safety
下載pthreads最好通過github安裝,據(jù)說官方版本在make時(shí)有問題
github: GItHub地址
問題1
Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303 Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.
說明
如果在編譯時(shí)遇到這個(gè)問題,說明是沒有安裝autoconf,此時(shí)當(dāng)前目錄下是不會(huì)生成configure文件的。
解決
brew install m4
問題2
checking for ZTS... configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled
說明
編譯php的時(shí)候沒有加入 --enable-maintainer-zts ,這個(gè)必須要重新編譯php,不能動(dòng)態(tài)加載的!
解決
重新編譯了php,在原來的編譯參數(shù)基礎(chǔ)上那個(gè)加入了 --enable-maintainer-zts ,重新編譯安裝php。
在php.ini中加入:
extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-zts-20100525" ##必須和你的目錄相對(duì)應(yīng)!
問題3
NOTICE: PHP message: PHP Fatal error: The fpm-fcgi SAPI is not supported by pthreads in Unknown Fatal error: The fpm-fcgi SAPI is not supported by pthreads in Unknown NOTICE: PHP message: PHP Fatal error: Unable to start pthreads module in Unknown Fatal error: Unable to start pthreads module in Unknown
說明
pthreads3只支持通過cli命令行模式來調(diào)用,不支持其他模式,因此在啟動(dòng)php-fpm進(jìn)程時(shí)會(huì)報(bào)錯(cuò)。
解決
cli模式下,php會(huì)優(yōu)先讀取php-cli。ini,如果沒有找到會(huì)使用php.ini。通過 php --ini 查看php配置文件,復(fù)制php.ini放在同樣目錄下命名為php-cli.ini。然后將php.ini中對(duì)pthreads的引用注釋
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25803.html
摘要:它包含了你創(chuàng)建多線程應(yīng)用的全部工具,當(dāng)然無論是還是控制臺(tái)程序。任何想要應(yīng)用在程序里面的多線程應(yīng)用必須都是繼承于這幾個(gè)實(shí)用類以上版本取消了類。 不分享,做一切! php擁有令人敬畏的且數(shù)量龐大的擴(kuò)展跟特征,但是php當(dāng)初設(shè)計(jì)這門語言的時(shí)候,是因?yàn)槟莻€(gè)時(shí)候的web網(wǎng)站遠(yuǎn)遠(yuǎn)沒有今天的強(qiáng)大!現(xiàn)在幾乎所有的網(wǎng)站(含手機(jī)站)服務(wù)器都是多核的,如果不是多CPU跟多核,PHP是無法提供更好的服務(wù)的。雖...
摘要:餓了,沒有力氣寫代碼了。該對(duì)象有如下方法。五一再研究研究。。預(yù)定義常量線程的默認(rèn)選項(xiàng)。線程開始的時(shí)候,擴(kuò)展會(huì)將環(huán)境復(fù)制到線程上下文中。新線程開始時(shí),僅繼承配置。允許新線程向標(biāo)準(zhǔn)輸出發(fā)送頭信息通常情況下是被禁止的。 餓了,沒有力氣寫代碼了。馬上五一來臨。學(xué)一下多線程。pthread擴(kuò)展的安裝,就不說了。
閱讀 641·2023-04-25 18:37
閱讀 2799·2021-10-12 10:12
閱讀 8387·2021-09-22 15:07
閱讀 578·2019-08-30 15:55
閱讀 3187·2019-08-30 15:44
閱讀 2207·2019-08-30 15:44
閱讀 1637·2019-08-30 13:03
閱讀 1572·2019-08-30 12:55