linux下為PHP擴充安裝memcache模組_PHP教程

來源:互聯網
上載者:User
安裝環境
RHEL 4
Php 5.2.6


所需軟體
libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/)
memcache-2.2.3.tgz (http://pecl.php.net/package/memcache)
memcached-1.2.6.tar.gz (http://www.danga.com/memcached/)


安裝配置

1. 安裝libevent
# tar zxf libevent-1.4.6-stable.tar.gz
# cd libevent-1.4.6-stable
# ./configure --prefix=/usr/local/servers/libevent
# make && make install

2. 安裝memcached
# tar zxvf memcached-1.2.6.tar.gz
# cd memcached-1.2.6
# ./configure --prefix=/usr/local/servers/memcached --with-libevent=/usr/local/servers/libevent
# make && make install

3. 運行memcached
# /usr/local/servers/memcached -d -m 128 -l localhost -p 11211 -u root

-d 以精靈(daemon)方式運行 memcached;
-m 設定 memcached 可以使用的記憶體大小,單位為 M;
-l 設定監聽的 IP 位址,如果是原生話,通常可以不設定此參數;
-p 設定監聽的連接埠,預設為 11211,所以也可以不設定此參數;
-u 指定使用者;

如果遇到運行memcached時遇到問題,錯誤提示如下:

/usr/local/servers/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

則運行 LD_DUBUG=libs 就可以知道memcached啟動時庫的載入路徑。具體如下:

# LD_DEBUG=libs /usr/local/servers/memcached/bin/memcached -v
10929: find library=libevent-1.4.so.2 [0]; searching
10929: search cache=/etc/ld.so.cache
10929: search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls/i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib (system search path)
10929: trying file=/lib/tls/i686/sse2/libevent-1.4.so.2
10929: trying file=/lib/tls/i686/libevent-1.4.so.2
10929: trying file=/lib/tls/sse2/libevent-1.4.so.2
10929: trying file=/lib/tls/libevent-1.4.so.2
10929: trying file=/lib/i686/sse2/libevent-1.4.so.2
10929: trying file=/lib/i686/libevent-1.4.so.2
10929: trying file=/lib/sse2/libevent-1.4.so.2
10929: trying file=/lib/libevent-1.4.so.2
10929: trying file=/usr/lib/tls/i686/sse2/libevent-1.4.so.2
10929: trying file=/usr/lib/tls/i686/libevent-1.4.so.2
10929: trying file=/usr/lib/tls/sse2/libevent-1.4.so.2
10929: trying file=/usr/lib/tls/libevent-1.4.so.2
10929: trying file=/usr/lib/i686/sse2/libevent-1.4.so.2
10929: trying file=/usr/lib/i686/libevent-1.4.so.2
10929: trying file=/usr/lib/sse2/libevent-1.4.so.2
10929: trying file=/usr/lib/libevent-1.4.so.2
10929:

然後給libevent-1.4.so.2建立一個連結後再運行memcached:
# ln -s /usr/local/servers/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2

4. 安裝php的memcache擴充

可以使用php內建的pecl安裝程式
# /usr/local/servers/php5/bin/pecl install memcache

也可以從源碼安裝
# tar zxf memcache-2.2.3.tgz
# cd memcache-2.2.3
# /usr/local/servers/php5/bin/phpize
# ./configure --enable-memcache=/usr/local/servers/memcached --with-php-config=/usr/local/servers/php5/bin/php-config --with-apxs2=/usr/sbin/apxs
# make && make inst

安裝完後會有類似這樣的提示:
Installing shared extensions: /usr/local/servers/php5/lib/php/extensions/no-debug-non-zts-20060922/

把這個記住,然後修改php.ini,把

extension_dir = "./"
修改為
extension_dir = "/usr/local/servers/php5/lib/php/extensions/"

並添加一行
extension="no-debug-non-zts-20060922/memcache.so"

5. 用phpinfo查看


測試模組

$memcache = new Memcache;
$memcache->connect(localhost, 12000) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Servers version: ".$version."
";

$tmp_object = new stdClass;
$tmp_object->str_attr = test;
$tmp_object->int_attr = 123;

$memcache->set(key, $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)
";

$get_result = $memcache->get(key);
echo "Data from the cache:
";

var_dump($get_result);

?>

顯示結果:

Servers version: 1.2.6
Store data in the cache (data will expire in 10 seconds)
Data from the cache:

object(stdClass)[3] public str_attr => string test (length=4) public int_attr => int 123

http://www.bkjia.com/PHPjc/486279.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/486279.htmlTechArticle安裝環境 RHEL 4 Php 5.2.6 所需軟體 libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/) memcache-2.2.3.tgz (http://pecl.php.net/package/memcache) memcached-1....

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.