您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Linux中php如何添加pcntl擴展”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Linux中php如何添加pcntl擴展”這篇文章吧。
pcntl擴展可以支持php的多線程操作(僅限linux系統)
加載 pcntl 有兩種方式
一種重新編譯安裝,在編譯時加,configrue提示加上--enable-pcntl
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --enable-pcntl
另一種格外掛載
由于我的php是采用yum安裝的,所以不能采用第一種方式
下面介紹一個php動態添加擴展的方式 phpize
1、首先看下phpize命令所在的目錄 (我的目錄/usr/bin/phpize)
如果沒有找到的話 執行安裝
yum install php53_devel (請注意自己的版本)
安裝完畢后。會生成phpize命令
2、去php.net下載相應版本的php源文件
http://php.net/releases/index.php
咱們以php-5.3.17 為例吧,解壓后,進入相應的模塊下
cd /php-5.3.17/ext/pcntl
#先執行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config (請正確的指定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目錄里
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.進行測試是不是安裝成功
在網頁目錄寫一個php首頁文件如下
<?php
echo pcntl_fork();
?>
輸出:23165 證明安裝成功
以上是“Linux中php如何添加pcntl擴展”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。