php多執行緒安裝pthreads步驟詳解

2021-08-27 18:42:31 字數 2037 閱讀 7552

**如下

複製**

#!/bin/sh

cd /web/soft/php

if [ -d "pthreads-master" ];then

rm -rf pthreads-master

fiunzip pthreads-master.zip

cd pthreads-master

/web/server/php/bin/phpize

./configure --with-php-config=/web/server/php/bin/php-config

make

make install

rm -rf pthreads-master

phpini="/web/server/php/etc/php.ini"

sed -i '907a extension = "pthreads.so"' $phpini

#更新php-fpm配置

sed -i 's%;pid = run/php-fpm.pid%pid = run/php-fpm.pid%' /web/server/php/etc/php-fpm.conf

sed -i 's%;error_log = log/php-fpm.log%error_log = log/php-fpm.log%' /web/server/php/etc/php-fpm.conf

#殺死php-fpm程序

ps aux | grep "php" | grep -v "grep" | awk '' | xargs -i kill -9 {}

#啟動php-fpm

/web/server/php/sbin/php-fpm

在安裝過程中出現錯誤

configure: warning: you will need re2c 0.13.4 or later if you want to regenerate php parsers

解決方法是安裝或公升級re2c 0.13.4以上版本。

下面我們用rpm包安裝此庫。

centos-5 32位:

centos-5 64位:

centos-6 32位:

centos-6 64位:

configure: error: pthreads requires zts, please re-compile php with zts enabled

原因: 我在編譯php的時候沒有加入 --enable-maintainer-zts ,這個必須要重新編譯php,不能動態載入的!

於是我重新編譯了php,在原來的編譯引數基礎上那個加入了 --enable-maintainer-zts ,重新編譯安裝php即可!

以下為乙個示例

**如下

複製**

echo "多執行緒:".($e-$t)."\n";

$t = microtime(true);

foreach ($urls_array as $key => $value)

$e = microtime(true);

echo "for迴圈:".($e-$t)."\n";

?>

pthread 多執行緒

多執行緒程式指的是在同乙個程式中多個執行流併發執行,它們共享程序的同乙個位址空間,分別完成相應的任務,並通過共享位址空間等方式完成執行緒間通訊,cpu按照時間片輪轉等方式對執行緒進行切換和排程。通常而言,執行緒共享的程序資源包括 linux中線程的建立依賴於lpthread.so 庫,建立乙個thr...

pthread建立多執行緒

include include include include include include include include include include include tinyxml tinyxml.h include include include include define macxm...

Linux 多執行緒 pthread

1.linux執行緒的發展 早在linux2.2核心中。並不存在真正意義上的執行緒,當時linux中常用的執行緒pthread實際上是通過程序來模擬的,也就是同過fork來建立 輕 程序,並且這種輕程序的執行緒也有個數的限制 最多只能有4096和此類執行緒同時執行。2.4核心消除了個數上的限制,並且...