鍍金池/ 問(wèn)答/Java  PHP/ php如何增加加擴(kuò)展

php如何增加加擴(kuò)展

環(huán)境是linux+nginx
想添加pcntl擴(kuò)展
百度了下重新編譯加
在原來(lái)編譯參數(shù) --enable-pcntl 加上這個(gè) 重新編譯 然后make 也重啟了nginx 可是這個(gè)擴(kuò)展還是沒(méi)加到


后記 我服務(wù)器欠缺點(diǎn)東西
yum install m4
yum install autoconf
然后在phpize
make clean
然后編譯才通過(guò)的

回答
編輯回答
抱緊我

2make 是用來(lái)編譯的,它從Makefile中讀取指令,然后編譯。

3make install是用來(lái)安裝的,它也從Makefile中讀取指令,安裝到指定的位置。

2018年5月10日 22:04
編輯回答
尐潴豬

pcntl是可以動(dòng)態(tài)安裝,不需要重新編譯php
安裝方法參進(jìn)官網(wǎng)說(shuō)明
pcntl installation

-- php源碼自帶有pcntl擴(kuò)展,無(wú)需另外下載
nechtan$ sudo su
sh-3.2# tar -zxvf php-5.3.15.tar.gz
sh-3.2# cd php-5.3.15/ext/pcntl/
sh-3.2# phpize && ./configure && make && make install 
-- make是編譯,還要執(zhí)行make install來(lái)安裝。如果安裝目錄是不默認(rèn)的。./configure操作還要指定php-coinfig目錄,--with-php-config=$DIR/php-config
sh-3.2# echo "extension=pcntl.so" >> /etc/php.ini
sh-3.2# apachectl restart

checking if everything is ok.

sh-3.2# php -m | grep pcntl
pcntl

注:nginx是http服務(wù)器,不是php的運(yùn)行環(huán)境,php相關(guān)的變更,應(yīng)該是重啟php運(yùn)行環(huán)境,比如例子提到的apache,此外常用的還有php-fpm等,取決于你使用的什么

2017年11月23日 18:34
編輯回答
寫(xiě)榮

這樣是靜態(tài)編譯進(jìn)php的方式,比較麻煩,建議使用動(dòng)態(tài)加載方式進(jìn)行擴(kuò)展添加

1.進(jìn)入pcntl擴(kuò)展目錄執(zhí)行phpize
2.執(zhí)行./configure --with-php-config=/usr/bin/php-config
3.make && make install 這樣擴(kuò)展文件pcntl.so就被放置到了/usr/lib64/php/modules(可能會(huì)有nts-nodebug這樣的子目錄)文件夾下了
4.然后在php.ini中開(kāi)啟該擴(kuò)展:extension=pcntl.so
5.重啟fpm或reload
2018年4月23日 00:09