首頁  >  文章  >  後端開發  >  多版本php共存所導致的問題

多版本php共存所導致的問題

WBOY
WBOY原創
2016-08-10 09:07:311123瀏覽

這有一台伺服器,使用nginx加php-fpm,裡面裝了2個版本的PHP,5.3和5.5,現在因為我要安裝新redis擴展,於是我從官網下載redis擴展的源碼包,進行編譯安裝,最後在php.ini加入extension=redis.so最後重啟php-fpm。

於是出現了報錯,意思是我編譯的php擴充使用的版本不一樣

<code>PHP Warning:  PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212</code>

大概發現了是什麼原因,因為使用php-fpm -v的版本是5.5,php -v顯示的版本是5.3,phpize使用的是5.3的。

於是把編譯好的so檔刪除,重新解壓縮原始碼包編譯,使用5.5版的phpize,發現重啟的時候還是一樣,並沒用什麼卵用。

<code>$ /usr/local/php/bin/phpize -v
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

$ sudo /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ sudo make install</code>

請問這種情況我要怎麼解決啊?我不可能把5.3的版本刪除的,因為是伺服器上面可能是別人還用到了。

回覆內容:

這有一台伺服器,使用nginx加php-fpm,裡面裝了2個版本的PHP,5.3和5.5,現在因為我要安裝新redis擴展,於是我從官網下載redis擴展的源碼包,進行編譯安裝,最後在php.ini加入extension=redis.so最後重啟php-fpm。

於是出現了報錯,意思是我編譯的php擴充使用的版本不一樣

<code>PHP Warning:  PHP Startup: redis: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212</code>

大概發現了是什麼原因,因為使用php-fpm -v的版本是5.5,php -v顯示的版本是5.3,phpize使用的是5.3的。

於是把編譯好的so檔刪除,重新解壓縮原始碼包編譯,使用5.5版的phpize,發現重啟的時候還是一樣,並沒用什麼卵用。

<code>$ /usr/local/php/bin/phpize -v
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

$ sudo /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make
$ sudo make install</code>

請問這種情況我要怎麼解決啊?我不可能把5.3的版本刪除的,因為是伺服器上面可能是別人還用到了。

PHP-config路徑搞對

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn