鍍金池/ 問答/PHP  Linux/ centos下要重新編譯php的問題

centos下要重新編譯php的問題

我需要在一臺(tái)服務(wù)器上給php添加pthread擴(kuò)展,

cd pthreads
phpize
./configure

編譯這一步時(shí),提示

configure: error: pthreads requires ZTS, please re-compile PHP with ZTS enabled

查一下是需要重新編譯,添加 –enable-maintainer-zts

現(xiàn)在有幾個(gè)疑問,
1這臺(tái)服務(wù)器當(dāng)初不是我配的,我不知道當(dāng)初編譯時(shí)使用的配置,我自己直接按照網(wǎng)上的配置編譯的話,會(huì)不會(huì)導(dǎo)致一些配置丟失,我看到有一個(gè)php-config,查了一下似乎說是保存了當(dāng)初配置內(nèi)容?那我是否可以用類似--with-php-config=/usr/local/php/bin/php-config來保證和上一次編譯的配置相同然后后面再加上–enable-maintainer-zts

./configure --with-php-config=/usr/local/php/bin/php-config –enable-maintainer-zts

2我之前一直是用window開發(fā),沒有管過服務(wù)器,只有稍微按照網(wǎng)上的文檔安裝過環(huán)境,之前做編譯什么的,都是在安裝包解壓后的目錄里進(jìn)行的,但是現(xiàn)在這個(gè)好像找不到當(dāng)初的安裝包,那我是得重新下載一個(gè)相同版本的php安裝包進(jìn)行編譯嗎?

回答
編輯回答
悶油瓶
我之前一直是用window開發(fā),沒有管過服務(wù)器,只有稍微按照網(wǎng)上的文檔安裝過環(huán)境,之前做編譯什么的,都是在安裝包解壓后的目錄里進(jìn)行的,但是現(xiàn)在這個(gè)好像找不到當(dāng)初的安裝包,那我是得重新下載一個(gè)相同版本的php安裝包進(jìn)行編譯嗎?

如果存在原來的編譯目錄,則目錄下應(yīng)該有個(gè)config.nice文件,里面保存了當(dāng)時(shí)的編譯參數(shù)。如果沒有保留的話就用php -i命令或者phpinfo()函數(shù)可以看到,里面有一項(xiàng)Configure Command是編譯參數(shù)。

至于重新編譯可以下載相同版本的安裝包,小版本可以下最新的,比如現(xiàn)在的是5.6.x,你可以下載最新的5.6.36來編譯。

2018年4月18日 01:30
編輯回答
愚念

去/usr/bin/php-config 執(zhí)行這個(gè)二進(jìn)制文件會(huì)輸出當(dāng)前php的相關(guān)配置
--configure-options 選項(xiàng)是當(dāng)時(shí)編譯php時(shí)的配置命令,重新編譯php時(shí)在那段命令上加上
--enable-maintainer-zts即可

./configure [/usr/bin/php-config --configure-options 選項(xiàng)的內(nèi)容] --enable-maintainer-zts
2018年7月4日 21:03