User account menu

  • Log in
BXTra.net

Breadcrumb

  • Home
  • Articles
  • How to install Memcached on CentOS + Memcached PECL (Update : 2011.03.22)

How to install Memcached on CentOS + Memcached PECL (Update : 2011.03.22)

By BXTra | 1:04 AM PDT, Tue March 22, 2011
Memcached

From previous HOW TO - http://www.bxtra.net/Articles/2010-04-27/How-install-Memcached-CentOS-DirectAdmin-installed-Memcached-PECL   I just think that I should note an update how to install Memcached so that I, myself, can follow the steps here and get the latest version. The steps are almost exactly to my previous Memcached PECL installed. Only a few changes to install an updated version.

Get Libevent which is require to install Memcached. Their homepage is here -> http://www.monkey.org/~provos/libevent/

wget http://monkey.org/~provos/libevent-2.0.10-stable.tar.gz
tar -xvf libevent-2.0.10-stable.tar.gz
cd libevent-2.0.10-stable
./configure;make;make install;

Then, get Memcached from http://memcached.org

wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
gunzip memcached-1.4.5.tar.gz
tar -xvf memcached-1.4.5.tar
cd memcached-1.4.5
./configure;make;make install;

For me, I got an error below when try to run memcached :

memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

So, I did steps below :

ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5

Once you're done with that, try run

memcached -d -u nobody -m 1024 127.0.0.1 -p 11211

This is not done yet, you need to let PHP knows to be able to use memcached.

wget http://launchpad.net/libmemcached/1.0/0.48/+download/libmemcached-0.48.tar.gz
tar xvfz libmemcached-0.48.tar.gz
cd libmemcached-0.48
./configure

You will see screen below :

Then, run

make && make install

Then install Memcached PECL with below command :

pecl install memcached

Once it's done, you may notice that the extension path is different to what we normally see. What you will see is :

/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626

But what most module for PHP 5.3 installed will compile into

/usr/local/lib/php/extensions/no-debug-non-zts-20090626

Therefore, make sure you get the right path for extension_dir Edit php.ini to have lines below : (Make sure the line "extension_dir" is there or you need a full path to memcached.so )

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626"
extension=memcached.so

Then, restart HTTP and check PHP Status.. You will see Memcached info as below:

In case you need to use Memcached as a session handler. (Not require) Then, you need to edit php.ini and set variable below :

session.save_handler=memcached
session.save_path="127.0.0.1:11211"

Now, you're done install Memcached on the server. However, you need to modify some code in your website script to make use of Memcached.

Server Information - Software
- CentOS 5.5
- DirectAdmin 1.38
- Apache 2.2.17
- PHP 5.3.6
- MySQL 5.5.9

Source :
- http://blog.ajohnstone.com/archives/installing-memcached/
- http://alexle.net/archives/275
- http://hasin.wordpress.com/2009/10/18/using-new-pecl-memcached-extension-for-storing-session-data/

About text formats
  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

meotimdihia

13 years 11 months ago

Permalink

thanks, i installed memcached

thanks, i installed memcached php with your help
  • Reply

Jhony

13 years 1 month ago

Permalink

I getting error

[root@user libmemcached-1.0.5]# make && make install make all-am make[1]: Entering directory `/root/libmemcached-1.0.5' CXX libhashkit/libhashkit_libhashkit_la-algorithm.lo CXX libhashkit/libhashkit_libhashkit_la-behavior.lo CXX libhashkit/libhashkit_libhashkit_la-crc32.lo CXX libhashkit/libhashkit_libhashkit_la-digest.lo CXX libhashkit/libhashkit_libhashkit_la-fnv_32.lo CXX libhashkit/libhashkit_libhashkit_la-fnv_64.lo CXX libhashkit/libhashkit_libhashkit_la-function.lo CXX libhashkit/libhashkit_libhashkit_la-has.lo CXX libhashkit/libhashkit_libhashkit_la-hashkit.lo CXX libhashkit/libhashkit_libhashkit_la-jenkins.lo CXX libhashkit/libhashkit_libhashkit_la-ketama.lo CXX libhashkit/libhashkit_libhashkit_la-md5.lo CXX libhashkit/libhashkit_libhashkit_la-murmur.lo CXX libhashkit/libhashkit_libhashkit_la-one_at_a_time.lo CXX libhashkit/libhashkit_libhashkit_la-str_algorithm.lo CXX libhashkit/libhashkit_libhashkit_la-strerror.lo CXX libhashkit/libhashkit_libhashkit_la-nohsieh.lo CXXLD libhashkit/libhashkit.la CXX libmemcached/csl/libmemcached_libmemcached_la-context.lo CXX libmemcached/csl/libmemcached_libmemcached_la-parser.lo CXX libmemcached/csl/libmemcached_libmemcached_la-scanner.lo CXX libhashkit/libmemcached_libmemcached_la-algorithm.lo CXX libhashkit/libmemcached_libmemcached_la-behavior.lo CXX libhashkit/libmemcached_libmemcached_la-crc32.lo CXX libhashkit/libmemcached_libmemcached_la-digest.lo CXX libhashkit/libmemcached_libmemcached_la-fnv_32.lo CXX libhashkit/libmemcached_libmemcached_la-fnv_64.lo CXX libhashkit/libmemcached_libmemcached_la-function.lo CXX libhashkit/libmemcached_libmemcached_la-has.lo CXX libhashkit/libmemcached_libmemcached_la-hashkit.lo CXX libhashkit/libmemcached_libmemcached_la-jenkins.lo CXX libhashkit/libmemcached_libmemcached_la-ketama.lo CXX libhashkit/libmemcached_libmemcached_la-md5.lo CXX libhashkit/libmemcached_libmemcached_la-murmur.lo CXX libhashkit/libmemcached_libmemcached_la-one_at_a_time.lo CXX libhashkit/libmemcached_libmemcached_la-str_algorithm.lo CXX libhashkit/libmemcached_libmemcached_la-strerror.lo CXX libhashkit/libmemcached_libmemcached_la-nohsieh.lo CXX libmemcached/libmemcached_libmemcached_la-allocators.lo CXX libmemcached/libmemcached_libmemcached_la-analyze.lo CC libmemcached/libmemcached_libmemcached_la-array.lo CXX libmemcached/libmemcached_libmemcached_la-auto.lo libmemcached/auto.cc: In function 'memcached_return_t text_incr_decr(memcached_server_st*, bool, const char*, size_t, uint64_t, bool)': libmemcached/auto.cc:73: error: expected `)' before 'PRIu64' make[1]: *** [libmemcached/libmemcached_libmemcached_la-auto.lo] Error 1 make[1]: Leaving directory `/root/libmemcached-1.0.5' make: *** [all] Error 2
[root@tigapoin libmemcached-1.0.5]# libmemcached/auto.cc: In function 'memcached_return_t text_incr_decr(memcached_server_st*, bool, const char*, size_t, uint64_t, bool)': -bash: libmemcached/auto.cc:: No such file or directory [root@user libmemcached-1.0.5]# pecl install memcached downloading memcached-2.0.1.tgz ... Starting to download memcached-2.0.1.tgz (39,088 bytes) ..........done: 39,088 bytes 11 source files, building running: phpize Configuring for: PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626 building in /tmp/pear/install/pear-build-root96ENJx/memcached-2.0.1 running: /tmp/pear/install/memcached/configure checking for egrep... grep -E checking for a sed that does not truncate output... /bin/sed checking for cc... cc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether cc accepts -g... yes checking for cc option to accept ANSI C... none needed checking how to run the C preprocessor... cc -E checking for icc... no checking for suncc... no checking whether cc understands -c and -o together... yes checking for system library directory... lib checking if compiler supports -R... no checking if compiler supports -Wl,-rpath,... yes checking build system type... i686-redhat-linux-gnu checking host system type... i686-redhat-linux-gnu checking target system type... i686-redhat-linux-gnu checking for PHP prefix... /usr checking for PHP includes... -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib checking for PHP extension directory... /usr/lib/php/modules checking for PHP installed headers prefix... /usr/include/php checking if debug is enabled... no checking if zts is enabled... no checking for re2c... no configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. checking for gawk... gawk checking whether to enable memcached support... yes, shared checking for libmemcached... yes, shared checking whether to enable memcached session handler support... yes checking whether to enable memcached igbinary serializer support... no checking whether to enable memcached json serializer support... no checking whether to disable memcached sasl support... no checking for ZLIB... yes, shared checking for zlib location... /usr checking for session includes... /usr/include/php checking for memcached session support... enabled checking for memcached igbinary support... disabled checking for libmemcached location... configure: error: memcached support requires libmemcached. Use --with-libmemcached-dir= to specify the prefix where libmemcached headers and library are located ERROR: `/tmp/pear/install/memcached/configure' failed
how to fix?
  • Reply

BXTra

13 years 1 month ago

Permalink

In reply to I getting error by Jhony

Got same error with new

Got same error with new libmemcached 1.0.6 . Still, I don't have time to check it now cause I don't use memcached PECL anymore. Will check it again later.
  • Reply

周勇

13 years ago

Permalink

In reply to I getting error by Jhony

I have update

The accepted answer was to place "#define __STDC_FORMAT_MACROS" at the top of the file. I did so for auto.cc and was able to compile that particular file
  • Reply

周勇

13 years ago

Permalink

In reply to I have update by 周勇

I have update

Well then. Apologies for the thread. Seems there was a similar issue in the gearmand module, and exporting the compiler environment variables to use gcc 4.4 works.
  • Reply

BXTra

12 years 12 months ago

Permalink

In reply to I getting error by Jhony

Just tested with version 1.0

Just tested with version 1.0.7 and it works ok now.

Update : Well spoke too soon.. "./configure" was now compiled ok but after ran "make & make install" , below is the error I got :
CXX libhashkit/libmemcached_libmemcached_la-strerror.lo
CXX libhashkit/libmemcached_libmemcached_la-string.lo
CXX libhashkit/libmemcached_libmemcached_la-nohsieh.lo
CXX libmemcached/libmemcached_libmemcached_la-allocators.lo
CXX libmemcached/libmemcached_libmemcached_la-analyze.lo
CC libmemcached/libmemcached_libmemcached_la-array.lo
CXX libmemcached/libmemcached_libmemcached_la-auto.lo
libmemcached/auto.cc: In function 'memcached_return_t text_incr_decr(memcached_server_st*, bool, const char*, size_t, uint64_t, bool)':
libmemcached/auto.cc:73: error: expected `)' before 'PRIu64'
make[1]: *** [libmemcached/libmemcached_libmemcached_la-auto.lo] Error 1
make[1]: Leaving directory `/root/libmemcached-1.0.7'
make: *** [all] Error 2

  • Reply

Adam Listek

12 years 11 months ago

Permalink

If it helps, the main problem

If it helps, the main problem with compiling libmemcached on CentOS 5.5 for me was the GCC version is too old. You can use the following to install an updated version which should enable you to compile it: yum install gcc44 gcc44-c++ libstdc++44-devel After the above installs, export the following environment variables to tell the configure script to use the newer GCC version (they install in parallel): export CC=/usr/bin/gcc44 export CXX=/usr/bin/g++44 -Adam
  • Reply

BXTra

12 years 11 months ago

Permalink

In reply to If it helps, the main problem by Adam Listek

Thanks Adam, I followed your

Thanks Adam, I followed your instruction and it does work now :) Tested with version 1.0.8.
  • Reply

Nitin Verma

12 years 2 months ago

Permalink

I had the same issue

zilb was in /lib64 and autoconf was not able to locate, intalling zlib-devel gave it direct my giving pkgconfig.

  • Reply
  • Add new comment

  • Will the router get the Openvpn as a client option?
    6 years ago
  • cancellation
    6 years 1 month ago
  • Router ASUS RT-N12 D1 tomatoes passwort falsch
    7 years 8 months ago
  • WPS button = 30/30/30 hard reset button
    7 years 9 months ago
  • Save my day!
    8 years 3 months ago
  • How to
    8 years 6 months ago
  • Can i still access my modem (the one with the ISP provided)?
    8 years 6 months ago
  • A saving step!
    8 years 10 months ago
  • Problem with Asus n12e-c1
    8 years 11 months ago
  • don't use Hostgator
    9 years 2 months ago

© 2007 - 2023 BXTra.net. All Rights Reserved. 
Certain other content, photos and artwork displayed on BXTra.net are protected by copyright and are the property of their respective owners.

Privacy Policy