PHP ile memcache kullanma

1 Cevap php

Ben (Ubuntu 9.10) PHP ile memcache kullanarak başlamak istiyorum. Bu nasıl yapacağınızı göstermek için görünür bilgileri online bir sürü vardır. Şaşırtıcı olsa da, (şimdiye kadar gördüğüm) makalelerin hiçbiri, açıkça sadece PHP istemci kitaplığı aracılığıyla yeni MEMCACHE () çağırarak kullanmak için çalışırken ÖNCE olsun veya memcache işlemini çalıştırmak için ihtiyacınız olup olmadığını devlet, bir süreç kökenli olacak (zaten çalışır değilse).

Ben şimdiye kadar bu okudum çeşitli dokümanlar itibaren, bu ben mantıklı düşünüyorum adımlar şunlardır:

  1. Makinenizde memcache yükleyin (bunu nasıl gösteren çeşitli belgeler vardır)
  2. Modify your php.ini file and set the memcache related consts/flags to the values that make sense for your environment 3. Create an init script in ini.d to start memcache as a daemon
  3. Yeniden Apache daemon

Gördüğüm dokümanlar hiçbiri bugüne kadar memcache sürecinin ömrünü bahseder çünkü Sayı 3, ben onay ihtiyaç parçasıdır.

Can someone experienced in this confirm if this is the correct steps? Also if I have missed a step, let me know.

Linux için nispeten yeni olduğum birisi (yukarıda belirttiğimiz adımları doğru olduğunu varsayarak) memcache servis sürecini çalıştırmak için gerekli olacak bir init script bir örnek sonrası olabilir eğer bir kenara, ben minnettar olacaktır

1 Cevap

memcached ve Apache + PHP ilk başta, iki tamamen ilgisiz bir şey vardır. Tek şey PHP memcached daemon bağlanıyor olduğunu.

Bunu kullanmayı deneyin önce Yani, evet,) sonuna de '(note the 'd memcached başlamış olması gerekmektedir: Eğer çalışan değil ne zaman bir memcached sunucusuna bağlanmayı deneyin, sadece mümkün olmayacak bağlamak için - yeni bir cini ne de bir şey spawn olmaz.

Basit bir karşılaştırma kullanarak: sizin için Apache sunucu başlamış değildir ve size bir "bağlanamıyor" hatası alırsınız, tarayıcınızı kullanarak ona erişmeye çalışın; tam PHP memcached bağlanmaya çalışıyor ile aynı: bu mümkün olmayacaktır.


Now, for the installation process, here are a couple of notes, for the parts that don't look OK in what you said :

  • Install memcached on your machine
    • Eğer dağıtım mecanism kullanarak yüklediyseniz, bu komut / etc / init.d / yaratmış olmalıdır
    • Ve cini başlamış olmalıydı
    • Bir hatırlatma olarak, Ubuntu ile bir şey yüklemek için, size apt-get install memcached veya aptitude install memcached kullanmalısınız
  • Before modifying your php.ini, you must install the memcache extension for PHP -- so PHP has functions to connect to memcached.
    • Bu dağıtım php5-memcache paketini kullanarak yapılabilir
    • Ya pecl install memcache komutu ile, pecl.php.net gelen kaynakları indirmek ve bunları derlemek hangi - Bir yazılımı derlemek için gereken her şeyi gerekir anlamına gelir.


Edit : easier to answer here than in a comment

Ben yüklerken memcached Tamam olması gerektiğini söyledi - Ubuntu, bir tuzak var gibi görünüyor:

Bu kullanma:

ps -Alf | grep memcached

Ben çalışan herhangi bir cini :-( görmüyorum

Ben cini başlatmak için çalıştığınızda, ben şu olsun:

$ sudo /etc/init.d/memcached start
Starting memcached: memcached disabled in /etc/default/memcached.


So, on Ubuntu, you have to edit /etc/default/memcached, and change it ; instead of this :

# Set this to yes to enable memcached.
ENABLE_MEMCACHED=no

O içermelidir:

# Set this to yes to enable memcached.
ENABLE_MEMCACHED=yes


Then, starting memcached should be possible :

$ sudo /etc/init.d/memcached start
Starting memcached: memcached.
test@tests: ~/temp
$ ps -Alf | grep mem
4 S nobody    3813     1  0  80   0 - 30025 ep_pol 00:17 pts/4    00:00:00 /usr/bin/memcached -m 64 -p 11211 -u nobody -l 127.0.0.1
0 R test      3819  2690  0  80   0 -  1834 -      00:17 pts/4    00:00:00 grep --color=auto mem


Note : now that memcached is enabled, it should be started automatically with your system, each time you reboot it.