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

WBOY
發布: 2016-08-10 09:07:31
原創
1157 人瀏覽過

這有一台伺服器,使用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路徑搞對

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!