У меня есть машина Ubuntu с запущенными nginx и memcache, и я пытаюсь использовать PHP с Memcached. я собираюсь Fatal error: Class 'Memcached' not found
.
Ini файл загружается из /etc/php5/fpm/php.ini
, и все другие дополнительные файлы .ini анализируются, кроме memcached.ini (даже после перезапуска nginx), как видно в выводе phpinfo ().
Я попытался apt-get install php5-memcache
и он прошел без ошибок. Тем не мение, pecl install memcached
не выполняется с ошибкой ниже:
In file included from /tmp/pear/temp/memcached/php_memcached.h:22:0,
from /tmp/pear/temp/memcached/php_memcached.c:47:
/tmp/pear/temp/memcached/php_libmemcached_compat.h:5:40: fatal error: libmemcached-1.0/memcached.h: No such file or directory
compilation terminated.
make: *** [php_memcached.lo] Error 1
ERROR: `make' failed
На сервере есть libmemcache в /usr/include/libmemcached
, но даже pecl install с --with-libmemcache=/usr/include/libmemcached
терпит неудачу.
Выход для php -i | grep -i memcache
как показано ниже:
/etc/php5/cli/conf.d/memcached.ini,
memcached
memcached support => enabled
libmemcached version => 0.44
Registered save handlers => files user memcached
PWD => /usr/include/libmemcached
_SERVER["PWD"] => /usr/include/libmemcached
Я не уверен, что еще проверить. Был бы очень признателен, если бы кто-то мог помочь мне что-то исправить.
Спасибо!
[ОБНОВЛЕНИЕ] Memcached работает из cli.
Я решил проблему. Единственное, что мне нужно было сделать, это перезапустить php5-fpm.
sudo service php5-fpm restart
.
Нашел это в - https://insready.com/en/blog/building-nginx-microcaching-mariadbmysql-php-fpm-debian-6-apc-memcache-drupal-7-server
Каков результат
php -i | grep memcache
Я использовал memcache для хранения сессий php, а также Magento Cache & Sessions.
Не следует путать две вещи:
Memcached -> Обратите внимание на 'd', который означает, что демон прослушивает порт номер 11211. Его можно использовать для хранения сеансов php вместо файловой системы и т. Д.
Memcache -> модуль, обычно не компилируемый с помощью php. он используется, когда вы хотите сохранить свои php-сессии в memcached.
поэтому, если php -i | grep memcache показывает, что у вас установлен memcache. Затем вам нужно установить memcached (демон), чтобы иметь возможность использовать / отправлять ему сеансы.