程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> Linux系統中為php添加pcntl擴展

Linux系統中為php添加pcntl擴展

編輯:PHP綜合

pcntl擴展可以支持php的多線程操作(僅限linux)

原本需要重新編譯PHP的後面configrue提示加上--enable-pcntl

由於我的php是采用yum安裝的,所以不能采用上面的方式

下面介紹一個php動態添加擴展的方式 phpize

1、首先看下 phpize命令 所在的目錄  (ps:我的目錄/usr/bin/phpize)

如果沒有找到的話 執行安裝

yum install php53_devel  (ps:請注意自己的版本)

安裝完畢後。會生成phpize命令  

2、去php.net下載相應版本的php源文件

咱們以php-5.3.17 為例吧,解壓後,進入相應的模塊下

cd ext/pcntl
#先執行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config  (ps:請正確的指定php-config的目錄)
#編譯、安裝
make && make install

這時候出了一個錯誤

./configure編譯正常,但make出錯
error: ‘PHP_FE_END' undeclared here (not in a function)

解決方法:

源代碼有錯誤,進入php-5.3.17目錄

sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c

再重新make && make install

3、編譯完畢後會生成了一個  pcntl.so的文件。在php的model目錄裡

編輯/etc/php.ini,加入

extension=pcntl.so

4、重啟apache

service httpd restart

5、測試是否安裝成功

<?php
  echo pcntl_fork();
?>

輸出:23165

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved