溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中php如何添加pcntl擴(kuò)展

發(fā)布時(shí)間:2021-10-19 10:42:56 來源:億速云 閱讀:141 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“Linux中php如何添加pcntl擴(kuò)展”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux中php如何添加pcntl擴(kuò)展”這篇文章吧。

pcntl擴(kuò)展可以支持php的多線程操作(僅限linux系統(tǒng))

加載 pcntl 有兩種方式

一種重新編譯安裝,在編譯時(shí)加,configrue提示加上--enable-pcntl

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-pcntl
另一種格外掛載

由于我的php是采用yum安裝的,所以不能采用第一種方式
下面介紹一個(gè)php動(dòng)態(tài)添加擴(kuò)展的方式 phpize

1、首先看下phpize命令所在的目錄  (我的目錄/usr/bin/phpize)
如果沒有找到的話 執(zhí)行安裝
yum install php53_devel   (請(qǐng)注意自己的版本)
安裝完畢后。會(huì)生成phpize命令

2、去php.net下載相應(yīng)版本的php源文件

http://php.net/releases/index.php

咱們以php-5.3.17 為例吧,解壓后,進(jìn)入相應(yīng)的模塊下
cd /php-5.3.17/ext/pcntl
#先執(zhí)行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config   (請(qǐng)正確的指定php-config的目錄)
#編譯、安裝
make && make install

這時(shí)候出了一個(gè)錯(cuò)誤
./configure編譯正常,但make出錯(cuò)
error: ‘PHP_FE_END’ undeclared here (not in a function)

解決方法:
源代碼有錯(cuò)誤,進(jìn)入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、編譯完畢后會(huì)生成了一個(gè)pcntl.so的文件。在php的model目錄里

cd /root/php-5.3.17/ext/pcntl/modules

ls -l pcntl.so
-rwxr-xr-x 1 root root 82375 4月   1 11:38 pcntl.so

編輯/etc/php.ini,加入
extension=pcntl.so

4、重啟apache和php
service httpd restart

/etc/init.d/php-fpm restart

5.進(jìn)行測(cè)試是不是安裝成功

在網(wǎng)頁目錄寫一個(gè)php首頁文件如下

<?php
    echo pcntl_fork();
?>

輸出:23165 證明安裝成功

以上是“Linux中php如何添加pcntl擴(kuò)展”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI