Как установить и использовать memcached в Windows для PHP?

Я установил memcached двоичный файл в Windows 7 и начал его как сервер.

Когда я печатаю wmic process get description, exetuablepath | findstr memcached.exe Я получаю ответ: memcached.exe c:\memcached\memcached.exe в командной строке.

Когда я пытаюсь запустить образец кода на php.net, я получаю в своем браузере:

Неустранимая ошибка: Class 'Memcache' не найден в C:\DocumentRoot\Framework\index.php в строке 3 Стек вызовов: 0.0010 335928 1. {main}() C:\DocumentRoot\Framework\index. PHP: 0

Итак, что я делаю неправильно? Я использую memcache.dll, поскольку memcached.dll для Windows не существует?

Ответ 1

Это для будущих висторов!

  • проверьте phpinfo() и проверьте, не указана ли она.
  • Если нет, проверьте, включено ли расширение в php.ini, а затем проверьте журналы ошибок apache для сообщение об ошибке! dll должен выполняться с тем же компилятором php является. (VC9 или VC6) btw, memcache.dll отлично

Вы можете получить расширение php "memcache" для использования memcached с php на окнах здесь http://downloads.php.net/pierre/

Memcached - это демон сервера, и вы можете получить его для Windows здесь http://splinedancer.com/memcached-win32/

Ответ 2

Заметка для всех, кто сталкивается с проблемами при получении memcached, работающих в Windows.

  • Для начала убедитесь, что у вас есть правильная версия memcached dll и что она доступна. Существует широкий выбор http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/ и слишком просто выбрать неправильную версию memcached!.
  • Если вы используете PHP 5.5, вам также потребуется php5.dll. Вы можете получить здесь здесь
  • Вам может потребоваться изменить настройки среды PATH, чтобы эта DLL была найдена. Перейдите в раздел Мой компьютер- > Свойства- > расширенный и нажмите "Переменные среды", чтобы просмотреть/отредактировать путь. Вам необходимо перезагрузить компьютер, если вы его отредактируете.
  • Убедитесь, что сервер memcached установлен. Ctrl + Alt + Del и проверьте, что memcached присутствует в вашем списке услуг.
  • Если вам не нужно * установить его из приглашения Cmd запуститься как администратор (из меню "Пуск" выберите "Аксессуары", нажмите "Командная строка" и выберите "Запуск от имени администратора" ) c:\pathtomemcached\memcached.exe -d install
  • следуйте за ней с помощью c:\pathtomemcached\memcached.exe -d start или net start "memcached Server". При моей установке первая не работает.
  • Аналогично, я не могу запустить memcached со вкладки "Службы" диспетчера задач
  • Удобно играть с memcached на низком уровне, поэтому включить telnet, если требуется, и из типа командной строки телнет. Теперь откройте порт 11211 и попробуйте использовать memcached
  • Также полезно иметь возможность следить за тем, что происходит в memcached. phpMemCacheAdmin - лучший инструмент для работы

Ответ 3

Исходя из комментариев, я предполагаю, что вы не загрузили и не установили memcached, но успешно установили модуль memcached для PHP. В принципе, вы получили ключи от машины, но не имеете автомобиля.

memcached построен для Linux, но он переносится другими пользователями в Windows. Этот учебник устарел, но это может быть то, что вы ищете: http://www.codeforest.net/how-to-install-memcached-on-windows-machine