PHP7多線程搭建教程

來源:互聯網
上載者:User
這篇文章主要介紹了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.gztar xvfz php.tar.gzcd php

編譯安裝。

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

./configure --prefix=/usr/local/php7 --without-iconv --enable-maintainer-zts --with-curlmakemake 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

查看模組支援列表,如果有pthreads存在則說明環境建立成功。 或者編輯檔案test.php

<?php$thread = new class extends Thread {   public function run() {     echo "Hello World\n";  }};$thread->start() && $thread->join();?>

成功輸出Hello World說明成功。

以上就是本文的全部內容,希望對大家的學習有所協助。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.