linux安裝php thread擴充的方法:1、在lnmp安裝目錄中找到lnmp.conf檔;2、在「PHP_Modules_Options」裡加入「--enable-maintainer-zts」;3、編譯pthreads即可。
本文操作環境: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環境
預設大家都是已經將lnmp 環境安裝好的,還沒安裝好的話,請出門左轉Google 一下。
因 pthreads 需要PHP已執行緒安全的方式運行,所以在編譯PHP的時候需要加上 --enable-maintainer-zts 但是 lnmp 整合包預設是執行緒不安全的。
這裡到你的lnmp 安裝目錄,找到一個lnmp.conf 檔案
在PHP_Modules_Options 裡加入 --enable-maintainer-zts 就是我截圖一樣。
編譯PHP
- 新組裝環境,直接按照 lnmp 的按照流程一步步按照就好。安裝完成之後php 就是線程安全的了。
- 已安裝好的lnmp 環境 這裡我們可以使用lnmp 提供的升級腳本,將php升級一下(PS:腳本沒有偵測目前版本號,如果我們輸入目前的版本號,就是重新安裝PHP)操作完成。
- ** 手動編譯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();
確認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中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

禪工作室 13.0.1
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1
好用且免費的程式碼編輯器