PHP7多線程搭建教程詳解 

來源:文萃谷 9.31K

一直想寫個爬蟲,於是就用PHP寫了一個,眾所周知PHP並不支持多線程,所以爬行效率很低,同時運行10個進程,內存和CPU佔用率很高,開大概10個進程爬行,對爬行時間還進行優化,但我的mac pro還是差不多就down掉了。 於是開始採用PHP7結合pthreads多線程工具,經測試,穩定性、效率、內存和cpu的佔用各方面都很滿意。 下邊就介紹PHP7的多線程環境搭建。

PHP7多線程搭建教程詳解 

  安裝PHP7

以下所有命令在root用户下執行 下載PHP7,目前最新版本是7.0.3,根據情況自行選擇版本,PHP5.4以後的各版本也是支持的.。

?

1

2

3

wget -O

tar xvfz

cd php

  編譯安裝。

選項自行選擇,可以讓PHP多版本共存。但maintainer-zts是必須的,如果只做爬蟲,除了curl,其它擴展基本不用安裝。遇到無法安裝的自行查找解決,例如我安裝的時候遇到iconv沒有找到,那直接就without了。

?

1

2

3

./configure --prefix=/usr/local/php7 --without-iconv --enable-maintainer-zts --with-curl

make

make install

  安裝完成

然後開始安裝pthreads。用pecl安裝是超級簡單的。

?

1

2

cd /usr/local/php7/bin

./pecl install pthreads

  安裝完成

  配置文件

在/usr/local/php7/lib/目錄下新建文件,初始文件可在php源碼的根目錄找到-production 然後編輯,在末尾增加

?

1

extension=""

  安裝完成

  查看安裝是否成功

運行

?

1

/usr/local/php7/bin/php -m

查看模塊支持列表,如果有pthreads存在則説明環境創建成功。 或者編輯文件

?

1

2

3

4

5

6

7

8

<?php

$thread = new class extends Thread {

public function run() {

echo "Hello Worldn";

}

};

$thread->start() && $thread->join();

?>

成功輸出Hello World説明成功。

熱門標籤