php-memcached installieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Für PHP gibt es zwei Memcached Module: memcached und memcache.
    memcached bietet zur Zeit einen größeren Funktionsumfang.
    == Unterschiede ==
    * blog.perplexedlabs.com/2009/05…a-memcached-and-igbinary/
    * pecl.php.net/package/memcache VS pecl.php.net/package/memcached
    * php.net/manual/de/book.memcache.php VS php.net/manual/de/book.memcached.php

    == memcached installieren: Schritt1 ==
    Diese Anleitung wurde unter Ubuntu 9.04 (Jaunty) getestet, sollte aber prinzipiell auch mit anderen Distributionen funktionieren.

    Als Grundvoraussetzung gehen wir von einem installierten PHP5 mit Apache2 aus
    • php5
    • apache2

    Zusätzlich benötigen Sie nun die Entwickler-Versionen.
    Achten Sie darauf, dass keine Pakete deinstalliert werden. Statt dem threaded können Sie natürlich auch das worker Paket installieren.
    • php5-dev (sonst kommt ein phpize Fehler)
    • apache2-threaded-dev (sonst kommt ein apxs Fehler)

    Quellcode

    1. apt-get install php5-dev apache2-threaded-dev


    Bei der memcached Extension für PHP handelt sich um eine PECL Erweiterung, die in C programmiert ist. Das Plugin muss noch auf ihrem System kompiliert werden.

    Doch keine Angst, mit dem PEAR Paket funktioniert das alles vollautomatisch. Installieren Sie:
    • php-pear

    Quellcode

    1. apt-get install php-pear


    == Paketvoraussetzungen: libmemcached ==

    Quellcode

    1. wget http://download.tangent.org/libmemcached-0.38.tar.gz
    2. tar xvfz libmemcached*.tar.gz
    3. cd libmemcached*
    4. ./configure && make && make install


    Falls ihr diesen Schritt vergesst, werdet ihr folgende Fehlermeldung erhalten
    checking for ZLIB... yes, shared
    checking for zlib location... /usr
    checking for session includes... /usr/include/php5
    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=<DIR> to specify the prefix where libmemcached headers and library are located
    ERROR: `/tmp/pear/temp/memcached/configure' failed



    == php-memcached installieren ==
    Nun können wir die Installation mit folgendem Befehl starten.

    Quellcode

    1. pecl install memcached


    Die Installation sollte automatisch durchlaufen. Bei Erfolg sollte am Ende folgender Text stehen:
    Build process completed successfully
    Installing '/usr/lib/php5/20060613/memcached.so'
    install ok: channel://pecl.php.net/memcached-1.0.0
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=memcached.so" to php.ini


    == php-memcached aktivieren ==

    Quellcode

    1. echo -e "\n\nextension=memcached.so" >> /etc/php5/apache2/php.ini
    2. /etc/init.d/apache2 reload


    == Methodensignatur ==
    Die Methodensignatur der Methode get muss sich geändert haben - das überschreiben macht Probleme:
    Strict Standards: Declaration of XXX::get() should be compatible with that of Memcached::get() in /var/www/XXX.php on line 111

    8.214 mal gelesen