這篇文章主要介紹了PHP7多線程搭建教程,需要的朋友可以參考下
一直想寫個爬蟲,於是就用PHP寫了一個,眾所周知PHP並不支持多線程,所以爬行效率很低,同時運行10個進程,記憶體和CPU佔用率很高,開大概10個進程爬行,對爬行時間還優化,但我的mac pro還是差不多就down掉了。於是開始採用PHP7結合pthreads多執行緒工具,經測試,穩定性、效率、記憶體和cpu的佔用各方面都很滿意。下邊就介紹PHP7的多執行緒環境建置。
安裝PHP7
以下所有指令在root用戶下執行下載PHP7,目前最新版本是7.0.3,根據情況自行選擇版本,PHP5.4以後的各版本也是支援的。
wget http://ar2.php.net/get/php-7.0.3.tar.gz/from/this/mirror -O php.tar.gz tar xvfz php.tar.gz cd php
編譯安裝。
選項自行選擇,可以讓PHP多版本共存。但maintainer-zts是必須的,如果只做爬蟲,除了curl,其它擴充基本上不用安裝。遇到無法安裝的自行查找解決,例如我安裝的時候遇到iconv沒有找到,那直接就without了。
./configure --prefix=/usr/local/php7 --without-iconv --enable-maintainer-zts --with-curl make make install
安裝完成
然後開始安裝pthreads。用pecl安裝是超級簡單的。
cd /usr/local/php7/bin ./pecl install pthreads
安裝完成
#設定檔
在/usr /local/php7/lib/目錄下新建php.ini文件,初始文件可在php源碼的根目錄找到php.ini-production 然後編輯php.ini,在末尾增加
extension="pthreads.so"
安裝完成
查看安裝是否成功
運行
#/usr/local/php7/bin/php -m
<?php $thread = new class extends Thread { public function run() { echo "Hello World\n"; } }; $thread->start() && $thread->join(); ?>
以上是PHP7多執行緒搭建教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!