您好,登錄后才能下訂單哦!
本篇內容主要講解“linux如何安裝php thread擴展”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“linux如何安裝php thread擴展”吧!
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
默認大家都是已經將 lnmp 環境安裝好的,還沒安裝好的話,請出門左轉 Google 一下。
因 pthreads 需要PHP已線程安全的方式運行,所以在編譯PHP的時候需要加上 --enable-maintainer-zts 但是 lnmp 集成包默認是線程不安全的。
這里到你的 lnmp 安裝目錄,找到一個 lnmp.conf 文件
在 PHP_Modules_Options 里添加 --enable-maintainer-zts 就是我截圖一樣。
新裝環境,直接按照 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 源碼包放到 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 編譯成功的提示。如果沒有,請檢查之前的步驟。
網上一般的教程到此處之后就會說:將 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 可以看。
到此,相信大家對“linux如何安裝php thread擴展”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。