linux如何安裝phpthread擴展

本篇內(nèi)容主要講解“l(fā)inux如何安裝php thread擴展”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“l(fā)inux如何安裝php thread擴展”吧!

創(chuàng)新互聯(lián)公司2013年至今,先為彭州等服務(wù)建站,彭州等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為彭州企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

linux安裝php thread擴展的方法:1、在lnmp安裝目錄中找到lnmp.conf文件;2、在“PHP_Modules_Options”里添加“--enable-maintainer-zts”;3、編譯pthreads即可。

linux如何安裝php thread擴展

本文操作環(huán)境:Ubuntu 16.04系統(tǒng)、PHP7.1版、DELL G3電腦

linux怎么安裝php thread擴展?

Ubuntu 下 PHP 安裝 pthreads 擴展:

pthreads 是一個PHP使用多線程的擴展。這里就不再過多介紹了,相信既然都已經(jīng)做過了解,不了解直接看文檔吧。

文檔地址:https://www.php.net/manual/zh/book.pthreads.php

這里就講講安裝過程吧,有些曲折,也查閱了很多資料,才正式安裝上。寫出來自己做個記錄,也給后來的朋友一個參考少踩一些坑。

安裝環(huán)境

  • Ubuntu 16.04 LTS

  • Lnmp 1.4 - - 相信很多人都在用這個

  • pthreads 源碼

這里需要注意,這個擴展通過 pecl install pthreads 是安裝不成功的。需要自己下載源碼編譯安裝并且,只能從 GitHub 主干分支上下載。其它的源碼貌似都有問題,我就最開始就是從 http://pecl.php.net 下載,但是編譯老是失敗。后來查詢資料說是有問題。需要從 GitHub 下載才行。

GitHub: https://github.com/krakjoe/pthreads

配置PHP環(huán)境

默認(rèn)大家都是已經(jīng)將 lnmp 環(huán)境安裝好的,還沒安裝好的話,請出門左轉(zhuǎn) Google 一下。
因 pthreads 需要PHP已線程安全的方式運行,所以在編譯PHP的時候需要加上 --enable-maintainer-zts 但是 lnmp 集成包默認(rèn)是線程不安全的。

這里到你的 lnmp 安裝目錄,找到一個 lnmp.conf 文件

linux如何安裝php thread擴展

在 PHP_Modules_Options 里添加  --enable-maintainer-zts 就是我截圖一樣。

編譯PHP

  1. 新裝環(huán)境,直接按照 lnmp 的按照流程一步步按照就好。安裝完成之后php 就是線程安全的了。

  2. 已安裝好的lnmp 環(huán)境這里我們可以使用 lnmp 提供的升級腳本,將php升級一下(PS:腳本沒有檢測當(dāng)前版本號,如果我們輸入當(dāng)前的版本號,就是重新安裝PHP)操作完成。

  3. ** 手動編譯PHP ** 進入 lnmp1.4-full/src 目錄(根據(jù)自己的實際情況),我的目錄在 /home/src/lnmp1.4-full/src 看看有沒有php 的壓縮包,如果沒有自己下載一個

sudo wget http://cn2.php.net/distributions/php-7.0.20.tar.bz2
tar -jxvf php-7.0.20.tar.bz2

注:地址可以自己去php官網(wǎng)獲取,我這里給出的,是當(dāng)前可用的。

繼續(xù):

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-MySQLnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-intl --enable-pcntl --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-xsl --enable-maintainer-zts
make
sudo make install

這段代碼是從 lnmp1.4-full/include/php.sh 里面摘出來的,大家可以自己去研究一下。
打開phpinfo();

linux如何安裝php thread擴展

確認(rèn) Thread Safety 是 enabled 狀態(tài).

編譯pthreads 關(guān)鍵時刻來了

將 pthreads 源碼包放到 php 源碼的 ext 目錄,我的目錄在:lnmp1.4-full\src\php-7.0.19\ext [根據(jù)自己情況調(diào)整]
進入 pthreads 目錄

phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
sudo make install

php-config 路徑根據(jù)自身情況調(diào)整。如果用的是 lnmp 默認(rèn)的話,就是這了

執(zhí)行到這里就應(yīng)該會出現(xiàn) 提示 pthreads.so 編譯成功的提示。如果沒有,請檢查之前的步驟。

配置php.ini

網(wǎng)上一般的教程到此處之后就會說:將 pthreads.so 加入php.ini 文件重啟 php-fpm 就完事了。
此處是一坑。你如果直接加入 php.ini 會發(fā)現(xiàn)php-fpm 啟動不了了,提示無法加載 pthreads.so

正確的姿勢:
將 php.ini 復(fù)制一份 命名 php-cli.ini
將 pthreads.so 放到 php.cli.ini 里面
然后 php -m | grep pthreads  看看是不是已經(jīng)出現(xiàn)了。

到這里才能算是完成了。

注意: pthreads不要在生產(chǎn)環(huán)境用有bug,自己玩玩,跑跑命令行任務(wù)可以。通過最后的安裝你也發(fā)現(xiàn)了,只能通過 cli 方式運行。哈哈哈哈。

最后提示一下,windows 安裝 pthreads 包里面有很多 demo 可以看。

到此,相信大家對“l(fā)inux如何安裝php thread擴展”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

文章名稱:linux如何安裝phpthread擴展
URL標(biāo)題:http://bm7419.com/article30/jciepo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、微信公眾號手機網(wǎng)站建設(shè)面包屑導(dǎo)航、服務(wù)器托管、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)