首頁  >  文章  >  後端開發  >  linux怎麼安裝php thread擴充

linux怎麼安裝php thread擴充

藏色散人
藏色散人原創
2021-10-26 10:29:452761瀏覽

linux安裝php thread擴充的方法:1、在lnmp安裝目錄中找到lnmp.conf檔;2、在「PHP_Modules_Options」裡加入「--enable-maintainer-zts」;3、編譯pthreads即可。

linux怎麼安裝php thread擴充

本文操作環境:Ubuntu 16.04系統、PHP7.1版、DELL G3電腦

linux怎麼安裝php thread擴充?

Ubuntu 下 PHP 安裝 pthreads 擴充功能:

pthreads 是一個PHP使用多執行緒的擴充功能。這裡就不再太多介紹了,相信既然都已經做過了解,不了解直接看文件吧。

文件網址:https://www.php.net/manual/zh/book.pthreads.php

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

安裝環境

  • Ubuntu 16.04 LTS
  • Lnmp 1.4 - - 相信很多人都在用這個
  • #pthreads 原始碼

這裡要注意,這個擴充功能透過pecl install pthreads 是安裝不成功的。需要自行下載原始碼編譯安裝並且,只能從 GitHub 主幹分支下載。其它的原始碼似乎都有問題,我就最開始就是從 http://pecl.php.net 下載,但編譯老是失敗。後來查詢資料說有問題。需要從 GitHub 下載才行。

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

設定PHP環境

預設大家都是已經將l​​nmp 環境安裝好的,還沒安裝好的話,請出門左轉Google 一下。
因 pthreads 需要PHP已執行緒安全的方式運行,所以在編譯PHP的時候需要加上 --enable-maintainer-zts 但是 lnmp 整合包預設是執行緒不安全的。

這裡到你的lnmp 安裝目錄,找到一個lnmp.conf 檔案

linux怎麼安裝php thread擴充

在PHP_Modules_Options 裡加入 --enable-maintainer-zts 就是我截圖一樣。

編譯PHP

  1. 新組裝環境,直接按照 lnmp 的按照流程一步步按照就好。安裝完成之後php 就是線程安全的了。
  2. 已安裝好的lnmp 環境 這裡我們可以使用lnmp 提供的升級腳本,將php升級一下(PS:腳本沒有偵測目前版本號,如果我們輸入目前的版本號,就是重新安裝PHP)操作完成。
  3. ** 手動編譯PHP ** 進入lnmp1.4-full/src 目錄(根據自己的實際情況),我的目錄在/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官網獲取,我這裡給出的,是目前可用的。

繼續:

./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擴充

確認Thread Safety 是enabled 狀態.

編譯pthreads 關鍵時刻來了

#將pthreads原始碼包放到php 原始碼的ext 目錄,我的目錄在:lnmp1.4-full\src\php-7.0.19\ext [根據自己狀況調整]
進入pthreads 目錄

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

php-config 路徑依自身狀況調整。如果用的是 lnmp 預設的話,就是這了

執行到這裡就應該會出現 提示 pthreads.so 編譯成功的提示。如果沒有,請檢查先前的步驟。

設定php.ini

網路上一般的教學到這裡之後就會說:將 pthreads.so 加入php.ini 檔案重新啟動 php-fpm 就完事了。
此處是一坑。你如果直接加入php.ini 會發現php-fpm 啟動不了了,提示無法載入pthreads.so

正確的姿勢:
將php.ini 複製一份命名php-cli.ini
將pthreads.so 放到php.cli.ini 裡面
然後php -m | grep pthreads  看看是不是已經出現了。

到這裡才能算是完成了。

注意: pthreads不要在生產環境用 有bug,自己玩玩,跑跑命令列任務可以。透過最後的安裝你也發現了,只能透過 cli 方式運作。哈哈哈哈。

最後提示一下,windows 安裝 pthreads 套件裡面有很多 demo 可以看。

windows 版本下載網址:https://windows.php.net/downloads/pecl/releases/pthreads/

建議學習:《PHP影片教學

以上是linux怎麼安裝php thread擴充的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn