Я хочу начать использовать кэш-память с PHP (на Ubuntu 9.10). Существует много информации онлайн, которое, кажется, показывает, как сделать это. Suprisingly, хотя, ни одна из статей (я видел до сих пор), явно указывают, необходимо ли ВЫПОЛНИТЬ процесс кэш-памяти ПРЕЖДЕ, ЧЕМ попытаться использовать его или будет ли путем простого вызова нового MemCache () через клиентскую библиотеку PHP, процесс порожден (не уже работая).
Из различных документов я читал на этом до сих пор, это шаги, что я думаю, имеют смысл:
Номер 3 является частью, на которой я нуждаюсь в подтверждении, потому что ни один из документов, которые я видел до сих пор, не упоминает продолжительность жизни процесса кэш-памяти.
Может кто-то испытал в этом, подтверждают, является ли это корректными шагами? Также, если я пропустил шаг, сообщить мне.
Как в стороне, так как я относительно плохо знаком с Linux, я был бы благодарен, если бы кто-то мог бы отправить пример init сценария, который был бы необходим для выполнения процесса демона кэш-памяти (предполагающий, что шаги, которые я обрисовал в общих чертах выше, корректны),
memcached и Apache+PHP - две совершенно не связанные вещи, поначалу. Единственное, что PHP подключается к демону memcached.
Так что, да, memcached (обратите внимание на 'd
' в конце ) должен быть запущен, прежде чем вы попытаетесь его использовать: если вы попытаетесь подключиться к серверу memcached, когда он не запущен, вы просто не сможете подключиться - он не породит нового демона или что-то еще.
Простое сравнение: если ваш сервер Apache не запущен и вы пытаетесь подключиться к нему через браузер, вы получите ошибку "cannot connect"; точно так же PHP пытается подключиться к memcached: он не сможет этого сделать.
Теперь, что касается процесса установки, вот пара замечаний для тех частей, которые не выглядят нормально в том, что вы сказали:
apt-get install memcached
или aptitude install memcached
memcache
расширение для PHP - чтобы PHP имел функции для подключения к memcached.
php5-memcache
пакета вашего дистрибутиваpecl install memcache
, которая загрузит исходники с pecl.php.net и скомпилирует их - что означает, что вам понадобится все необходимое для компиляции программного обеспечения.
Edit: проще ответить здесь, чем в комментарии
Я сказал, что установка memcached должна быть в порядке - на Ubuntu, похоже, есть ловушка:
Используя это:
ps -Alf | grep memcached
Я не вижу никакого запущенного демона.
И когда я пытаюсь запустить демон, я получаю следующее:
$ sudo /etc/init.d/memcached start
Starting memcached: memcached disabled in /etc/default/memcached.
Итак, на Ubuntu, вы должны отредактировать /etc/default/memcached
, и изменить его; вместо этого:
# Set this to yes to enable memcached.
ENABLE_MEMCACHED=no
Он должен содержать это:
# Set this to yes to enable memcached.
ENABLE_MEMCACHED=yes
Затем, запуск memcached должен быть возможен:
$ 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
Примечание: теперь, когда memcached включен, он должен запускаться автоматически с вашей системой, каждый раз, когда вы перезагружаете ее.