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

centos下要重新編譯php的問題

我需要在一臺服務器上給php添加pthread擴展,

cd pthreads
phpize
./configure

編譯這一步時,提示

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

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

現(xiàn)在有幾個疑問,
1這臺服務器當初不是我配的,我不知道當初編譯時使用的配置,我自己直接按照網(wǎng)上的配置編譯的話,會不會導致一些配置丟失,我看到有一個php-config,查了一下似乎說是保存了當初配置內(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ǎng)上的文檔安裝過環(huán)境,之前做編譯什么的,都是在安裝包解壓后的目錄里進行的,但是現(xiàn)在這個好像找不到當初的安裝包,那我是得重新下載一個相同版本的php安裝包進行編譯嗎?

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

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

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

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

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

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