Страница 1 из 3

Class 'Memcached' not found

Добавлено: 07 сен 2015, 09:38
Ashterix
Здравствуйте.
Искал на форуме и в интернетах, но не нашёл подобной темы. Если вопрос уже обсуждался, прошу направить в нужную тему.

Строка
<?php
$memcached = new Memcached();
вызывает ошибку
Fatal error: Class 'Memcached' not found in ...

Windows7 Professional SP1
Версия OpenSerder 5.2.2
Сборка
PHP-5.6
Apache-2.4
Memcached-1.2 (пробовал и Memcached-1.4)

Сервер запускается без проблем.
memcached.exe появляется в процессах.
phpinfo() показывает, что путь c:\openserver\modules\memcached\Memcached-1.2; прописан в переменных окружения, но больше никаких упоминаний "memcached" не встречается, но есть целый блок настроек "memcache". На сколько я понимаю, это разные вещи.

Почему в настройках openserver указан модуль Memcached, а по факту получается Memcache без d?
Существует ли какой-то костыль, чтобы в итоге получить memcached?

Добавлено: 07 сен 2015, 09:57
Максим
Ashterix, для PHP существует два расширения: Memcache и Memcached. В состав Open Server включено расширение Memcache. Вы же пытаетесь вызвать Memcached, которого нет. PHP код для работы с расширениями немного отличается, например:
$memcache = new Memcache;
$memcacheD = new Memcached;
$memcache->addServer($host);
$memcacheD->addServers($servers);
Ashterix писал(а):Почему в настройках openserver указан модуль Memcached, а по факту получается Memcache без d?
Модуль не имеет никакого отношения к PHP расширениям. Это разные вещи.
Ashterix писал(а):Существует ли какой-то костыль, чтобы в итоге получить memcached?
Насколько я знаю memcached расширения для Windows нет.

Добавлено: 07 сен 2015, 10:29
Ashterix
Максим, спасибо за быстрый ответ.
Максим писал(а):Модуль не имеет никакого отношения к PHP расширениям. Это разные вещи.
Понятно.
Максим писал(а):Насколько я знаю memcached расширения для Windows нет.
Знал об этом. Но надеялся, что может информация устарела и что-то появилось.
Максим писал(а): PHP код для работы с расширениями немного отличается, например:
$memcache = new Memcache;
$memcacheD = new Memcached;
$memcache->addServer($host);
$memcacheD->addServers($servers);
.
Спасибо, я в курсе. Просто в наследство достался проект в котором используется именно memcached. Видимо придётся vagrant использовать.

Re: Class 'Memcached' not found

Добавлено: 11 ноя 2016, 13:53
S1LVER
Доброго времени суток!
Прочитал тему, вроде бы ничего нового, про это знаю. Но... если указывать Memcache - то все равно получаю ошибку о не установленном расширении.

Windows 10x64
Open Server 5.2.5x64
PHP 7
Memcached - 1.4

Re: Class 'Memcached' not found

Добавлено: 11 ноя 2016, 17:18
Максим
В комплекте с PHP7 нет этого расширения, поэтому неудивительно.

Re: Class 'Memcached' not found

Добавлено: 12 янв 2017, 13:32
aoglib
И все же, мне для разработки нужен PHP расширение Memcached, как я могу его добавить и где скачать dll или что там надо ?

P.S. на сервере debian оно идет как libmemcached5 php5-memcached

Re: Class 'Memcached' not found

Добавлено: 10 фев 2017, 13:10
konserv
Memcached для PHP7 не нашел, зато нашел Memcache (которого нет в OpenServer):
https://github.com/nono303/PHP7-memcache-dll

Было бы нелохо добавить его в OpenServer.

Re: Class 'Memcached' not found

Добавлено: 20 май 2017, 21:42
dimalondon
konserv писал(а):Memcached для PHP7 не нашел, зато нашел Memcache (которого нет в OpenServer):
https://github.com/nono303/PHP7-memcache-dll

Было бы нелохо добавить его в OpenServer.
Скачал эти файлы с ГитХаба, но никак не получается подключить Memcache. Беру, к примеру, файл php-7.1.x_memcache.dll из папки PHP7-memcache-dll-master/PHP7-memcache-dll-master/vc14/x86/ts/ переименовываю его с стандартное название php_memcache.dll и ложу в папку C:/OpenServer/modules/php/PHP-7.1/ext/

В настройках OpenServer выбираю конфигурацию:
HTTP: Apache-PHP-7+Nginx-1.0
PHP: 7.1
Memcached: 1.4

Перезагружаю OpenServer, но Memcache не работает. Помогите, что я делаю не так?
Версия OpenServer у меня установлена 5.2.6.

Re: Class 'Memcached' not found

Добавлено: 20 май 2017, 22:50
Максим
dimalondon, мало положить файлы, нужно еще в шаблон конфига прописать это расширение.

Re: Class 'Memcached' not found

Добавлено: 21 май 2017, 15:22
dimalondon
Максим, большое человеческое спасибо, все получилось!