首頁 > 運營 > 幫助中心 > 正文

PHP5.4.X與Memcache不兼容問題解決方案

2020-09-18 19:30:37
字體:
來源:轉載
供稿:網友

今天把自己的環境安裝了最新的PHP5.4.8,結果在與Memcache時出現了不兼容問題,結過反復調度總結了不兼容的原因與解決辦法.

emcache(sudo pecl install memcache)PHP擴展,編譯后memcache.so在/usr/lib/php5/20090626/中,在PHP.ini添加好extension,重啟phpfpm,不是重啟nginx,出現下面的錯誤信息:

  1. Gracefully shutting down php-fpm . done 
  2. Starting php-fpm [25-Oct-2012 12:04:02] NOTICE:  
  3. PHP message: PHP Warning:  PHP Startup: memcache: Unable to initialize module//開源代碼Cuoxin.com 
  4. Module compiled with module API=20090626 
  5. PHP    compiled with module API=20100525 
  6. These options need to match 

編譯PHP使用的PHP核心版本是20100525,而Pecl里面的Memcache是使用20090626版本編譯的,版本不一致導致PHP無法啟用memcache.so庫,解決方法是卸載掉Pecl方式安裝的Memcache,去pecl.php.net/package/memcache下載源碼包自己編譯,代碼如下:

  1. ##卸載memcache 
  2. sudo pecl uninstall memcache 
  3.  
  4. phpize 
  5. ./configure --enable-memcache --with-php-conf=/usr/local/php/bin/php-config 
  6. make 
  7. make install 

啟動memcached服務:memcached -d -m 256 -p 11211,測試腳本:OK,代碼如下:

  1. $mem = new Memcache; 
  2. $mem->connect('127.0.0.1',11211); 
  3. $mem->set('feiyan','blog'); 
  4. var_dump( $mem->get('feiyan') );//開源代碼Cuoxin.com 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
金玫玫床戏