- 相關(guān)推薦
PHP7多線程搭建教程詳解
一直想寫個(gè)爬蟲,于是就用PHP寫了一個(gè),眾所周知PHP并不支持多線程,所以爬行效率很低,同時(shí)運(yùn)行10個(gè)進(jìn)程,內(nèi)存和CPU占用率很高,開大概10個(gè)進(jìn)程爬行,對(duì)爬行時(shí)間還進(jìn)行優(yōu)化,但我的mac pro還是差不多就down掉了。 于是開始采用PHP7結(jié)合pthreads多線程工具,經(jīng)測(cè)試,穩(wěn)定性、效率、內(nèi)存和cpu的占用各方面都很滿意。 下邊就介紹PHP7的多線程環(huán)境搭建。
安裝PHP7
以下所有命令在root用戶下執(zhí)行 下載PHP7,目前最新版本是7.0.3,根據(jù)情況自行選擇版本,PHP5.4以后的各版本也是支持的。
?
1
2
3
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
編譯安裝。
選項(xiàng)自行選擇,可以讓PHP多版本共存。但maintainer-zts是必須的,如果只做爬蟲,除了curl,其它擴(kuò)展基本不用安裝。遇到無法安裝的自行查找解決,例如我安裝的時(shí)候遇到iconv沒有找到,那直接就without了。
?
1
2
3
./configure --prefix=/usr/local/php7 --without-iconv --enable-maintainer-zts --with-curl
make
make install
安裝完成
然后開始安裝pthreads。用pecl安裝是超級(jí)簡單的。
?
1
2
cd /usr/local/php7/bin
./pecl install pthreads
安裝完成
配置文件
在/usr/local/php7/lib/目錄下新建php.ini文件,初始文件可在php源碼的根目錄找到php.ini-production 然后編輯php.ini,在末尾增加
?
1
extension="pthreads.so"
安裝完成
查看安裝是否成功
運(yùn)行
?
1
/usr/local/php7/bin/php -m
查看模塊支持列表,如果有pthreads存在則說明環(huán)境創(chuàng)建成功。 或者編輯文件test.php
?
1
2
3
4
5
6
7
8
<?php
$thread = new class extends Thread {
public function run() {
echo "Hello World\n";
}
};
$thread->start() && $thread->join();
?>
成功輸出Hello World說明成功。
【PHP7多線程搭建教程詳解 】相關(guān)文章:
java多線程教程04-22
PHP環(huán)境搭建教程08-09
PHP7的異常處理詳解05-10
PHP安裝threads多線程擴(kuò)展基礎(chǔ)教程03-22
Java 多線程之synchronized關(guān)鍵字詳解05-28
關(guān)于多線程基本概念的java基本教程參考01-28