程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP5.4.X與Memcache不兼容問題解決方案

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

編輯:關於PHP編程

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

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

 代碼如下 復制代碼

Gracefully shutting down php-fpm . done
Starting php-fpm [25-Oct-2012 12:04:02] NOTICE:
PHP message: PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match

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

 代碼如下 復制代碼

##卸載memcache
sudo pecl uninstall memcache
 
phpize
./configure --enable-memcache --with-php-conf=/usr/local/php/bin/php-config
make
make install

啟動memcached服務:memcached -d -m 256 -p 11211。測試腳本:OK。

 代碼如下 復制代碼

$mem = new Memcache;
$mem->connect('127.0.0.1',11211);
$mem->set('feiyan','blog');
var_dump( $mem->get('feiyan') );

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved